![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
小马不奔腾
这个作者很懒,什么都没留下…
展开
-
深入理解JVM(五)——JVM之垃圾收集器
垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器则是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现没有任何规定。这里讨论的收集器是基于JDK1.7 Update 14 之后的HotSpot虚拟机。这个虚拟机包括的收集器如下图1.1: ...原创 2018-05-25 09:55:49 · 197 阅读 · 0 评论 -
深入理解JVM(一)——JVM之内存模型(JMM)JDK1.7
声明: 本文章说明的是JDK1.7的JVM内存模型JVM内存模型分为5个部分,分别为程序计数器,Java虚拟机栈,本地方法栈,堆,方法区。 一.程序计数器 1.什么是程序计数器? 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码行号的指示器。 2.程序计数器的作用 ...原创 2018-05-22 22:54:59 · 1071 阅读 · 3 评论 -
深入理解JVM(六)——JVM之内存分配和回收策略
本文转自:https://www.cnblogs.com/xiaoxi/p/6557473.html前言 对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参数。垃圾收集器组合一般就是Serial+Serial Ol...转载 2018-05-25 10:04:07 · 625 阅读 · 0 评论 -
深入理解JVM(四)——JVM之垃圾回收算法
在JVM规范中并没有明确GC的运作方式,各个厂商可以采用不同的方式去实现垃圾回收器。这里讨论几种常见的GC算法。 本文转载来自:https://www.cnblogs.com/cielosun/p/6674431.html2.1. 标记-清除算法(Mark-Sweep)最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。如图:...转载 2018-05-23 17:06:09 · 228 阅读 · 0 评论 -
深入理解JVM(三)——JVM之判断对象是否存活(引用计数算法、可达性分析算法,最终判定),Eclipse设置GC日志输出,引用
本文转载自https://blog.csdn.net/ochangwen/article/details/51406779本文是基于周志明的《深入理解Java虚拟机》 堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆回收之前,第一件事情就是要确定这些对象哪些还“存活”着,哪些对象已经“死去”(即不可能再被任何途径使用的对象)1、引用计数算法(Reference Counting)...转载 2018-05-23 16:54:57 · 363 阅读 · 0 评论 -
深入理解JVM(二)——JVM之对象的创建、对象的内存布局、对象的访问定位
本文转载来自: https://blog.csdn.net/u011080472/article/details/51321769对象的创建一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。主要流程如下:1. 类加载检查JVM遇到一条new指令时,首...转载 2018-05-23 09:49:55 · 302 阅读 · 1 评论 -
深入理解JVM(七)——JVM之类加载机制详解
本文转载自:https://blog.csdn.net/zhangliangzi/article/details/51319033 首先Throws(抛出)几个自己学习过程中一直疑惑的问题:1、什么是类加载?什么时候进行类加载?2、什么是类初始化?什么时候进行类初始化?3、什么时候会为变量分配内存?4、什么时候会为变量赋默认初值?什么时候会为变量赋程序设定的初值?5、类加载器是什么?6、如...转载 2018-05-28 15:03:08 · 171 阅读 · 0 评论 -
JVM——Java内存模型 (JDK1.8)
一. 程序计数器1.什么是程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码行号 的指示器。2.程序计数器的作用字节码解释器工作通过改变程序计数器的值来选取下一条需要执行的字节码指令。如:分支、循环、跳转、异常处理、线程恢复等基础功能。多线程情况下,程序计数器表示当前线程执行的位置,从而...原创 2019-02-21 16:47:18 · 2087 阅读 · 0 评论