`

JAVA类加载机制

    博客分类:
  • java
 
阅读更多

java源码编译机制   

class文件通常由类加载器(ClassLoader)来完成加载;class的执行在Sun JDK中有解释执行和编译为机器码执行两种方式,其中编译为机器码又分为两种方式(client和server两种模式)。Sun JDK为了提升class的执行效率,对于解释执行和编译为机器码执行都设置了很多优化策略

    javac编译源码为class文件的步骤

1、分析和输入到符号表

2、注解处理

3、语义分析和生成class文件

生成class文件的步骤

首先将实例成员和初始化器收集到构造器中,将静态成员初始化器收集为<clinit>();接着将语法抽象树生成字节码,采用的方法为后续遍历语法树,并进行最后的少量代码转换,(如String相加变成StringBuffer操作),最后从符号表生成class文件。

 

一个class文件包含以下信息,(结构信息、元数据、方法信息)

类加载机制

JVM将类加载分为3个步骤:装载、链接、和初始化

不同的类分别采用不同的ClassLoader或者ClassLoader的子类进行加载

类执行机制

 

字节码解释执行机制

JVM采用了invokestatic,invokevirtual,invokeinterface和invokespecial四个指令来执行不同的方法调用。invokestatic对应调用static方法,invokevirtual对应调用对象的实例方法,invokeinterface对应调用接口方法,invokespecial对应调用private方法和编译后生成的<init>方法,此方法为对象实例化时初始化方法

 

基于栈的体系结构执行字节码,好处为代码紧凑,体积小。执行过程中产生程序计数器PC和栈,PC存放下一指令的在方法内的偏移量,栈中存放栈帧,栈帧分为局部变量区和操作数变量区(执行解释执行、栈顶缓存、部分栈帧共享)

编译执行

C1 方法内联、去虚拟化、冗余消除

C2 标量替换、栈上分配、同步消除

 

分享到:
评论

相关推荐

    深入研究Java类加载机制 深入研究Java类加载机制

    深入研究Java类加载机制 深入研究Java类加载机制 深入研究Java类加载机制 深入研究Java类加载机制

    java类加载机制

    java 类加载机制,课程笔记。

    java类加载机制原理与实现

    Java 类加载机制原理与实现 Java 类加载机制是 Java 虚拟机(JVM)的一部分,负责将编译后的 Java 字节码文件加载到 JVM 中,以便执行 Java 程序。类加载机制是 JVM 的核心组件之一,对 Java 程序的执行和安全性起...

    Java类加载机制

    深层次剖析java的类加载机制。讲解java类加载的服装流程。

    2022年初探Java类加载机制Java教程.docx

    Java类加载机制详解 Java类加载机制是Java虚拟机(JVM)中的一种机制,负责将类从字节码文件加载到内存中,并将其转换为可执行的类对象。在Java中,类加载机制是通过ClassLoader来完成的,该机制在JDK 1.2以后变得...

    JAVA 类加载机制分析

    1、JVM的内存管理 理解了这一点,所有和对象相关的问题统统都能解决 2、JVM 类加载 理解了这一点,所有和Java相关的配置问题,包括各种App Server的配置,...这是一份对JAVA 类加载机制整理、分析比较全面的文章。

    java类加载机制.xmind

    该文件是JVM中关于类加载机制的知识整理的思维导图,包括类加载机制概述、类加载的生命周期、加载时机、加载过程、类加载、类的初始化和实例化等几个大方面进行了讲解,其中类加载中还对JVM三种预定义类加载器进行了...

    Java类加载机制.pdf

    Java类加载机制.pdf

    Java类加载机制与反射-PPT

    Java的类加载机制:加载,连接,初始化。JAVA类加载器: Bootstrap ClassLoader : 根类加载器, Extension ClassLoader: 扩展类加载器, System ClassLoader : 系统类加载器, Java反射

    Java类加载机制 PDF 下载

    Java类加载机制 PDF 下载

    JAVA类加载机制:探索虚拟世界的大门

    JAVA类加载机制:探索虚拟世界的大门

    JAVA类加载机制与动态代理

    类加载机制与动态代理吗,讲得很好对得资源分。

    Java类加载机制在E-learning平台功能模块更新中的应用.pdf

    Java类加载机制在E-learning平台功能模块更新中的应用

    Java类加载机制.doc

    对java的类加载机制,进行了深入的解析,并详细的实现了客户化加载器。

    译 Java类加载机制(二)

    为方便查看,建议下载此word文档,包括\"译 Java类加载机制(一、二)\" 博文链接:https://nonopo.iteye.com/blog/208012

    详解JAVA类加载机制

    主要介绍了JAVA类加载机制的相关知识,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下

    深入理解java类加载机制

    此外,我们还会探讨Java程序的类加载器和双亲委派机制,以及自定义类加载器和类卸载的实现原理和应用方法。 总的来说,本资源将为Java程序员提供全面的Java字节码和类加载原理和实践经验。通过学习本资源,开发人员将...

Global site tag (gtag.js) - Google Analytics