
JVM
文章平均质量分 70
@素素~
素素,素而不凡,乐于分享,知足常乐,心态不老人就不会老!
展开
-
深入理解Java虚拟机——模拟几种常见的OOM异常
深入理解Java虚拟机——模拟几种常见的OOM异常1. 模拟方法区异常2. 字符串常量池引起的异常3. 关于 GC overhead limit exceeded4. java.lang.OutOfMemoryError: Java heap spaceJDK6JDK85. 方法区异常关于内存的文章推荐 1. 模拟方法区异常 因为程序在启动的时候会加载很多类,所以这么模拟是很简单的,我们只需要把初始值和最大值两个参数调小一下即可,不如设置1m 和 2m试试,然后启动一个空的main方法即可模拟。 首先,我原创 2022-04-21 17:26:32 · 991 阅读 · 0 评论 -
Java性能分析——VisualVM 的简单使用以及问题处理
Java性能分析——VisualVM的简单使用以及案例分析1. Java VisualVM 概述与安装2. 安装插件2.1 安装 Visual GC 插件2.2 安装插件过程中遇到的问题2.2.1 问题12.2.1.1 问题描述2.2.1.2 解决问题(1) 检查url(2) 修改url——https 改成 http(3) 去官网下载插件并离线安装① 去官网下载插件(找对应的版本)② 出现插件依赖关系问题③ 离线安装 Startup Profiler 插件(4) 离线安装BTrace Workbench插件原创 2022-04-07 16:59:26 · 1999 阅读 · 0 评论 -
简单分析 JVM 对象的内存(对象的创建)以及String相关知识
简单分析 JVM 对象的内存一、前言二、JVM 对象的内存解析1. 举例分析对象在内存中的存储过程2.内存中对象之间的赋值三、对象数组的内存分析四、早期让你尴尬的String1.简单介绍2.尴尬案例(1)String为啥不可被修改?a. 先简单看看String的b. 再简单来个好理解的例子(2)new String() 和 new Stirng("")(3)内存分析:字面量 和 new+构造器 创建Stringa. 字面量创建b. new+构造器创建c. 小思考——经典问题1)字符串常量池的优点?2)Str原创 2022-02-23 17:40:20 · 467 阅读 · 0 评论 -
Java 模拟栈溢出错误(StackOverflowError)
Java 模拟栈溢出错误 栈,也叫栈内存 主管程序的运行,生命周期和栈线程同步 线程结束,栈内存也就释放了 栈:先进后出,后进先出 栈溢出错误:StackOverflowError java.lang.StackOverflowError:一般出现这个问题是因为程序里有死循环或递归调用所产生的 如果一个线程所需用到栈的大小>配置允许最大的栈大小,那么jvm就会抛出 StackOverflow 如图: package liu.jvm; /** * java.lang.StackOverflo原创 2021-06-11 17:22:31 · 2698 阅读 · 0 评论 -
Java 模拟堆内存溢出 OOM
模拟堆内存溢出 OOM 备注:如果模拟不出来,配置一下vm options,步骤如下(2021版本的idea): 配置的值,如下: 代码如下: public class OomTest1 { public static void main(String[] args) { String str = "oom"; while(true){ str = str + UUID.randomUUID().toString()+UUID.rand原创 2021-06-11 17:08:28 · 1609 阅读 · 0 评论