Maison> Java> javaDidacticiel> le corps du texte

java类加载器的常用方法有哪些

WBOY
Libérer: 2023-04-18 19:58:23
avant
1149 Les gens l'ont consulté

1、loadClass,当类加载请求到来时,首先从缓存中找到类对象。

如果有直接返回,如果没有,交给这种加载的父加载器加载。如果没有父加载,交给顶级启动加载器加载。如果最后还是找不到,用findClass()加载;

2、FindClass

按名称或位置加载Class字节码,然后使用defineClass通常由子类实现,如果需要定制ClassLoader,则必须重写该方法。

3、defineClass

defineClass()方法是将byte字节流解析为JVM能够识别的Class对象(ClassLoader中已经实现了该方法逻辑),该方法不仅可以通过class文件实例化class对象,还可以通过其他方法实例化class对象,例如,通过网络接收一类字节码,然后转换为byte字节流来创建相应的Class对象,而defineClass()方法通常与findClass()方法一起使用,通常在自定义类加载器时,会直接覆盖Classloader的findClass()方法并编写加载规则,获得要加载类的字节码后转换为流,然后调用defineClass()方法生成类的Class对象,简单地说就是将classs文件转换为Classs对象。

4、resolveClass使用类Class对象创建完成也可以同时解析。

之前我们说链接阶段主要是对字节码进行验证,分配存储器,设置类变量,同时将字节码文件中的符号引用转换为直接引用。

Java的优点是什么

1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!