- 博客(2)
- 收藏
- 关注
原创 JVM对象
JVM对象的内存分配1.检查加载验证待创建对象的类是否被JVM加载过,没有会先进行加载,如果已加载会记录在堆中。2.分配内存JVM内存分配有指针碰撞和空闲列表两种方式,取决于JAVA堆是否规整指针碰撞:内存规整,一边存放使用过的内存,一边使用未使用的内存,中间一个指针作为分界点的指示器。需要分配内存就移动指针。空闲列表:内存不规整,已使用的内存和未使用的内存交错,此时虚拟机需要维护一个列表来记录那些内存可用。分配内存是需要找到一块足够大的内存。JAVA是多线程的,JVM不会使用单线程去创建
2020-11-26 17:53:02 67 1
原创 JVM内存结构
JVM内存区域JVM运行时数据区根据结构可以划分为线程共享和线程私有,根据结构主要划分为 堆、虚拟机栈、本地方法栈、方法区、程序计数器。1.堆堆是JVM上最大的内存区域,申请的几乎所有的对象都是在堆上,垃圾回收操作的主要对象就是堆(堆又分为新生代和老年代,新生代又分为分为Eden区和Survivor区,Survivor 划分为 From Survivor 和 To Survivor)2.虚拟机栈虚拟机栈每个线程私有,线程运行时会将每个方法都打包成一个栈帧,方法完成时出栈。栈帧又包括局部变量表(储存
2020-11-19 21:04:13 119 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人