编译程序的顺序,java编程顺序
如何解决写爬虫IP受阻的问题?立即使用。
java代码编译顺序:
Java代码编译是由Java源码编译器来完成,流程图如下:
Java字节码的执行是由JVM执行引擎来完成,流程图如下:
Java代码编译和执行的整个过程包括以下三个重要机制:1)Java源代码编译机制;2)类加载机制;3)类执行机制
其中,Java源代码编译由以下三个过程组成:1)分析并输入符号表;2)标注处理;3)语义分析和类文件的生成
流程图如下:
生成的类文件由以下部分组成:
1)结构信息。包括类文件格式版本号和每个部分的数量和大小的信息。
2)元数据。对应于Java源代码中声明和常量的信息。包含类、继承的超类、实现的接口的声明信息、域和方法声明信息以及常量池。
3)方法信息。Java源代码中语句和表达式的对应信息。它包含字节码、异常处理表、评估栈和局部变量区的大小、评估栈的类型记录和调试符号信息。
类加载机制
JVM的类加载是由ClassLoader及其子类完成的。类的层次关系和加载顺序如下图所示:
1)引导类加载器
负责在$JAVA_HOME中加载jre/lib/rt.jar包中的所有类,由C实现,不是ClassLoader的子类。
2)扩展类加载器
加载一些Java平台中负责扩展功能的jar包,包括jre/lib/*中的jar包。jar在$JAVA_HOME或-djava.ext.dirs指定的目录中。
3)应用程序类加载器
负责记录类路径中指定的jar包和目录中的类
4)自定义类加载器
由应用程序根据自身需求定制的ClassLoader,如tomcat和jboss,会按照j2ee规范实现ClassLoader。
在加载过程中,它会先检查类是否已经加载,检查顺序是自下而上,从自定义类加载器到BootStrap。ClassLoader逐层检查,只要一个类加载器已经加载,就视为一个已加载的类,而且这个类保证只加载一次。装载顺序是从上到下。
类执行机制
JVM执行基于栈架构的类字节码。线程创建后,生成程序计数器(PC)和堆栈,程序计数器存储下一条要执行的指令。堆栈存储堆栈帧,每个堆栈帧对应每个方法的每次调用,堆栈帧由两部分组成:局部变量区用于存储方法中的局部变量和参数,操作数堆栈用于存储方法执行过程中产生的中间结果。堆栈结构如下:
以上是java代码编译序列的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。