最新文章列表

jvm的对象生存策略及GC

jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。 HotSpot虚拟机GC算法采用分代收集 ...
Tomzheng 评论(0) 有377人浏览 2016-08-17 10:52

[转] JVM gc参数设置与分析

原文: http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5 gc日志分析工具: http://qa.blog.163.com/blog/static/19014700220128199421589/ Java GC 日志图解: http://www.chinasb.org/archives/2012/09/4921.sh ...
study121007 评论(0) 有1508人浏览 2016-07-29 17:12

JVM-GC笔记(二)--- 对象如何回收

    首先,目前主流的JVM实现中都采用了分代收集的算法,我们常常听到的新生代,老年代就是基于这个算法。     新生代:存放那些朝生夕死的对象     老年代:存放存活时间超过指定数值的对象     还有永久代,也就是方法区。存放了类结构,静态数据等,此区域JVM规范中并不要求回收。     1,标记-清除算法        原理:通过可达性分析标记无效对象,然后清除。        问题:产 ...
lovexy 评论(0) 有389人浏览 2016-07-25 22:59

JVM-GC笔记(一)--- 什么对象需要回收

JVM对对象进行回收的前提是必须知道哪些对象是无效的,需要被回收的。 显而易见的是,需要被回收的对象就是那些已经无法访问的对象,即引用被解 ...
lovexy 评论(0) 有432人浏览 2016-07-25 22:44

java gc

1: java 中类加载器加载的类 是放在 pergeneration, 所以纸造过多的classloader去加载类, 会形成过多的类对象存在pergeneration中,最终会造成gc的负担, 因为perm generation 的收集需要full gc。
gc 
lyp2002924 评论(0) 有576人浏览 2016-05-17 16:08

通过gc日志分析新生代的晋升大小

下面是分析gc日志中,每次ParNew GC时,新生代晋升大小的脚本。这个脚本可以帮助定位某段时间是否有大量新对象产生,导致晋升频繁: cat gc.log |grep " \[ParNew: " |awk '{print $1" "$6" "$9}' |awk -F'K' '{print substr($1,1,29)" & ...
blueswind8306 评论(0) 有1590人浏览 2016-04-20 22:22

深入理解ReferenceQueue GC finalize Reference

        先说一些基本的东西,GC只负责对象内存相关的清理,其他资源如文件句柄,db连接需要手动清理,以防止系统资源不足崩溃。System.gc()只是建议jvm执行GC,但是到底GC执行与否是由jvm决定的。          一个正常的对象的生命周期:当新建一个对象时,会置位该对象的一个内部标识finalizable,当某一点GC检查到该对象不可达时,就把该对象放入finalize ...
bijian1013 评论(0) 有994人浏览 2016-04-09 23:34

spark 中GC的调优

注:本文转自:http://www.csdn.net/article/2015-06-01/2824823 按照经验来说,当我们配置垃圾收集器时,主要有两种策略——Parallel GC和CMS GC。前者注重更高的吞吐量,而后者则注重更低的延迟。两者似乎是鱼和熊掌,不能兼得。在实际应用中,我们只能根据应用对性能瓶颈的侧重性,来选取合适的垃圾收集器。例如,当我们运行需要有实时响应的场景的应用时,我 ...
snwz 评论(0) 有1351人浏览 2016-03-14 11:02

java虚拟机垃圾回收机制

http://jefferent.iteye.com/blog/1123677 http://www.blogjava.net/ldwblog/archive/2013/07/24/401919.html http://www.infoq.com/cn/articles/GC-Log-Uncovers-Pause?utm_campaign=rightbar_v2&utm_source=inf ...
qiangcz 评论(0) 有514人浏览 2016-01-26 09:15

JAVA虚拟机-JVM深入分析整理-程序问题分析(十)

1.字符串存在哪里? 如下代码,aaa,bbb,ccc内容到底存储在哪里呢:   public class JvmString { public static void main(String[] args) throws InterruptedException { String s1 = "aaa"; String s2 = "bbb& ...
yanan0628 评论(0) 有1486人浏览 2015-12-31 10:44

JAVA知识体系及虚拟机(全)

 JVM要点讲解图: 本次课程主要从以下几个部分讲解:   1.JAVA基本结构 1.1 JAVA逻辑结构图 1.2 java编译和执行流程  1.2.1 Java代码编译器流程   ...
yanan0628 评论(1) 有1795人浏览 2015-12-26 00:20

jconsole, jstat, jmap, jstack, gc

    通过工具jconsole查看: 直接执行命令:jconsole即可,通过jconsole可以手动执行gc,检测死锁,查看内存信息   一:分析死锁:   参考资料(http://www.cnblogs.com/ilahsa/archive/2013/06/03/3115410.html)   模拟死锁代码:DemoServiceImpl.java   package ...
dreamoftch 评论(0) 有1093人浏览 2015-11-05 14:09

关于Sun HotSpot JVM的相关要点

关于Sun HotSpot JVM的相关要点: 1、JVM的模式: (1).-server==>优化模式,启动时慢,但运行时快,比client性能高,一般的web应用都建议JVM用此模式。 (2).-client ==>GUI时用此模式好,启动应用时比-server模式快。 (3).-Xint ==>解释器模式 JVM默认的模式,可以通过java -version查看。 2、JVM ...
can_do 评论(0) 有637人浏览 2015-10-29 20:50

java源码分析之--ArrayList

    有感于现在开发到了一个瓶颈,表现为对于一般的业务,能进行开发,但是只要业务稍微变化点,代码就需要进行大的改动,代码也写的比较烂,自己都不想去看自己写的代码了。于是现在准备分析下java的源码,试图提高自己的编程能力。     现在开始付诸行动。     首先是将src包解压,然后导入到IDE中。目前只分析了下ArrayList,到现在还没有看完,不过确实感觉代码写的不错,以前从没考虑的gc, ...
heshifk 评论(0) 有1061人浏览 2015-10-07 17:29

【Do家】深入理解JVM

1、JVM运行时数据区 >>>解释如下: JVM运行时数据区==>5块==>Heap、MethodArea(RuntimeConstantPool)||MetaSpace、VMStack、NativeMethodStack、ProgramCounterRegister ...
can_do 评论(0) 有643人浏览 2015-09-23 13:33

jvm GC学习

Java GC 日志详解 Java GC日志可以通过 +PrintGCDetails开启 以ParallelGC为例 YoungGC日志解释如下   FullGC 一目了然,一图胜千言   对应的参数列表 -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳 ...
youyanweixiao 评论(0) 有705人浏览 2015-07-11 12:23

笔者带你剖析大规模分布式Java平台JVM性能调优基础

《笔者带你剖析大规模分布式Java平台JVM性能调优基础》   前言 其实说到对JVM进行性能调优早已是一个老生常谈的话题,如果你所在的技术团队还暂时达不到淘宝团队那样的高度,无法满足在OpenJDK的基础之上根据自身业务进行针对性的二次开发和定制调优,那么对于你来说,唯一的选择就是尽可能的熟悉JVM的内存布局,以及熟练掌握与GC相关的那些选项配置,否则JVM的基础性能调优不是痴人说梦? ...
gao_xianglong 评论(1) 有5296人浏览 2015-06-30 16:57

什么是GC Roots

GC Root   常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。 一个对象可以属于多个root,GC root有几下种: Class - 由系统类加载器(system class loader)加载的对象,这些类是不能够被 ...
leobasic 评论(0) 有1656人浏览 2015-06-29 18:29

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics