GC算法基础

GC算法:基础篇

Published: 09 Jul 2016

Java中的垃圾回收

前文中对标记删除算法的介绍更多还是偏理论性质的。实践中,为了更好地满足现实的场景及需求,还需要对算法进行大量的调整。举个简单的例子,我们来看下JVM需要记录哪些信息才能让我们得以安全地分配对象空间。

Published: 09 Jul 2016

弱引用,软引用及虚引用对GC的影响

在应用程序中使用非强引用会导致一系列的问题,对GC的响应时间及吞吐量都会有所影响。尽管这类引用在某些场景下可以减少OutOfMemoryError的出现频率,但过度的使用则会严重影响到垃圾回收,从而导致应用程序的性能遭受影响。

Published: 17 Dec 2015

提升Java的锁性能

Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。

Published: 21 Jul 2015

JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP

Java中哪个JSON库的解析速度是最快的?

Published: 15 Jun 2015

如何在finally块中访问返回值

尽管JVM是基于栈的虚拟机,但Java语言却不允许你去访问这个栈。但其实在某些场景下(尽管是不太常见),这个功能是非常实用的。

Published: 11 Jun 2015

什么是垃圾回收

本文摘自我们几周后即将出版的Garbage Collection Handbook一书的样章。同时也让你能熟悉下垃圾回收的基础知识——这选自该书的第一章。

Published: 02 Jun 2015

通过JVM日志来进行安全点分析

许多事件都可能会导致JVM暂停所有的应用线程。这类暂停又被称为"stop-the-world"(STW)暂停。触发STW暂停最常见的原因就是垃圾回收了(github中的一个例子),但不同的JIT优化(例子),偏向锁擦除(例子),特定的JVMTI操作,以及许多场景都可能会导致应用程序暂停。

Published: 25 May 2015

泛型方法的反模式

我承认,我自己也忍不住用过这项技术。它简直太方便了,可以省去一次不必要的类型转化。这就是:

Published: 07 May 2015

Google Guava的5个鲜为人知的特性

image

Published: 27 Mar 2015