本月博客排行
年度博客排行
-
第1名
青否云后端云 -
第2名
zw7534313 -
第3名
大家都说我很棒 - liyihz2008
- wy_19921005
- gengyun12
- hbxflihua
- e_e
- luxurioust
- dbagirl
- zysnba
- robotmen
- Alsmile
- gaozzsoft
- jywhltj
- cpongo1
- leslie26
- qepwqnp
- 解宜然
- cuityang
- sichunli_030
- gashero
- zhangdaiscott
- fantaxy025025
- vipbooks
- wallimn
- gdpglc
- ssydxa219
- ranbuijj
- javashop
- jickcai
- hanbaohong
- johnsmith9th
- appalese
- gaojingsong
- weiyides
- 淡看人生
- java-007
- zhangyi0618
- AVI
- laiyangdeli
- xpenxpen
- liunancun
- 龙哥IT
- conkeyn
- nychen2000
- lyndon.lin
- ouanui
- silverend
- jveqi
最新文章列表
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 ...