jvm
文章平均质量分 86
墨丶亦轩
这个作者很懒,什么都没留下…
展开
-
【Java】深入理解JVM学习笔记(一) —— JVM数据区域
JVM结构图程序计数器 是一块较小的内存空间。当前线程所执行的字节码的行号指示器。字节码解释器工作原理 通过改变计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等操作都需要依赖计数器JAVA多线程实现方式 线程之间轮流切换并分配处理器执行时间实现的运行Java方法时,执行虚拟机字节码指令地址。 运行Native方法时,计数器则为空(undefine原创 2017-04-13 14:57:50 · 401 阅读 · 0 评论 -
【Java】深入理解JVM学习笔记(二) —— 对象
【问题一】程序通过new一个普通对象的时候,虚拟机进行了哪些操作? 解答: ①首先检查这个指令的参数是否能在常量池中定位到这个类引用 ②并且检查这个符号引用代表的类是否被加载、解析、初始化过③若没有加载,必须执行相应类的类加载过程④虚拟机为新生对象分配内存(对象所需内存大小,在类加载时间可以完全确定)④ 分配内存 为对象分配大小相当于把一块确定大小的内存从Java堆中划分出来。假设J原创 2017-04-13 16:12:41 · 259 阅读 · 0 评论 -
【Java】深入理解JVM学习笔记(三) —— GC收集器和内存分配
判断对象是否存活引用计数算法 很多判断对象是否存活的方式就是引用计数算法:给对象添加一个引用计数器,每当一个地方引用它,计数器+1;引用失效,计数器-1。 任何时刻计数器为0的对象是不可能再被使用的。 Java虚拟机没有使用主流的引用计数法管理内存。主要原因是难以解决对象之间相互循环引用的问题classA.instance = classBclassB.instance = classA原创 2017-04-17 14:26:05 · 546 阅读 · 0 评论