
Java 虚拟机
文章平均质量分 74
jacksonary
备忘录
展开
-
关于System.gc()和finalize()
在垃圾回收过程中,关于对象何时被回收一直是一个不能确切回答的问题,虚拟机在处理待回收对象时,首要问题是判定对象的生死,主流的java虚拟机都是采用的可达性分析算法来判定对象的生死,当然更广为人知的是一种叫做引用计数算法的方式(但是由于它在无法处理循环引用的问题,所以极少在虚拟机中被运用,但也有成功案例,比如微软的COM、FlashPlayer)。 在可达性分析算法中,具体来看其实是有两次标记...原创 2018-05-15 10:29:09 · 1552 阅读 · 0 评论 -
关于JDK的Server和Client模式的切换
折腾JVM时遇到的点,这里记录一下,首先查看下自己的JVM是以什么模式启动的,启动DOS窗口,通过java -version命令查看(没有错,就是我们初识Java的第一个命令(´ー∀ー`)),结果如下: 从上述结果可以看到目前我机器上的jdk版本是64位的1.8.0_101,使用的是JVM是64位的HotSpot,再往后就是我们需要的信息了,Server VM,说明目前这个虚拟机是运行在S...原创 2018-05-16 11:01:02 · 9753 阅读 · 2 评论 -
JVM学习记录
一、JVM的自动内存管理机制 JVM在运行java程序时,将把他所管理的内存划分为若干个不同的数据区,每个数据区都有各自的用途和生命周期,JVM管理的内存主要包括下图的几个区域: 各个内存区域的作用如下: 程序计数器:它是一块较小的内存区域,用于记录当前线程所执行的字节码行号指示器,线程私有。在字节码解释器工作时就是通改变程序计数器来选取下一条需要执行的字节码命令,分支、循环、跳转基...原创 2018-07-11 11:50:18 · 438 阅读 · 0 评论