
JVM
文章平均质量分 77
dmfrm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java虚拟机工作原理详解
一、类加载器首先来看一下Java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plain copyjavac YourClassName.java转载 2016-11-20 21:21:14 · 403 阅读 · 0 评论 -
Java内存区域分布
(1)概述Java虚拟机所管理的内存包括以下运行时数据区域方法区和堆为线程共享区域虚拟机栈、本地方法栈、程序计数器为线程隔离区域,每一个线程都是独立的(2)程序计数器 程序计数器(Program Counter Resister)是一块较小的内存空间,可以看做是当前线程所执行的字节码行号指示器。虚拟机的字节码解释器工作时就是通过改变这个计数器的值来选取吓一跳执行的字节码的指令、分支、循环...原创 2018-03-21 19:38:47 · 1989 阅读 · 0 评论 -
Java虚拟机如何判断对象可以被回收
垃圾收集器如何判断一个对象已经“死去”,能够回收这块内存呢?通常有引用计数法和可达性算法。(1)引用计数法 简单的说就是给对象添加一个计数器,每当有一个地方引用它时,计数器就加1;当引用失效,计数器就减1;任何时刻计数器为0的对象,就是不可能再使用的。优点:效率高,实现简单缺点:无法解决对象之间循环引用的问题(2)可达性算法 算法的基本思想是通过一系列的成为“GC Ro...原创 2018-03-21 20:31:40 · 2542 阅读 · 1 评论 -
Java虚拟机垃圾收集算法简介
看本篇博客之前,请先看上篇讲解 Java虚拟机如何判断对象可以被回收,了解如何判断对象是否生存。(1)标记清除算法 这个是最基础的收集算法(Mark-Sweep),算法分为“标记”和“清除”两个阶段,首先标记处所有要回收的对象,在标记完成之后,统一回收所有被标记的对象。优点:算法简单缺点:效率低,标记和清除效率都不高;标记清除之后,会产生大量的不连续的内存碎片(2)复制算法 ...原创 2018-03-21 22:03:39 · 328 阅读 · 0 评论 -
Java虚拟机性能监控与调优
JDK本身提供了很多工具,来帮助我们来定位问题,一般分为命令行工具和可视化工具。(1)jps:虚拟机进程状况工具 jps(JVM Process Status Tool)功能和Linux系统的ps命令类似,可以列出正在运行的虚拟机进程,并显示虚拟机主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机的唯一的ID,也就是PID。 命令格式: ...原创 2018-03-21 22:52:43 · 391 阅读 · 0 评论 -
JVM虚拟机垃圾收集器
一、概述 前面讲解了JVM的垃圾收集算法,JVM内存分为新生代和老年代,新生代对象存活周期短,GC非常频繁,一般被称为Minor GC;而老年代对象存活的时间比较长,一般被称为Major GC;Major GC速度一般比Minor GC速度慢10倍以上。垃圾收集器组合 新生代收集器:Serial、ParNew、Parallel Scavenge;...原创 2018-04-20 22:14:30 · 453 阅读 · 1 评论