• 2024-10-27JVM(方法区包含常量池及StringTable)
    方法区(此图省略了栈等结构,JVM结构详细图在JVM简介中,方法区中常量池应为运行时常量池)定义方法区(MethodArea)是Java虚拟机(JVM)的一部分,它与Java堆一样,是被JVM实例中所有线程共享的区域。方法区在JVM启动时创建,可以选择固定大小或允许动态扩展。这个区域的大小直接影响到系统能够
  • 2024-07-17Java面试 : String
    串池:StringTable,可以理解为一个对象数组["a","b","ab"]每一个元素都是一个字符串对象1.常量池与串池的关系Strings1="a";Strings2="b";Strings3="ab";上述代码的运行过程:常量池中的信息会被加载到运行时常量池中,这时abab都是常量池中的符号,还没有变成Java
  • 2023-10-22jvm学习总结
    jvm学习总结1、程序计数器2、虚拟机栈2.1、定义控制栈的大小Xss256kb//命令行参数2.2、线程诊断top命令查看cpu运行情况psH-eopid,tid,%cpu|grep进程ID2.3、线程死锁voidfunction(){ while(true){ //方法一直循环不断地运行 }}3、本地方法栈Java中使用native修饰
  • 2023-09-19常量池中的字符串仅是符号,第一次使用时才变为对象(加入到运行时常量池),可以避免重复创建字符串对象
    常量池中的字符串仅是符号,第一次使用时才变为对象(加入到运行时常量池),可以避免重复创建字符串对象 intern()JDK1.8:将这个字符串对象尝试放入串池,如果StringPool中:存在一个字符串和该字符串值相等,就会返回StringPool中字符串的引用(需要变量接收)不存在,会把对象的
  • 2023-07-19String
    一、概述 二、创建方式 三、内存模型 栈和方法有关堆和new(对象)有关方法区存放的是class形式的文件ps:JDK7以后有了一个StringTable(串池)专门在存储字符串;例:直接用双引号赋值优点:效率高,节省内存(因为如果该字符串在串池中已经存在,就不会再创建新的字符串,而是进行复用)