网站首页 > java教程 正文
JAVA虚拟机深入理解与实战
内存溢出场景
测试代码
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Person> personList=new ArrayList<Person>();
while(true) {
personList.add(new Person());
System.out.println(personList.size());
}
}
}
经过测试,win10 4G的内存【31151587 次出现内存溢出】
31151587
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3210)
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.ArrayList.grow(ArrayList.java:261)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227)
at java.util.ArrayList.add(ArrayList.java:458)
at com.cc.Main.main(Main.java:12)
如果觉得时间太少,可以调整运行的大小:-Xms50M -Xmx50M
其中:
-Xms为JVM初始分配的堆内存大小
-Xmx为JVM最大允许分配椎内存大小
还有其它的参数:
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
增加运行参数,设置快照文件
设置参数:-XX:+HeapDumpOnOutOfMemoryError 把内存溢出时,生成一个快照【注意大小写】
刷新项目,会在项目下生成一个:xxx.hprof的文件
分析hpro的文件
eclipse下的 memory analyzer工具
下载地址:https://www.eclipse.org/mat/downloads.php
java监控工具
jconsole 配置好java的环境变量之后,可以在cmd直接输入jconsole
猜你喜欢
- 2024-09-16 【开发工具】VMwareInstall23.11安装程序
- 2024-09-16 Kubernetes核心原理和搭建(kubernetes底层原理)
- 2024-09-16 Java 虚拟机基础:内存管理,类的加载机制,分析字节码执行过程
- 2024-09-16 类装载器实现Java虚拟机安全(三),看完100%的人都收藏了
- 2024-09-16 免费全能虚拟机VirtualBox 4.3.28中文版下载
- 2024-09-16 七爪源码:虚拟机:定义、类型、优势和优势
- 2024-09-16 VirtualBox5.2.6虚拟机下载安装基础教程(1)
- 2024-09-16 全面支持Win10:免费虚拟机VMware Player 12下载
- 2024-09-16 最强免费虚拟机:VirtualBox 5.1.28下载
- 2024-09-16 面试时最怕问到 Java 虚拟机内存模型?这篇文章我发晚了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)