JVM
hcmony
不积跬步,无以至千里;不积小流,无以成江海
展开
-
自己手写一个类加载器demo
1,先写一个简单的java文件,保存在桌面。public class A{ static{ System.out.println("hello , hcmony !"); }}2.用javac编译成 A.classjavac A.java3.创建自己的ClassLoader类,如下:package com.hcmony;import java.io.*;/** * <h3>类的基本描述</h3> * * @author hc...原创 2021-02-19 11:00:41 · 320 阅读 · 0 评论 -
java类装载器ClassLoader&ExtClassLoader &AppClassLoader &Bootstrp loader
JDK 默认提供了如下几种ClassLoader Bootstrp loader Bootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载%JAVA_HOME%/jre/lib中的类。 ExtClassLoader Bootstrp loader加载ExtClassLoader,并且将ExtClassLoader的父加载器设置为Boo...原创 2019-01-25 10:53:28 · 321 阅读 · 0 评论 -
java.lang.NullPointerException:null 没有打印出任何堆栈信息的解决办法
参考链接:http://stackoverflow.com/questions/2411487/nullpointerexception-in-java-with-no-stacktrace前几天遇到了一个空指针异常,呵呵,空指针异常可以说是 java 中最常见的一个异常,也好解决。解决办法是,找到哪一行代码报错,然后看那一行代码中的哪个对象可能为空,然后再顺着找,为什么这个对象为空,最后就能...转载 2018-10-19 11:15:04 · 4406 阅读 · 0 评论 -
手动写java内存溢出 java.lang.OutOfMemoryError: PermGen space
注意:运行时的参数 -Xms10m -Xmx10m -XX:PermSize=1m -XX:MaxPermSize=2mpackage com.hcmony.test.memory;import java.io.File;import java.net.URL;import java.net.URLClassLoader;import java.util.ArrayList;i...原创 2018-09-04 17:31:38 · 300 阅读 · 0 评论 -
手动写java内存溢出 java.lang.StackOverflowError
package com.hcmony.test.memory;/** * <h3>Shenjue.java基本描述</h3> * <p> * java.lang.StackOverflowError * 【原因】:这也内存溢出错误的一种,即线程栈的溢出,要么是方法调用层次过多(比如存在无限递归调用),要么是线程栈太小。 * ...原创 2018-09-04 17:03:38 · 477 阅读 · 0 评论 -
手动写java OOM内存溢出 java.lang.OutOfMemoryError: GC overhead limit exceeded
package com.hcmony.test.memory;import java.io.Serializable;/** * <h3>Shenjue.java基本描述</h3> * <p></p> * * @author hcmony * @since V1.0.0, 2018/09/04 14:43 */public c...原创 2018-09-04 14:51:22 · 1315 阅读 · 0 评论 -
手动写java OOM内存溢出 java.lang.OutOfMemoryError: Java heap space
1,先设置运作内存大小。我用的是idea2,最大最小内存各设置为5M -Xms5m -Xmx5m3package com.hcmony.test.memory;import java.util.ArrayList;import java.util.List;import java.util.UUID;/** * <h3>Shenjue.java基本...原创 2018-09-04 14:57:54 · 1266 阅读 · 0 评论 -
记录用Memory Analyzer分析内存泄漏的解决过程
事故原因:我们的 一个线上项目出现了 java.lang.OutOfMemoryError: GC overhead limit exceeded top 命令发现CPU load average 超过了核心线程数。整个项目属于假死状态。 下载 堆栈信息进行分析如下 图所示:1:打开7个G的文件2,如...原创 2018-07-24 16:01:15 · 1616 阅读 · 0 评论 -
内存溢出的几种原因和解决办法
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下OOM的常见情况: 第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出:那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了:java.lang...转载 2018-07-18 21:18:15 · 6335 阅读 · 0 评论 -
java.lang.OutOfMemoryError及解决方案
java.lang.OutOfMemoryError及解决方案主要有3种比较常见的OutOfMemory Error:java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: GC overhead limit exc...转载 2018-07-23 15:30:19 · 390 阅读 · 0 评论 -
Java虚拟机(JVM)中的内存设置详解
Java虚拟机(JVM)中的内存设置详解 在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存转载 2017-09-15 17:26:22 · 9287 阅读 · 2 评论