随笔分类 -  JVM

摘要:Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈 【摘要】 JVM(Java Virtual Machine)作为Java研发人员工作的每天都会接触到的虚拟机,其运行机制与底层原理想必大家都略知一二,今天我将从初学者的角度出发,结合甲骨文官方的技术文档,对部分Java虚 阅读全文
posted @ 2025-01-20 11:42 小白冲 阅读(75) 评论(0) 推荐(0)
摘要:javac Person.java >Person.classPerson.java -> 词法分析器 -> tokens流 -> 语法分析器 -> 语法树/抽象语法树 -> 语义分析器-> 注解抽象语法树 -> 字节码生成器 -> Person.class文件 https://docs.oracl 阅读全文
posted @ 2022-03-24 15:39 小白冲 阅读(54) 评论(0) 推荐(0)
摘要:接下来将介绍《深入理解java虚拟机》一书中的案例,并解答它所提出的问题。(部分类容来自于书中原文) Tomcat中的类加载器在Tomcat目录结构中,有三组目录(“/common/*”,“/server/*”和“shared/*”)可以存放公用Java类库,此外还有第四组Web应用程序自身的目录“ 阅读全文
posted @ 2021-07-11 00:16 小白冲 阅读(522) 评论(0) 推荐(0)
摘要:JVM垃圾回收算法两个概念:新生代:存放生命周期较短的对象的区域。老年代:存放生命周期较长的对象的区域。 相同点: 都在Java堆上 1.标记–清除算法(Mark-Sweep)执行步骤: 标记:遍历内存区域,对需要回收的对象打上标记。清除:再次遍历内存,对已经标记过的内存进行回收。图解: 缺点: 效 阅读全文
posted @ 2021-06-24 16:13 小白冲 阅读(99) 评论(0) 推荐(0)
摘要:加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口(即引用地址)。所有需要访问和使用类数据只能通过这个Class对象。这个加载的过程需要类加载器参与。链接:将Java 阅读全文
posted @ 2021-06-24 13:48 小白冲 阅读(471) 评论(0) 推荐(0)
摘要:一、描述类的装载过程和各个步骤的主要工作 1、加载:使用类的全限定名(包名与类名)从磁盘搜索路径加载此类的二进制字节流(.class文件) 2、链接:验证-准备-解析 (1)验证:验证被加载后的类是否有正确的结构,类数据是否会符合虚拟机的要求,确保不会危害虚拟机安全。 (2)准备:为类的静态变量(s 阅读全文
posted @ 2021-05-05 01:51 小白冲 阅读(252) 评论(0) 推荐(0)