JVM
文章平均质量分 90
axxbc123
这个作者很懒,什么都没留下…
展开
-
【JVM七】JVM知识点总结
1. JVM运行模式 1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化 1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler md...原创 2015-02-28 20:21:20 · 162 阅读 · 0 评论 -
【Java命令一】jmap
jmap命令的用法: [hadoop@hadoop sbin]$ jmap Usage: jmap [option] <pid> (to connect to running process) jmap [option] <executable <core> (to connect to a cor...原创 2015-03-07 16:51:36 · 185 阅读 · 0 评论 -
【Java命令二】jhat
jhat用于分析使用jmap dump的文件,,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。 jhat默认开启监听端口7000的HTTP服务,jhat是Java Heap Analysis Tool的缩写 1. 用法: [hadoop@hadoop bin]$ jhat -help Usage: jhat [-stack <bool...原创 2015-03-07 16:52:20 · 189 阅读 · 0 评论 -
【JVM一】JVM垃圾回收日志
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括: -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc -XX:+PrintGC 通过这个参...原创 2014-09-24 21:27:13 · 181 阅读 · 0 评论 -
【JVM二】JVM参数常用选项
-XX:+PrintFlagsFinal 使用-XX:+PrintFlagsFinal可以在JVM启动时,将有效的JVM参数及其值全部列出来 参考:http://javarevisited.blogspot.hk/2011/11/hotspot-jvm-options-java-examples.html ...原创 2014-09-24 21:45:55 · 91 阅读 · 0 评论 -
【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
CMS概述 并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。 CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执行时必须暂停用...原创 2014-09-27 00:17:09 · 761 阅读 · 0 评论 -
【JVM四】老年代垃圾回收:吞吐量垃圾收集器(Throughput GC)
吞吐量与用户线程暂停时间 衡量垃圾回收算法优劣的指标有两个: 吞吐量越高,则算法越好 暂停时间越短,则算法越好 首先说明吞吐量和暂停时间的含义。 垃圾回收时,JVM会启动几个特定的GC线程来完成垃圾回收的任务,这些GC线程与应用的用户线程产生竞争关系,共同竞争处理器资源以及CPU的执行时间。GC线程不会对用户带来的任何价值,因此,好的GC应该占用资源少,执行快,在不显...原创 2014-09-27 12:02:06 · 1071 阅读 · 0 评论 -
【JVM三】新生代垃圾回收
JVM将堆空间划分为新生代和老年代,如此花费是为了更高效的进行垃圾回收。 简化创建对象的内存分配,新创建的对象都会放到新生代 针对新生代和老年代的特点,使用不同的垃圾回收策略。 面向对象编程中的对象,广泛的研究表明,对象大多是朝生夕死,并且已经在JVM上存活较长时间的对象很少引用新生的对象,基于这两方面的原因,把新生对象放到新生代,GC可以更快查找可以被回收的对象 新生代的区...原创 2014-09-30 13:15:27 · 814 阅读 · 0 评论 -
【JVM六】Java内存管理
一、如下图所示,左右两部分是堆和非堆。堆空间包括新生代和老年代。永久代位于非堆,但是Sun/Oracle的HotSpot JVM将垃圾回收延伸到了永久代(即使永久代不属于堆区,但是它也进行GC)。 需要明确个问题:代码区是否就是永久代? 对于习惯在HotSpot虚拟机上开发和部署程序的开发者来说,很多人愿意把方法区称为“永久代”(Permanent Generation),本质...原创 2014-09-30 14:45:13 · 91 阅读 · 0 评论