JVM
chiweitree
码农
展开
-
一句话解释JVM中空间分配担保的问题
先解释YGC:当对象生成在EDEN区失败时,出发一次YGC,先扫描EDEN区中的存活对象,进入S0区,S0放不下的进入OLD区,再扫描S1区,若存活次数超过阀值则进入OLD区,其它进入S0区,然后S0和S1交换一次。那么当发生YGC时,JVM会首先检查老年代最大的可用连续空间是否大于新生代所有对象的总和,如果大于,那么这次YGC是安全的,如果不大于的话,JVM就需要判断Handle原创 2013-08-22 16:24:23 · 6020 阅读 · 4 评论 -
JAVA-JVM垃圾回收算法简介
1、引用计数法顾名思义,引用计数法就是对堆中的所有对象的引用进行计数,当这个计数为0时,表明该对象已经不被引用了,那么垃圾回收器则对其进行回收,每个对象都配备一个整型的计数器,负责记录该对象的引用次数,只要有任何一个对象引用了A对象,则A对象的计数器+1,当引用失效时,引用计数器-1,为0回收。但是这种情况,不能回收循环引用的情况,比如A对象引用了B对象,B对象引用了A对象,且堆中没有其它原创 2012-11-23 07:07:35 · 936 阅读 · 0 评论 -
JVM中内存回收深入分析,各种垃圾收集器解释分析
JVM启动有两种模式,client和server一般JVM启动时会根据主机情况分析选择采用那种模式启动可发现是server模式JVM中尤其需要关注的就是HEAP堆区堆区分为新生代和老年代新生代分为eden,s0,s1老年代就Old什么时候出发垃圾回收呢?当新对象在eden区分配失败时就会触发一次YGC,即新生代的垃圾回收,eden区中的存活对象进入s0,s0若放原创 2013-08-22 15:11:49 · 1602 阅读 · 0 评论 -
JVM参数调整,经验分享,转载自撒迦
0、各参数的默认值 在讨论HotSpot VM的各参数的陷阱前,大家应该先了解HotSpot VM到底有哪些参数可以设置,这些参数的默认值都是什么。 有几种办法可以帮助大家获取参数的信息。首先为了大致了解都有些什么参数可以设置,可以参考HotSpot VM里的各个globals.hpp文件:(以下链接取自HotSpot 20.0,与JDK 6 update 25对应) globals.hpp gl转载 2013-08-28 10:05:58 · 2113 阅读 · 0 评论 -
【JAVA】JAVA应用程序以及JVM性能调优实例
项目背景,数据库A表分库,分库字段为AID第一、通过visualvm监控对CPU进行远程抽样,可以得到你所监控的package下各个方法的执行时间,从而进行针对性的调优以上可以进行抽样,右边可以设置你想抽样的package同时监视器tab,可以观察CPU,堆内存等情况,主要看堆内存,可以观察YGC的频率。在我的真实案例中发现抽样的时间最长在A原创 2015-07-29 08:48:30 · 1674 阅读 · 0 评论 -
【JVM】初识JAVA工具JMC,java mission control,飞行记录器(黑匣子),IBM heapAnalyzer使用
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。直接上图,大家自己去实践一下吧,数据比visualvm数据更加丰富,但是这些数据怎么看还得慢慢摸索呢,真是一个利器啊!Java Mission Control飞行记录器在JVM...原创 2016-10-25 15:54:37 · 31298 阅读 · 3 评论