摘要: 垃圾收集器与内存分配策略 虚拟机栈、本地方法栈和程序计数器随线程而生,也随线程而灭。这几个区域的内存分配与回收非常确定。 java堆和方法区则充满了不确定性。 对java对象进行回收前,需要考虑的一个问题时,哪些java对象可以被回收? 一、引用计数算法 在对象中添加一个引用计数器, 每当有一个地方 阅读全文
posted @ 2022-03-16 16:24 Mars.wang 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 二、java虚拟机对象创建 2.1.对象创建 语言层面,创建普通java对象就是new className,在虚拟机层面又是如何实现呢? 加载 当Java虚拟机遇到一条字节码new指令时, 首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用, 并且检查这个符号引用代表的类是否已被加载、 阅读全文
posted @ 2022-03-16 16:01 Mars.wang 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 一、java虚拟机内存划分 1.1.程序计数器 程序计数器是当前线程执行的字节码的行号指示器,字节码解释权通过改变这个计数器的值来选取下一条需要执行的字节码指令。它是程序控制流的指示器,分支、循环、跳转、异常处理,线程恢复都需要依赖这个计数器完成。 每个线程都有一个独立的程序计数器,独立存储、互不影 阅读全文
posted @ 2022-03-16 15:26 Mars.wang 阅读(62) 评论(0) 推荐(0) 编辑