
JVM
文章平均质量分 90
日久时见心
不忘初心,继续前行,坚持坚持坚持!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
04-hotspot-gc收集器
HotSpot 垃圾收集器垃圾回收有三个阶段:标记阶段: 引用计数算法(java未使用),可达性分析算法(java使用)清除阶段:回收阶段:垃圾是指运行程序里没有任何指针的指向的对象,这个对象也就需要被回收。finalizatio机制:java提供给程序员在回收垃圾对象前的自定义逻辑处理。HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。新生代垃圾收集器Seri原创 2021-05-04 09:26:02 · 259 阅读 · 0 评论 -
03-gc垃圾收集策略和算法
垃圾收集策略与算法程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。而对于 Java 堆和方法区,我们只有在程序运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的正是这部分内存。判定对象是否存活若一个对象不被任何对象或变量引用,那么它就是无效对象,需要被回收。引用计数法在对象头原创 2021-05-04 09:17:55 · 215 阅读 · 0 评论 -
02jvm-对象布局
HotSpot 虚拟机对象虚拟机对象的创建方式newClass的newInstance():反射的方式,只能调用空仓构造函数,权限必须是publicConstructor的NewInstance(Xxx):反射的方式,可以调用空仓,有参构造函数,权限没有要求clone()不调用构造函数,当前类需要实现cloneable接口并实现clone()方法使用反序列化:从文件或者网络获取二进制流第三方库Objenesis创建对象步骤1.判断对象是否加载,连接,初始化:当虚拟机遇到一条new指原创 2021-05-04 09:11:27 · 233 阅读 · 0 评论 -
01-jvm内存结构
JVM 内存结构Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。程序计数器(PC 寄存器)程序计数器的定义程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址。若当前线程正在执行的是一个本地方法,那么此原创 2021-05-04 09:07:26 · 215 阅读 · 1 评论