Class类的getClassLoader()方法

Class类的getClassLoader()方法packageminglu;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;publicclassHelloWorld{ publicstaticvoidmain(String[]args)throwsInstantiationException,

大家好,又见面了,我是你们的朋友全栈君。

package minglu;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class HelloWorld {

	public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
		System.out.println("这是我的第一个进程");
		Class<?> cls;
		try {
			cls = Class.forName("minglu.HelloWorld");
			ClassLoader cLoader = cls.getClassLoader();
			System.out.println(cLoader.getClass().getName());
			System.out.println(HelloWorld.class.getClassLoader().getClass().getName());
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		

	}

}
控制台输出结果:
这是我的第一个进程
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$AppClassLoader

<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">  java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类也是一个对象,类里面的属性和方法也是对象。java里面的所</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">
</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">有的类都是Class类的对象,这个this.class是获得这个类相对于Class类的对象。后面的方法是获得这个类对象的加载器。</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">
</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;"><span style="color:#ff0000;">只有Class类才有getClassLoader()方法呀</span>~ 可以这么想,我们平时讲述某某类,但是我们并没有说这个类怎么和虚拟机打交道,虚拟机怎么识别这</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">
</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">个类.总不能全靠字符串吧. 所以呢java就设计了Class这个类.用于虚拟机对类的管理.当一个类被虚拟机装载完毕的时候,就会创建一个Class类</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">
</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">的实例,对于类A就是A.class,对于类B就是B.class. Class类也提供了许多方法来获取类的信息. 要知道,类的装载器分为 "启动类装载器 ", "用</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">
</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: mceinline;">户定义装载器 ".它不止一种 Class类需要保存这些信息. getClassLoader()是用来获取这个信息的</span></p>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143817.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 设计模式之抽象工厂模式代码示例

    设计模式之抽象工厂模式代码示例

    2021年7月9日
  • oracle一次提交大量数据_oracle修改数据

    oracle一次提交大量数据_oracle修改数据StringBuilderstrSql=newStringBuilder();strSql.Append(“insertintoLB000(“);strSql.Append(“LBID,CARRIER,COMPANY_NAME,DOM_ASTD_WGT,FRN_ASTD_WGT,DOM_CSTD_WT,FRN_CSTD_WT,DOM_ISTD_WT,FRN_ISTD_WT,DOM_CREW…

    2022年9月6日
  • python抛出异常会终止程序吗_catch里面抛出异常

    python抛出异常会终止程序吗_catch里面抛出异常Python抛出异常

    2022年10月18日
  • python工具包大全_python 库 包 模块

    python工具包大全_python 库 包 模块首先,先向大家介绍一下什么是werkzeug,Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下,werkzeug不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个WSGI工具包,它可以作为一个Web框架的底层库,因为它封装好了很多Web框架的东西,例如Request,Response等等。例如我最常用的Flask框架就是一Werkzeug为基础开发的,这也是我要解析一下Werkzeug底层的原因,因为我想

    2022年9月1日
  • 谈谈我对服务熔断、服务降级的理解

    谈谈我对服务熔断、服务降级的理解伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。其实对老外的总结能力一直特别崇拜,KevinKelly、MartinFowler、WernerVogels……,都是著名的“

    2022年5月2日
  • Python修改文件后缀名[通俗易懂]

    Python修改文件后缀名[通俗易懂]读万卷书,行万里路——木子成记事本练习html,解决来回修改后缀名程序运行后项目文件夹下生成exe文件,后续双击exe文件即可修改可修改当前运行所在文件及其子文件中所有html和txt文件循坏修改后缀名”””name=os.path.splitext():分离文件名(name[0])和后缀name[1]os.rename(new_filename,old_filename):修改文件名,若不在最初工作地址则需更改os.listdir(文件地址):得到当前目录的所

    2022年9月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号