当前位置: 首页 > news >正文

实用指南:JVM篇:一文读懂JVM:工作原理之核心技术解析

实用指南:JVM篇:一文读懂JVM:工作原理之核心技术解析

引言
本文将从类的生命周期、类加载机制、JVM的内存区域、对象的创建过程、对象的内存分配方式、垃圾标记算法、垃圾回收算法、垃圾回收器等专题逐一为大家深入浅出探究JVM工作原理。
简单来讲,我们程序员写好一份java档案,然后由java编译器编译成class文件,该class档案就存在磁盘当中了,JVM需要将这个文档从磁盘上加载到JVM的内存当中以待采用,当我们发出一个new的指令时,JVM就会从内存当中去找这个对象的类元信息,然后根据这个类元信息创建对象,并且将这个对象放在JVM内存当中以待运用…等到采用完毕,就会将这个对象回收。
上述呢是一个整体的思路,围绕这个思路,大家接下来进入正题…

  1. 类的生命周期
    加载、连接、初始化(用到的时候才会初始化)、应用、卸载。

连接分为验证、准备、解析。

加载:从磁盘到JVM内存。

准备:初始化静态变量,比如int初始化0、boolean初始化false、静态对象初始化null,为静态变量设置初始值隐式赋值

解析:字符引用解析成内存直接引用。

字符引用:编译阶段生成的间接引用,经过类全限定名、字段名、方式名等符号描述目标位置(类全限定名)。
直接引用:运行时生成的指向目标内存地址的引用

初始化:静态变量显式赋值

2)类加载机制

启动类加载器,BootStrup ClassLoader:负责加载JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等。
扩展类加载器,Ext ClassLoader:负责加载JVM运行的位于JRE的lib目录下的ext扩展目录中的jar类包。
应用类加载器,App ClassLoader:负责加载ClassPath路径下的类包
自定义加载器:负责加载用户自定义路径下的类包。

双亲委派机制:只有父加载器反馈无法完成加载请求时,子加载器才会尝试自己去加载。
工作原理:
① 当Java程序需要加载一个类时,开始校验是否已被自己加载,如没有则会委托给当前类加载器的父类加载器进行加载。
② 父类加载器会按照相同的方式尝试加载该类。如果父类加载器能够成功加载该类,则加载过程结束。
③ 如果父类加载器无法加载该类,则会将加载请求再次委托给它的父类加载器,直到达到顶层的引导类加载器。
④ 引导类加载器是Java虚拟机内置的类加载器,它负责加载核心类库,如java.lang包下的类。
⑤ 如果引导类加载器也无法加载该类,则会回到初始的类加载器,尝试启用自身的加载机制加载该类。
⑥ 如果自身的加载机制仍然无法加载该类,则会抛出ClassNotFoundException异常。

作用:避免类的重复加载,保证唯一性,沙箱安全机制,确保核心类库的安全,防止恶意代码替换核心类库。
优点:遵循单一职责原则,不同的类加载器加载不同的类。

JVM类加载机制详细:从JDK源码级别深度解析JVM类加载机制

打破双亲委派机制

tomcat多个应用。需打破双亲委派机制。

自定义类加载器,继承classloader,重写findClass,复用loadclass方法。

如何打破双亲机制?

借助自定义类加载器,继承classloader,重写loadclass办法,非自己包下面的类则由父加载器去加载,加载自己的包下面的类。

JDK9 扩展类加载器变成平台类加载器。

优化:将类规划到各个模块之中,在委派给父加载器之前,

http://www.jsqmd.com/news/48558/

相关文章:

  • 2025年西北地区软化水设备厂家选择指南,陕西、甘肃、新疆、宁夏四省首选西安紫云,行业口碑品质靠谱推荐
  • java geotiff的空间索引如何构建
  • java for linux 安装
  • 【OI 复健计划】板子复习
  • 时间即生命 梁实秋
  • AI元人文:当理论成为悬鉴 ——兼论独立思想者的现代困境
  • 2025年西北地区无动力无阀滤池水处理设备厂商怎么选?陕西甘肃新疆宁夏四省,优质品牌行业口碑选择指南
  • 2025西北地区反渗透一体机品牌怎么选?陕西、甘肃、新疆、宁夏四省多场景净水提纯设备源头工厂选择指南
  • Microsoft将.NET Aspire 改成了Aspire
  • 2025年西北地区净水、纯水、软化水设备厂家最新推荐!一体化净水处理设备、反渗透一体机、无动力无阀,陕西甘肃新疆宁夏四省,优质品牌选择指南
  • 2025/11/24
  • 医疗环境中的防火墙部署策略解析
  • 自注意机制
  • 百练 / 2025计算机学院推免上机考试(tm2025cs) 题单完整分析
  • 2025 最新一体化净水处理设备厂家 TOP5 权威推荐:工业民用净化优选
  • 计算机网络:知识点梳理及讲解(三)数据链路层 - 教程
  • 50043_基于微信小程序的小区物业管理系统
  • 2025/11/23
  • Widnwos+Codex+国内大模型 - unknown
  • # 二分图最大匹配
  • 几种常见的激光打标机及适配材质推荐选型 - 详解
  • 33号远征
  • 解码TCP
  • 死亡笔记 (Wordpress cms渗透)
  • iso 安装linux
  • isnotnull在oracle中的语法和使用技巧
  • 2025最新东莞AI搜索优化、GEO优化服务商TOP5评测:引领企业AI搜索增长新范式
  • 2025东莞最新数字人克隆厂商TOP5评测,客服数字人克隆 老板IP数字人克隆定制,全场景落地服务商行业口碑榜,专业选择指南。
  • P14225 [ICPC 2024 Kunming I] 左移 2 个人题解
  • 【URP】Unity[相机]渲染顺序