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

2022-01-18 00:00:00 tags java

我往往会收到很多学生或寻找资源的同事提出的这些问题,因此我希望为他们提供更明确的参考.不妨与社区分享.

  • Java 内存模型是如何表示的,它有什么特点?

  • How is the Java Memory Model represented and what are its characteristics?

垃圾收集在一般情况下和在最常见的 JVM 中是如何工作的?

How does Garbage Collection work in general and in the most common JVMs?

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

How do I test and tune my Java applications for performance?

推荐答案

内存基础

  • 每个程序员都应该了解的关于内存的知识 - Ulrich Drepper [PDF]
  • Memory Basics

    • What Every Programmer Should Know About Memory - Ulrich Drepper [PDF]
      • Java 虚拟机规范 [Java SE 的 PDF 和 HTML7]
      • The Java Virtual Machine Specification [PDF and HTML for Java SE 7]
      • 编程高级主题:Java 内存模型 - Jeremy Manson [视频]
      • Java 内存模型的资源集合 - 由 Bill Pugh 编辑和编译 (收藏)
      • HotSpot 虚拟机中的内存管理 - Sun Microsystems (2006) [PDF]
      • 修复 Java 内存模型 - Brian Goetz,IBM Java 开发人员系列 () [第 1 部分,第 2 部分]
      • Advanced Topics in Programming: The Java Memory Model - Jeremy Manson [video]
      • Collection of Resources on the Java Memory Model - edited and compiled by Bill Pugh (collection)
      • Memory Management in the HotSpot Virtual Machine - Sun Microsystems (2006) [PDF]
      • Fixing the Java Memory Model - Brian Goetz, IBM Java Developer Series () [part 1, part 2]
      • Java 性能的 9 个谬误 - Ben Evans [视频 + 幻灯片]
      • JVM 性能魔术技巧 - Takipi [博客 + 幻灯片]
      • Java 和机器 - Kirk Pepperdine,Martijn Verburg [视频+幻灯片]
      • 性能测试 Java 应用程序 - Martin Thompson [视频 + 幻灯片]
      • 构建内存高效的 Java 应用程序:实践和挑战 - Mitchell, Sevitsky (2009) [PDF]
      • 9 Fallacies of Java Performance - Ben Evans [video + slides]
      • JVM Performance Magic Tricks - Takipi [blog + slides]
      • Java and the Machine - Kirk Pepperdine, Martijn Verburg [video + slides]
      • Performance Testing Java Applications - Martin Thompson [video + slides]
      • Building Memory-Efficient Java Applications: Practices and Challenges - Mitchell, Sevitsky (2009) [PDF]
      • 优化 Google 的仓库级计算机:NUMA 体验 - University of California &谷歌 [PDF]
      • MegaPipe:可扩展网络 I/O 的新编程接口 [Google 文档]
      • 打破神话的现代硬件获得机械同情" - Martin Thompson [PDF](幻灯片)
      • 缓存:更有效地理解、衡量和使用 CPU 缓存 - Richard Warburton[视频+幻灯片]
      • JVM 能做到吗?! - Cliff Click [视频]
      • Optimizing Google’s Warehouse Scale Computers: The NUMA Experience - University of California & Google [PDF]
      • MegaPipe: A New Programming Interface for Scalable Network I/O [Google Doc]
      • Mythbusting modern hardware to gain "Mechanical Sympathy" - Martin Thompson [PDF] (slides)
      • Caching in: understand, measure and use your CPU Cache more effectively - Richard Warburton [video + slides]
      • A JVM Does That?! - Cliff Click [video]
      • Hotspot Garbage Collection - 调优指南 - Martijn Verburg, John Oliver [视频,幻灯片 pt 1,幻灯片 pt 2]
      • G1GC 版本是您的 GC 日志对您说话吗 [幻灯片,视频]
      • Java 应用程序性能调优原理 [文章]
      • 我所了解的关于 JVM 性能调优的一切@Twitter - Attila Szegedi [视频和幻灯片]
      • 可视化 Java GC - Ben Evans [视频 + 幻灯片]
      • Hotspot Garbage Collection - Tuning Guide - Martijn Verburg, John Oliver [video, slides pt 1, slides pt 2]
      • Are your GC logs speaking to you, the G1GC edition [slides, video]
      • The Principles of Java Application Performance Tuning [article]
      • Everything I Ever Learned About JVM Performance Tuning @Twitter - Attila Szegedi [video & slides]
      • Visualizing Java GC - Ben Evans [video + slides]
      • Java 内存模型
      • JRockit JVM 与 HotSpot JVM
      • 如何销毁java对象?
      • 智能垃圾收集?

      还有很多很多,我需要从我的档案或中间管中挖掘出来.

相关文章