06 2022 档案
摘要:
当JVM需要用到某个类的时候,虚拟机会加载它的.class文件。加载了相关的字节码信息之后,会常见对应的Class对象,这个过程就被称为类加载。
需要注意的是:类加载机制只负责`class`文件的加载,至于是否可以执行,则是由执行引擎决定的。
类的加载过程被分为五个阶段:加载、验证、准备、解析、初始化。验证、准备、解析三个阶段为连接步骤。其中加载、验证、准备、初始化这几个阶段的顺序是确定的,但是解析阶段不一定,在某些情况下可以在初始化阶段之后再开始。
阅读全文
![[JVM] JVM的类加载机制](https://img2022.cnblogs.com/blog/1456590/202206/1456590-20220612225641204-553127134.png)
摘要:
spring profile 与 maven profile 多环境管理 spring profile Spring profile是Spring提供的多环境管理方案。 如下图: 每种环境都对应一个yml文件,然后再application.yml中配置需要使用的环境: spring: #环境 dev
阅读全文
![[Java][Spring]spring profile与maven profile多环境管理](https://img2022.cnblogs.com/blog/1456590/202206/1456590-20220618003459136-912743412.png)
摘要:
逃逸分析是目前Java虚拟机中比较前沿的优化技术,也是JIT中一个很重要的优化技术。
它其实就是分析一个对象是否会逃逸出方法,分析对象的动态作用域。如果一个对象在一个方法内定义,并且有可能被方法外部引用使用,那认为它逃逸了。
阅读全文
![[JVM]逃逸分析](https://img2022.cnblogs.com/blog/1456590/202206/1456590-20220605233113281-1155554260.png)
摘要:
HashMap与ConcurrentHashMap的一些总结 HashMap底层数据结构 JDK7:数组+链表 JDK8:数组+链表+红黑树 JDK8中的HashMap什么时候将链表转为红黑树? 当发现链表中的元素大于8之后,判断当前数组长度,如果数组长度小于64并不会马上转为红黑树,而是进行扩容。
阅读全文
![[Java]HashMap与ConcurrentHashMap的一些总结](https://img2022.cnblogs.com/blog/1456590/202206/1456590-20220605225836664-14456371.png)