![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 92
苟且.
这个作者很懒,什么都没留下…
展开
-
Spring容器加载Bean和JVM加载类
类的加载是在首次需要访问类的信息或实例化类的对象时发生的过程。ClassLoader负责加载类的字节码,并在内存中创建对应的Class对象,从而使得Java程序能够操作和使用这些类。在Java中,类的加载是按需进行的,也就是说,只有在需要使用某个类时才会进行类的加载过程。这意味着如果某个类在程序执行过程中从未被使用过(包括实例化、访问静态变量或方法、反射等),那么这个类就不会被加载到内存中。具体来说,当执行Java程序时,JVM会按照需要逐步加载类。例如,如果程序中某个方法引用了一个类,那么在该方法被调用之原创 2024-07-09 13:59:01 · 1041 阅读 · 0 评论 -
JVM之【类的生命周期】
在Java中数据类型分为基本数据类型和引用数据类型基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载按照]ava虚拟机规范,从class文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下7个阶段:其中,验证、准备、解析 3个部分统称为链接(Linking)。原创 2024-06-06 22:35:15 · 1294 阅读 · 0 评论 -
JVM之【字节码/Class文件/ClassFile 内容解析】
字节码文件/Class文件,是JVM的基石!!!Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(operand)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。0 aload_04 aload_0 //只有操作码5 bipush 30 //操作码+操作数10 aload_014 aload_020 return。原创 2024-06-05 22:24:04 · 1728 阅读 · 2 评论 -
JVM之【垃圾回收中的相关概念】
并发不是真正意义上的“同时进行”,只是CPU把一个时间段划分成几个时间片段(时间区间),然后在这几个时间区间之间来回切换,由于CPU处理的速度非常快,只要时间间隔处理得当,即可让用户感觉是多个应用程序同时在进行。当然,也不是在任何情况下垃圾收集器都会被触发的》比如,我们去分配一个超大对象,类似一个超大数组超过堆的最大值,JVM可以判断出垃圾收集并不能解决这个问题,所以直接抛出OutOfMemoryError。其实决定并行的因素不是CPU的数量,而是CPU的核心数量,比如一个CPU多个核也可以并行。原创 2024-06-03 21:39:57 · 922 阅读 · 0 评论 -
JVM之【GC-垃圾清除算法】
不同垃圾收集算法和垃圾收集器各有优缺点,应根据具体应用需求和硬件环境选择合适的垃圾收集策略。标记-清除和复制算法比较基础,适用于小型或简单应用;分代收集算法适用于大多数常规应用;G1、Shenandoah更适合大内存、低延迟的高性能应用。原创 2024-06-03 20:54:36 · 873 阅读 · 0 评论 -
JVM之【GC-可达性分析算法】
可达性分析算法通过从一组称为"根对象"(GC Roots)的对象开始,遍历对象引用图,确定哪些对象是可达的。那些无法从根对象访问到的对象被视为不可达的,可以被垃圾收集器回收。原创 2024-06-03 10:27:55 · 1002 阅读 · 0 评论 -
JVM之【执行引擎】
程序员编写的就是Java源代码文件。Java源代码文件:由程序员编写,扩展名为.java。字节码文件:由Java编译器生成,包含JVM能够理解和执行的指令,扩展名为.class。HotSpot虚拟机采用解释器与即时编译器并存的架构,结合了快速启动和高效执行的优势。在Java虚拟机运行过程中,解释器和JIT编译器相互协作,动态调整执行策略,以提供最佳的性能和响应时间。这种设计不仅提升了应用程序的启动速度,还通过JIT编译器的动态优化,实现了长时间运行下的高效执行。原创 2024-06-01 14:36:07 · 878 阅读 · 0 评论 -
永久代(Permanent Generation)和元空间(Metaspace)
永久代和元空间的主要区别在于内存管理方式和位置。永久代在JVM堆内存中管理类的元数据,而元空间则利用本地内存,带来了更灵活和高效的内存管理,减少了内存溢出和垃圾收集的压力。通过这种改进,元空间提高了Java应用程序的性能和稳定性。原创 2024-05-29 21:10:05 · 753 阅读 · 0 评论 -
Class类和类元数据
Class类和类元数据的区别原创 2024-05-29 11:23:54 · 273 阅读 · 0 评论 -
JVM之【运行时数据区2——方法区(元空间)】
方法区(元空间)原创 2024-05-28 22:11:47 · 418 阅读 · 0 评论 -
JVM之【运行时数据区2——堆】
JVM只运行时数据区2:堆原创 2024-05-27 23:39:05 · 1085 阅读 · 0 评论 -
JVM之【运行时数据区1】
JVM运行时数据区1原创 2024-05-26 23:43:25 · 830 阅读 · 0 评论 -
JVM之【类加载机制】
JVM的类加载机制原创 2024-05-26 21:44:27 · 549 阅读 · 0 评论