JAVA虚拟机
风里来云里去
这个作者很懒,什么都没留下…
展开
-
老年代的垃圾回收要点
需要留意新生代的内存回收算法是mark copy(标记复制)算法,老年代的是标记回收算法。 默认的PS算法,CMS需要显示设置。 PS(Parallel Scavenge)垃圾收集器: 1 垃圾回收阶段暂停当前的java程序 2 采用标记清楚算法回收空闲空间 3 回收后执行碎片整理,把空闲空间后移 CMS(Concurrent Mark Sweep)垃圾收集器 3次标原创 2015-11-05 15:38:07 · 1861 阅读 · 0 评论 -
Java 虚拟机中的存储的理解 堆栈 GC
栈 主要存放基本类型数据和对象的引用 堆 主要存放对象实体 新生带(New generation)使用的垃圾收集器叫MninorGC,新生代由Eden Space和两块相同大小的Survivor Space(FromSpace和ToSpace)组成,后两者主要用于Minor GC时的对象复制。 老年带(Old generation)使用的垃圾收集器叫FullGC ,当新生代中原创 2015-09-19 17:52:47 · 695 阅读 · 0 评论 -
几种GC内存回收机制概要
几种GC:后续再继续补充。 MinorGC: FullGC: cmsGC:CMS(concurrent mark sweep并发清除标记),cmsGC主要是针对老年代中的垃圾回收。启用CMS需要在JVM设置–XX:+UseConcMarkSweepGC。 CSDN的博客发布有些落后,字体什么的控制很麻烦,后续计划搬迁到博客园。原创 2015-09-20 18:05:02 · 628 阅读 · 0 评论 -
关于Java虚拟机性能调优方法的一些分析
关于性能调优: 1 需要一个性能探测器,找到调用最频繁的代码段,优化这部分代码(优化算法) 2 往往1%的代码运行时间占99%。所以优化这些代码就能事半功倍。 3 最好是能看懂编译后的代码,这样分析最彻底。 Java的性能分析使用JProfiler 堆栈分析使用的Jstack Java性能调优 SSH框架优化以适应特定的项目 一、JVM调优 1 各种垃圾回收算法及其优劣; 2原创 2015-09-21 00:41:15 · 2106 阅读 · 0 评论 -
Java的虚拟机存储 堆栈与GC概要
Java中的内存主要分为栈、堆、常量池、静态域这几部分。 1栈主要存放基本类型数据(int、double、……)和对象的引用(类似C语言的指针)。 2堆主要存放对象实体。而Java的对象是数据处理的核心,因而堆又具体划分为如下几个部分: 1.1 新生带(),使用的垃圾收集器是MinorGC,而新生带又划分为Eden Space(伊甸区)、2个SurvivorSpace幸存者区(FromSp原创 2015-09-20 17:51:55 · 680 阅读 · 0 评论 -
Java 垃圾回收机制 GC的算法和操作
GC原理与策略:Young GC(Serial,ParNew, PS), Full GC(Serial, P MSC, PC, CMS); OutOfMemory 垃圾回收机制: 新生代的垃圾回收机制: 主要基于Copying算法进行回收,采用空闲指针的方式控制GC的触发,当有新对象要分配时,检查空间是否足够,如果不够就触发一次新生代GC. 在执行机制上JVM提供原创 2015-09-21 20:24:00 · 445 阅读 · 0 评论 -
Java虚拟机垃圾回收的几个关键问题
20151008 GC的几个关键问题,触发条件,触发的机制 主线是数据的移动,从什么位置到什么位置,移动的条件是什么? 1 垃圾收集在什么时候触发? GC都是在带满了的时候触发的,每次触发都是把不会用的不可达的对象空间回收了,留下还在用的对象。 1) MinorGC的触发是伊甸园空间满的时候 2) FullGC的触发是在老年代满的时候 2 垃圾回收的时候做哪些工作? 1)原创 2015-10-08 16:01:46 · 432 阅读 · 0 评论 -
Java虚拟机调优工具 jstack
参考这位大姐的 http://www.cnblogs.com/alipayhutu/archive/2012/08/20/2647353.html 常用具体参数如下: -class:统计class loader行为信息 -compile:统计编译行为信息 -gc:统计jdk gc时heap信息 -gccapacity:统计不同的generations(包括新生区,老年区,pe转载 2015-09-22 15:39:43 · 494 阅读 · 0 评论 -
几种垃圾收集算法的简单理解
Java常用垃圾收集算法的简单理解: 1 引用计数算法(Reference Counting) 对象每被引用一次增加一次计数,删除一次引用减少一次计数。垃圾回收的时候如果引用为0,则执行回收。 2 标记清除算法(Mark-Sweep) 内存碎片较多 分两个阶段,标记阶段从根节点标记哪些对象还在被应用,清除阶段清除没被标记的对象。 3 复制算法(Copying)不会出现内存碎片 内存分成原创 2015-10-31 17:07:00 · 690 阅读 · 0 评论