
jdk
weixin_45626756
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类加载&G1
类加载过程加载过程分为:加载、连接、初始化加载:将class文件加载到内存链接:分为了校验、准备、解析;校验:检查class文件格式是否正确、准备:为静态类变量按顺序进行默认初始化、校验:初始化:为静态变量赋初始化值类加载过程:类加载子系统将class文件加载到操作系统直接内存中生成class content,解析之后生产InstanceKlass(jvm中使用的类信息)放在方法区,解析同时生成一个镜像类InstanceMirrorKlass,InstanceMirrorKlass的实例(cl原创 2020-10-24 14:53:57 · 200 阅读 · 0 评论 -
jdk8前后内存分布的变化
内存分布变化主要集中在方法区上jdk1.6时方法区的实现是在永久代上,使用jvm的内存,方法区中包括类信息(修饰符,全类名),域信息,方法信息,静态变量(引用在永久代,变量引用对象在堆上),运行时变量池,JIT代码缓存。jdk1.7时将静态变量和StringTable(字符串常量池)移到了堆中,还保留了永久代jdk1.8开始移除了永久代,方法区的实现改为了元空间,使用本地内存,静态变量(引用和变量对象实体都在堆空间)和StringTable放在对空间中。为什么要移除永久代1.永久代大小难以确原创 2020-09-04 20:07:20 · 580 阅读 · 0 评论