![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 69
旭东怪
这个作者很懒,什么都没留下…
展开
-
JVM StringTable size of xx is invalid; must be between 1009 and 2305843009213693951问题解决
问题描述:StringTable size of 1000 is invalid; must be between 1009 and 2305843009213693951Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Program will exit.问题分析:1、JDK8环境下使用-XX:StringTableSize设置StringTableSize为100原创 2022-05-24 15:49:57 · 288 阅读 · 0 评论 -
JVM 双亲委派机制的工作原理和优势
Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任务委派模式。1 工作原理1、如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行。2、如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的引导...原创 2022-03-18 15:49:48 · 495 阅读 · 0 评论 -
JVM 类加载器(引导类加载器、扩展类加载器、系统类加载器、用户自定义类加载器)
1 引导类加载器引导类加载器(Boostrap ClassLoader),又叫启动类加载器。由C/C++语言实现,嵌套在JVM内部。用来加载 Java 的核心库(JAVA_HOME/jre/lib/rt.jar、resources.jar或sun.boot.class.path路径下的内容),用于提供JVM自身需要的类。并不继承自 java.lang.ClassLoader,没有父加载器。是扩展类加载器和应用类加载器的父类加载器...原创 2022-03-14 18:07:46 · 4684 阅读 · 1 评论 -
JVM 类的加载过程(加载、链接、初始化)
1 加载(Loading)1、通过一个类的全限定名获取定义此类的二进制字节流。2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。3、在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。 4、类的加载由类加载器来实现。类加载分为四种,根类加载器(引导类加载器),扩展类加载器,系统类加载器,用户自定义类加载器。 (1)根类加载器 ...原创 2022-03-15 08:58:15 · 4068 阅读 · 0 评论