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

读书笔记:《深入理解Java虚拟机》(9)

虚拟机类加载机制

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一 大步。

Java虚拟机把描述类的数据Class文件加载到内存,并对数据进行校验转换解析和初始化,最 终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。

与那些在编译时需要进行连接的语言不同,

在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的

这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销

但是却为Java应用提供了极高的扩展性和灵活性

Java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。

类的生命周期

一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载 (Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证、准备、解析三个部分统称为连接(Linking)。


http://www.kler.cn/a/288265.html

相关文章:

  • 学习日记_20241115_聚类方法(层次聚类)
  • 动态规划-背包问题——[模版]完全背包问题
  • 解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
  • Java 包装类
  • 解决VsCode无法跳转问题
  • 【CSS】什么是BFC?
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用UserSet功能保存和载入相机的各类参数(Python)
  • java导出Excel接口
  • 32位CPU中,实现32位无符号乘法,返回64位无符号数据。原理解析。
  • oracle expdp/impdp 迁移数据库
  • 数学基础 -- 图像处理之Sobel卷积核推导过程
  • C++STL~~list
  • Day21—爬虫性能优化技巧
  • 自动化仓储系统:知识汇总
  • 将语义分割的标签转换为实例分割(yolo)的标签
  • vim和nano的基础教程(很基础的那种)
  • wordcloud兼figma的词云图片python生成
  • 情感共鸣:数业智能心大陆重塑AI心理交互新纪元
  • Github 2024-09-03 Python开源项目日报 Top10
  • cpu架构:x86和arm
  • 猎板PCB正片与负片工艺:深入解析PCB制造中的光刻技术及其应用
  • 【深度学习 transformer】transformer 训练一个文本分类任务,超简单了
  • 【初出江湖】分布式之什么是分布式存储?
  • 函数式编程(纯函数函数柯里化代码组合)
  • WPF性能优化之UI虚拟化
  • 贪心算法---监控二叉树