本月博客排行
-
第1名
wy_19921005 -
第2名
mft8899 -
第3名
java-007 - Anmin
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
benladeng5225 - wy_19921005
- vipbooks
- 青否云后端云
- kaizi1992
- e_e
- tanling8334
- sam123456gz
- arpenker
- zysnba
- fantaxy025025
- xiangjie88
- wallimn
- lemonhandsome
- jh108020
- ganxueyun
- Xeden
- zhanjia
- xyuma
- wangchen.ily
- johnsmith9th
- zxq_2017
- forestqqqq
- jbosscn
- daizj
- ajinn
- xpenxpen
- 喧嚣求静
- kingwell.leng
- lchb139128
- kristy_yy
- jveqi
- javashop
- lzyfn123
- sunj
- yeluowuhen
- lerf
- silverend
- chenqisdfx
- xiaoxinye
- flashsing123
- bosschen
- lyndon.lin
- zhangjijun
- sunnylocus
- lyj86
- paulwong
- sgqt
最新文章列表
JVM学习笔记【原创】
JVM 堆分为 年轻代,年老代,持久代。
年轻代:产生和回收对象的区域,分为1个Eden和2个Survivor(from 和 to)。
年老代:生命周期较长的对象
持久代:类、方法等
JVM GC 机制
1. 对象总是产生于Eden.
2. 当Eden满时触发GC,将存活的对象复制到其中一个Survivor(from).将不存活的对象回收。
3. 当Survivor(from)满时,将surviv ...
关于java gc和有close方法的对象
我们知道有些java对象比如socket,io流等是有close方法的,一般可以在finally块内调用然后释放资源,假如我们忘记调用close方法,当java gc这个对象的时候也会释放资源,不过java gc是不能确定时间的,所以最好用完了就手工close一下。
下面我们用ServerSocket的例子来证明垃圾回收是会释放内存和端口的:
import java.net.Server ...
java.lang.OutOfMemoryError异常解决方法
java.lang.OutOfMemoryError异常解决方法
原因:常见的有以下几种:
1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;
2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;
3.代码中存在死循环或循环产生过多重复的对象实体;
4.使用的第三方软件中的BUG;
5.启动参数内存值设定的过小;
...
jvm内存很大,cms报错concurrent mode failure
最近上线一个定时任务:根据条件查询数据,然后生成excel,当成邮件中的附件发送给指定用户。在这个定时任务执行的时候,从gc的日志部分如下:
2016-10-12T15:10:56.017+0800: 2130.042: [GC2016-10-12T15:10:56.017+0800: 2130.042: [ParNew: 605431K->65838K(613440K), 0.03 ...