随笔分类 -  JVM

摘要:哪些内存需要回收? 什么时候回收? 如何回收? 程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭,栈中的栈针随着方法的进入和退出而有条不紊地执行者出栈和入栈操作。不需过多的考虑回收问题,当方法结束或线程结束时,内存自然就跟着回收了。 Java堆和方法区有显著的不确定性:一个接口的多个实 阅读全文
posted @ 2020-08-05 23:43 codercql 阅读(47) 评论(0) 推荐(0)
摘要:Hotspot虚拟机在Java堆中对象分配、布局和访问的全过程。 对象的创建(普通Java对象,不包括数组和Class对象) 1、当Java虚拟机遇到一个字节码new时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号的引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有, 阅读全文
posted @ 2020-08-04 23:27 codercql 阅读(114) 评论(0) 推荐(0)
摘要:运行时数据区域 1、栈 :存放值 “线程私有”且生命周期与线程相同。 每一个方法被调用直至执行完毕的过程,就对应着一个栈帧在虚拟机中从入栈到出栈的过程。 2、Java堆:存放对象 是虚拟机所管理的内存中最大的一块,被所有线程共享的一块区域,在虚拟机启动时创建,唯一目的是存放对象实例。 Java堆是垃 阅读全文
posted @ 2020-08-04 21:11 codercql 阅读(100) 评论(0) 推荐(0)