package com.sam;
import java.util.ArrayList;
import java.util.List;
/**
* -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8
* @author Sam
*
*/
public class HeapOOM {
static class OOMObject {
}
public static void main(String[] args) {
List<OOMObject> list = new ArrayList<OOMObject>();
while(true) {
list.add(new OOMObject());
}
}
}
package com.sam;
public class MinorGC {
private static final int _1MB = 1024*1024;
/**
* VM arg: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 -XX:+PrintGCDetails
*/
public static void testAllocation() {
byte[] allocation1, allocation2, allocation3, allocation4;
allocation1 = new byte[2*_1MB];
allocation2 = new byte[2*_1MB];
allocation3 = new byte[2*_1MB];
allocation4 = new byte[4*_1MB]; // occur Minor GC
}
public static void main(String[] args) {
MinorGC minorGC = new MinorGC();
minorGC.testAllocation();
}
}
分享到:
相关推荐
《深入理解Java虚拟机1》是一本探讨Java技术体系核心组成部分的著作,主要关注Java虚拟机(JVM)的相关知识。Java技术体系由Java虚拟机、Java类库、Java编程语言以及第三方Java框架构成。JVM作为这个体系的核心,为...
Java虚拟机(JVM)是Java程序...《深入JAVA虚拟机》这本书的随书源代码可能包含了各种示例和实验,帮助读者更直观地理解和实践上述知识点。通过阅读和实践,开发者可以深入理解JVM的工作原理,提升解决实际问题的能力。
读书笔记:《深入理解Java虚拟机 Jvm高级特性与最佳实践第二版》书中的示例代码供学习使用
读书笔记:《深入理解Java虚拟机 Jvm高级特性与最佳实践第二版》书中的示例代码Maven版本学习使用
作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎...
《深入JAVA虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员...通过阅读本书并实践随书代码,读者可以深入理解JVM,从而编写出更高效、更稳定的Java应用程序。
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》是一本深受Java开发者喜爱的经典著作,它详细解析了Java虚拟机的工作原理和优化策略。源代码"jvm-demo-code-master"是该书配套的示例代码,包含了许多关于...
深入理解JVM对于优化Java应用、排查故障和提高代码质量至关重要。 1. **类加载机制**:JVM的类加载过程包括加载、验证、准备、解析和初始化五个阶段。了解这些阶段可以帮助开发者避免类加载错误,并优化应用程序的...
深入理解Java虚拟机-Java内存区域透彻分析(序列化、反序列化概念及其使用场景+实现序列化的方式+transient关键字) Java序列化和反序列化是Java虚拟机中的一种重要机制,它们可以将Java对象转换为二进制数据,然后...
《深入Java虚拟机第二版》不仅是一本理论书籍,它还附带光盘,提供了交互式的例示applet和示例源代码。这使得读者能够在理论学习之余,通过实践加深对JVM工作原理的理解。 本书的作者Bill Venners在业界享有盛名,...
《深入Java虚拟机》这本书是Java开发者深入了解JVM(Java Virtual Machine)的必备经典之作。它详尽地探讨了JVM的工作原理、内存管理、类加载机制、性能优化以及垃圾回收等多个关键领域,旨在帮助开发者提升程序的...
随书光盘包含了书中提及的各种示例代码、实验数据以及可能的补充材料,帮助读者更好地理解和实践书中所述知识点。 在JVM的世界里,有以下几个核心概念和知识点: 1. **类加载机制**:Java程序的运行基于类加载器,...
通过深入学习《Java虚拟机(第二版)》,开发者不仅可以理解Java程序的运行机制,还能掌握性能优化、问题排查等高级技巧,提升自己的编程水平。这本书通常会详细讲解上述知识点,并提供丰富的示例和实践指导,帮助...
4. **带光盘**:光盘可能包含了书中提到的示例代码、实验数据、附加资源或者作者提供的额外讲解,为读者提供了实践和深入理解的机会。 5. **内存管理**:JVM中的内存模型包括堆、栈、方法区、本地方法栈等,理解...
首先,我们需要理解Java虚拟机的工作原理。JVM是一种抽象的计算设备,它执行字节码(.class文件),这是Java源代码经过编译后的中间表示。JVM负责内存管理、垃圾回收、类加载以及执行线程等关键功能。它确保Java程序...
通过阅读和理解代码,学习者可以深入理解Java虚拟机如何处理字节码,如何管理内存,以及如何实现跨平台的运行机制。这对于进一步学习JVM优化、垃圾收集策略、甚至自行实现更复杂JVM的开发都有很大的帮助。 总结来说...
### 自动装箱与拆箱概念 在Java中,自动装箱是指将基本数据类型自动转换为对应的包装类...通过以上分析,我们可以更深入地理解Java中的自动装箱、拆箱及其对对象比较的影响,这对于编写高效且可读性强的代码非常重要。
《深入Java虚拟机》是Java开发者必读的经典之作,它详细阐述了Java虚拟机(JVM)的工作原理和内部机制,对于理解Java程序的运行方式、优化代码性能以及排查问题具有极其重要的价值。这本书的第二版更是加入了更多...