JVM
wjjiang2333
这个作者很懒,什么都没留下…
展开
-
Java 编译期常量
Java 编译期常量1. 什么是编译期常量 编译期常量,即 compile-time constant。其看似是一个静态,并不一定是由 static 修饰(static 一般只是用于强调只有一份),但强制要求使用 final 进行修饰。编译期常量完整要求是:declared final;被声明为 final(所有编译期常量都满足的条件);primitive or String;基本类型或...原创 2020-01-19 14:17:16 · 1195 阅读 · 0 评论 -
Java-深入理解ServiceLoader类与SPI机制
Java-ServiceLoader类与SPI机制引子对于Java中的Service类和SPI机制的透彻理解,也算是对Java类加载模型的掌握的不错的一个反映。了解一个不太熟悉的类,那么从使用案例出发,读懂源代码以及代码内部执行逻辑是一个不错的学习方式。一、使用案例通常情况下,使用ServiceLoader来实现SPI机制。 SPI 全称为 (Service Provider Inte...原创 2019-11-11 20:32:45 · 980 阅读 · 0 评论 -
记录一个我所遇到的 java.lang.NoClassDefFoundError 异常
问题出现的原因:虽然在IDE中的目录结构下有相关的.class文件,但是由于由于在根类加载器的类加载目录下放置了部分.class文件,但不是全部.class文件,所以报错。解决途径:删除相关根类加载器的目录结构在根类加载器的目录结构下放置全部相关的.class文件案例详细:根类加载器的有效目录:public static void main(String[] args) { ...原创 2019-11-04 17:06:00 · 243 阅读 · 0 评论 -
学习JVM知识点之前
很多时候我们一些知识可能当时理解的非常好,但是过了一段时间后就发现自己忘记了,这是所有人都有的感觉,但是我们该如何来避免这个问题呢?最主要的做法就是既要有输入,也要有输出。而JVM作为一个特殊的知识点,我们的确很难去找到一个正确的学习方式去掌握。 我们需要刻意练习一些技术学习中遇到的一些重要知识点。我们既不能将所有学过的知识都应用于工作,也不能学好所有将来工作中会遇到的知识,基于这个事实我们不...原创 2019-10-04 00:33:33 · 366 阅读 · 0 评论 -
第一章 类加载到卸载的全过程分析
类加载到卸载的全过程分析 在Java代码中,类型的加、连接与初始化过程都是在程序运行期间完成的。其中类型指我们定义的一个class、interface、enum,此时并未包含对象。这一点提供了更大的灵活性、增加了更多的可能性。每一个类都是由类加载器class loader 加载到内存当中的。1. Java虚拟机的生命周期JVM虚拟机最最本质上是一个进程,所以JVM和普通的进程一样,都是由生命...原创 2019-10-06 16:49:56 · 1371 阅读 · 0 评论