随笔分类 - JVM
摘要:1 JDK7和JDK8将字符串常量池存放在了堆中 字符串常量池string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在堆中存放的,string pool实现为哈希表。 public class TestStringPool { //-Xms5m -Xmx5m -XX:-UseGC
阅读全文
摘要:JVM默认的三个类加载器 AppClasLoader 系统类加载器 ExtClassLoader 扩展类加载器 BootstrapClassLoader 根类加载器 (由C++实现,在控制台打印出来的是null) 他们加载的jar包所在的路径不同 父委托机制 Invoke findLoadedCla
阅读全文
摘要:内存模型粗略划分为:堆和栈 详细划分为:堆,栈,本地方法栈,方法区,程序计数器 堆: 存放对象实例 栈: 每创建一个线程,都会为他分配内存空间作为他的栈,当方法执行时,会生成对应的栈帧(局部变量表、操作数栈、动态链接、方法出口),每一个方法被调用直至执行完成的过程,就对应着一个栈帧在栈中从入栈到出栈
阅读全文
摘要:类的加载分为三个阶段,加载 >链接 >初始化 类加载的过程 将class表示的二进制文件加载到内存,放在方法区中,并在堆中创建一个java.lang.Class对象(封装的是class的数据结构) 类的主动使用,会加载类 1 new Test() 2 对类中的静态变量进行读写,对接口中的静态变量进行
阅读全文

浙公网安备 33010602011771号