本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- forestqqqq
- johnsmith9th
- nychen2000
- ajinn
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
由一个CUP占用率过高的问题去理解Java垃圾回收机制
最近我们的高并发平台遇到用户高峰运行时总会出现CPU占用率过高的问题,经过一段时间的排查及查阅相关的JVM资料,发现在程序中有这样一块代码引起了注意:
首先我们需要了解一下JVM的垃圾收集算法:
1、标记-清除算法
最基础的收集算法是“标记-清除”算法,顾名思义,算法分为“标记”和“清除”两个阶段:首先标记出所有要回收的对象,在标记完成之后统一回收所有被标记的对象。
缺点:一是时间问题,标记和 ...
《深入理解Java虚拟机》笔记之第3章 垃圾收集器与内存分配策略
1、判断对象是否存活的算法
(1)引用计数算法:对象中添加一个引用计数器,有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1。计数器的值为0的对象就是不可能再被使用的。(Python、微软的COM技术、Squirrel等使用此算法进行内存管理)。缺点在于难以解决对象之间的相互循环引用问题。
(2)根搜索算法:从一系列的名为“GC Roots”的对象作为起始点,从这些节点 ...
JVM学习笔记二 - 垃圾收集
JVM的垃圾收集主要是对JAVA堆进行收集,JAVA堆分为新生代和老年代。
(1)、新生代区域:指存放新创建的对象或者未达到老年代要求的对象。
(2)、老年代区域:除新生代外的内存空间,就是老年代的内存空间,用于存放长久未被收集的对象。
1、对象是否需要收集?
如何判断一个对象是否需要收集?这个问题一般采用如下两种算法进行处理:
(1)、引用计数算 ...
我所理解的java的垃圾收集
说明:本篇文章,有很多错误.排版也不合理.请批判的阅读. (有空再整理了)
1 四种垃圾回收算法
PS 这里介绍了4中垃圾回收算法,不代表就只有这四种。
(1)引用计数( Reference Counting )算法
这个算法在很多面试宝典里频繁出现,当年我也被宝典所迷惑。一直到后面听同事的讲座才明白原来JAVA压根就没用这个算法作为其垃圾回收算法。但是为了本文相对 ...