
JVM
文章平均质量分 71
但觉
没有人会漫无目的地旅行,那些迷路者是希望迷路。
展开
-
深入理解JVM虚拟机学习笔记(—)内存区域与内存溢出异常
Java 虚拟机所管理的内存包括以下几个运行时数据区域: 程序计数器程序计数器是一块较小的内存空间,它的作用是可以看做是当前线程所执行字节码的行号指示器。在虚拟机模型里,通过改变计数器的值选取下一条需要执行的字节码指令。 Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,因此为了线程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器。各个线程之间的计数器互原创 2017-02-05 08:30:53 · 368 阅读 · 0 评论 -
深入理解JVM虚拟机学习笔记(二)垃圾收集器与垃圾收集算法
在进行垃圾收集之前得先确定哪些对象是死的哪些对象是活的?引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时计数器值减1,任何时刻,计数器都为0的对象就是不可能再去使用的。 但是Java语言没有使用引用计数法来管理内存,其中主要原因是很难解决对象之间循环引用的问题。根搜索算法通过一系列的名为GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的原创 2017-02-05 11:16:28 · 392 阅读 · 0 评论 -
深入理解JVM虚拟机学习笔记(三)内存分配和回收策略
大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间进行分配时,虚拟机将发起一次Minor GC。 新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多具有朝生夕灭的特性,所以Minor GC 非常频繁,一般回收速度也比较快。 老年代GC(Full GC/Major GC):指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Mino原创 2017-02-05 19:44:30 · 459 阅读 · 0 评论 -
深入理解JVM虚拟机学习笔记(四)虚拟机性能监控和故障处理工具
jps:虚拟机进程状况工具可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称,以及这些进程本地虚拟机的唯一ID(LVMID)。对于本地虚拟机进程来说,LVMID与操作系统的进程ID是一致的。 jps命令格式:jps [options] [hostid] jstat:虚拟机统计信息监视工具是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集J原创 2017-02-09 16:45:29 · 512 阅读 · 0 评论