了解Java内存模型和垃圾收集

时间:2013-06-09 13:13:51

标签: java tags

我倾向于通过学生或寻找资源的同事提出这些问题,所以我想要更明确的参考。不妨与社区分享。

  • Java内存模型是如何表示的以及它的特征是什么?

  • 垃圾收集如何在一般情况下以及最常见的JVM中运行?

  • 如何测试和调整Java应用程序的性能?

2 个答案:

答案 0 :(得分:19)

记忆基础

  • 每个程序员应该了解的内存 - Ulrich Drepper [PDF]

Java Language and Virtual Machine Specifications

  • 适用于Java SE 7的Java虚拟机规范 [PDFHTML]

Java Memory Model

  • 编程高级主题:Java内存模型 - Jeremy Manson [video]
  • Java内存模型上的资源集合 - 由Bill Pugh编辑和编辑(collection
  • HotSpot虚拟机中的内存管理 - Sun Microsystems(2006)[PDF]
  • 修复Java内存模型 - Brian Goetz,IBM Java Developer Series()[part 1part 2]

Java性能

  • 9个Java性能的谬误 - Ben Evans [video + slides]
  • JVM Performance Magic Tricks - Takipi [blog + slides]
  • Java and the Machine - Kirk Pepperdine,Martijn Verburg [video + slides]
  • 性能测试Java应用程序 - Martin Thompson [video + slides]
  • 构建内存高效的Java应用程序:实践和挑战 - Mitchell,Sevitsky(2009)[PDF]

高级主题和现实生活使用案例

  • 优化Google的仓库规模计算机:NUMA体验 - 加州大学& Google [PDF]
  • MegaPipe:可扩展网络I / O的新编程接口 [Google Doc]
  • 神话现代硬件获得“机械同情” - Martin Thompson [PDF] (幻灯片)
  • 缓存:更有效地理解,测量和使用CPU缓存 - Richard Warburton [video + slides]
  • JVM会这样做吗?! - Cliff点击[video]

GC调整

补充StackExchange问​​题与解答

还有很多,还有很多,我需要从档案馆或管道间挖掘出来。

答案 1 :(得分:2)

“JSR-133:Java内存模型和线程规范”的作者之一William Pugh在这里维护了一个关于内存模型的网页:

http://www.cs.umd.edu/~pugh/java/memoryModel/

完整的JSR-133可以在这里找到:

http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf

Java语言规范,第17.4节“内存模型:

”也是相关的

http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4