1、try 和 finally 都有 return,以哪个结果为准2、zookeeper 使用的是什么协议?使用的算法介绍下3、写一个内存的高并发 broker,实现基于 topic 的 push 和 pull message4、将两个顺序的 int 队列合并成一个从小到大的队列5、介绍下 JVM ...
分类:
其他好文 时间:
2017-10-31 19:57:28
阅读次数:
180
jvm调优主要针对堆内存,堆内存分为:新生区、养老区和永久区 永久区存放的是系统jdk自身的interface和class的元数据,所以唯有新生区和养老区具有优化空间。 新生区:伊甸区和幸存者区。所有类都是在伊甸区被new出来,幸存者区又分为0区和1区。伊甸区的空间用完时, 会进行垃圾回收Minor ...
分类:
编程语言 时间:
2017-10-24 01:39:09
阅读次数:
288
jvm内存模型如下图 垃圾回收: 方法区: 这部分的垃圾回收性价比低,一般不要求回收,暂认为是永久代 heap:新生代和永久代之分。永久代主要回收废弃常量和无用的类。 垃圾回收算法: 1. 标记-清除算法 标记判断: a) 该类所有实例都已经被回收,也就是heap中,不存在该类任何实例。 b) 加载 ...
分类:
其他好文 时间:
2017-10-11 21:50:37
阅读次数:
147
Spring AOP实现的3种方式--注意,每种的xml是如何配置的! http://blog.csdn.net/zhangliangzi/article/details/52334964 JVM内存模型以及堆分配参数 --要注意,JVM参数 设置新生代大小、永久区大小、栈的大小 ...
分类:
其他好文 时间:
2017-10-08 10:13:35
阅读次数:
134
喂鸡百科 翻译: 追踪垃圾回收是一种自动内存管理,这种机制决定了什么对象应该被回收,除了从根作用域开始的引用链上可到达的对象外,其余对象一律被认为是“垃圾”而且应该要回收。垃圾回收经常都是采用这样的方式实现,而不是采用引用计数方式。 一个对象的可达性 一个可到达的对象准确来说有以下两种情况: 1.所 ...
分类:
编程语言 时间:
2017-10-01 18:07:12
阅读次数:
155
Java语言规范没有明确地说明JVM使用哪种垃圾回收算法,但是任何一种垃圾收集算法一般要做2件基本的事情: (1)发现无用信息对象; (2)回收被无用对象占用的内存空间,使该空间可被程序再次使用。 大多数垃圾回收算法使用了根集(root set)这个概念;所谓根集就量正在执行的Java程序可以访问的 ...
分类:
编程语言 时间:
2017-09-28 14:07:32
阅读次数:
200
垃圾回收算法 1.标记-清除算法 标记-清除算法是最基本的算法,和他的名字一样,分为两个步骤,一个步骤是标记需要回收的对象。在标记完成后统一回收被标记的对象。这个算法两个问题。一个是效率问题,标记和清除的效率不高。第二个问题是标记-清除之后会有大量不连续的碎片空间,如果我们需要更大的连续内存就必须G ...
分类:
编程语言 时间:
2017-09-26 21:08:05
阅读次数:
234
方法区 堆 程序计数器 虚拟机栈 垃圾回收算法: ...
分类:
其他好文 时间:
2017-09-23 23:27:26
阅读次数:
273
1.堆的分代和区域(年轻代)Young Generation(eden、s0、s1 space) Minor GC(老年代)Old Generation (Tenured space) Major GC|| Full GC(永久代)Permanent Generation (Permanent sp... ...
分类:
编程语言 时间:
2017-09-20 11:56:05
阅读次数:
520
JVM垃圾回收算法(最全) 下面是JVM虚拟机运行时的内存模型: 1.方法区 Perm(永久代、非堆) 2.虚拟机栈 3.本地方法栈 (Native方法) 4.堆 5.程序计数器 1 首先的问题是:jvm如何知道那些对象需要回收 ? 目前两种标识算法、三种回收算法、两种清除算法、三种收集器 引用计数 ...
分类:
编程语言 时间:
2017-09-18 20:31:34
阅读次数:
217