2016 - 2024

感恩一路有你

jvm加载类的顺序 JVM为什么要3个类加载器?

浏览量:2890 时间:2021-03-15 03:47:17 作者:admin

JVM为什么要3个类加载器?

JVM有三种加载程序:bootstrap负责加载系统类,extclassloader负责加载扩展类,appclassloader负责加载应用程序类。他们主要负责不同领域的工作,同时也负责授权模式的实施。什么是授权模式?实际上,当类装入器需要装入时,它首先要求其父类使用父类的搜索路径进行联接。如果找不到,它将使用自己的搜索路径来搜索类。

执行Java*时。班级,java.exe文件将帮助我们找到JRE,然后找到jvm.dll这是真正的Java虚拟机。最后,加载动态库并激活Java虚拟机。在虚拟机被激活之后,它将执行一些初始化操作,例如读取系统参数。初始化完成后,将生成第一个类装入器——引导装入器。Bootstrap loader是由C语言编写的,在Bootstrap loader的初始工作中,除了一些基本的初始化操作外,最重要的是加载启动器.java并将其父加载程序设置为null,这意味着父加载程序是引导加载程序。然后引导加载程序要求再次加载启动器.java并将其父级设置为之前生成的extclassloader实体。这两个加载程序都以静态类的形式存在。需要注意的是,launcher$ExtClassLoader.class类带启动器$AppClassLoader.class类它们都是由引导加载程序加载的,所以父级与要加载的类加载程序无关。

jvm:java代码是如何运行的?

一个java项目包含许多带有“.”的源代码文件。Java“后缀。除了直接在IDE中调试外,一般来说,代码类型是jar包或war包,最后打包的jar包或war包被发送到在线服务器进行部署。

部署的方法有很多,最基本的方法是通过Tomcat容器进行部署,也可以通过Java命令手动运行jar包中的代码。

在Java代码打包过程中,源代码通常被编译成一个字节码文件,并带有“。“类”后缀。JVM只能识别和解释字节码文件类。

对于已编译的类字节码,您需要使用诸如Java-jar之类的命令来运行已编写的代码;一旦使用Java命令,此时您将实际启动JVM进程。

JVM进程将负责运行这些类字节码文件,这相当于运行我们编写的代码。

要运行这些类字节码文件中的代码,JVM将使用类加载器将编译后的类字节码文件加载到JVM的内存中

执行加载到内存中的类。当JVM需要哪个类时,它将使用类加载器来加载相应的类。

jvm加载类的顺序 jvm类加载过程 jvm类加载机制原理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。