本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- 龙儿筝
- arpenker
- tanling8334
- kaizi1992
- gaojingsong
- xpenxpen
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- lemonhandsome
- luxurioust
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
- mwhgJava
- lich0079
最新文章列表
Java GC的过程
一.如何判断对象“已死”,目前主要有两种主流的算法
1.引用计数算法
给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就+1,当引用失效时,计数器就-1,任何时候,计数器为0的对象就是不可能再被使用的。但是这种算法很难解决对象间互相循环引用的问题:
A a = new A();
A b = new A();
b.instance = a;
a.instance ...
jstat 详解
jstat
1. jstat -gc pid
可以显示gc的信息,查看gc的次数,及时间。
其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
2.jstat -gccapacity pid
可以显示,VM内存中三代(young ...
JVM学习笔记(三):JVM的垃圾回收
注:本文根据《深入理解Java虚拟机》第3章部分内容整理而成。
一.如何判断对象是否需要回收?
堆中几乎放着java世界中的所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。而如何判断对象是否应该回收,存在两个算法:引用计数算法(Reference Counting)和根搜索算法(GC ...
虚拟机垃圾收集学习准备
准备再认真学习GC相关的知识,现考虑学习:
内存分配策略(这里主要是指对于堆的内存分配管理)
主要考虑原则:吞吐量、碎片率
通用策略:操作系统教科书上有涉及
最先匹配
最优匹配
伙伴系统
等等
linux-libc现行实现:
ptmalloc(fastbin:考虑到了换页)
dlmalloc(无fastbin)
GC理论:图书:Garbage Colle ...
Java -verbose:gc 命令
Java -verbose:gc 中参数-verbose:gc 表示输出虚拟机中GC的详细情况.
使用后输出如下:
[Full GC 168K->97K(1984K), 0.0253873 secs]
解读如下:
箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据198 ...
《实战HotSpot JVM GC》分享Slides
前阵子在QClub上海站做了一个与JVM GC优化相关的分享,大家的反响还不错,对这个话题都比较感兴趣,于是把Slides分享到了SlideShare上,希望对大家有帮助。
P.S.
没找到怎么在博客里编辑HTML的地方,嵌不了SlideShare的东西,请访问:《实战HotSpot JVM GC》
《java performane》第四章读书笔记
第四章----- java performance monitoring
一, 垃圾回收机制
1,监控点:1)使用的垃圾回收策略
2)JAVA HEAP大小
3)年轻代与年老代,持久带空间大小
4)minor ...
SWT中GC的Clipping用法
在使用SWT的GC画图的时候,你希望在画一个不规则的图形的时候,你可以使用GC的setClipping方法进行相应绘图. setClipping是结合Region来使用的.
因为Region是可以根据描点,描线,切割,拼凑等操作组合任意图形
GC有几个关于Clipping的方法:
setClipping(Region r) 通过r,约束gc能画的区域
import org.ecl ...
System.gc和System.runFinalization区别
System.gc();
//告诉垃圾收集器打算进行垃圾收集,而垃圾收集器进不进行收集是不确定的
System.runFinalization();
//强制调用已经失去引用的对象的finalize方法
System.gc(); hints the VM that it is probably time to activate the Thread doing to the Garbage C ...
JVM学习笔记3--分代
1.共划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)
2.年轻代
引用
所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。,两个年轻代分三个区。一个Eden区Survivor区(一般而言)。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被 ...