`
darrenzhu
  • 浏览: 790868 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取java中已经加载类的来源地址

    博客分类:
  • Java
阅读更多
java可以从本地,网络加载一个类,那么如何得知一个已经加载好的类的来源地址呢?
参照下面的案例即可:

import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;

public class App{

	public static void main(String[] args) {
		
	try{
			
		Class cls = Class.forName("com.mkyong.io.Address");		
		ProtectionDomain pd = cls.getProtectionDomain(); 
		CodeSource cs = pd.getCodeSource(); 
		URL url = cs.getLocation();
		System.out.println(url.getFile());
	
	}catch(Exception ex){
		ex.printStackTrace();
	}
 }
}


Output
/E:/workspace/HibernateExample/target/classes/

即com.mkyong.io包下的类Address是从/E:/workspace/HibernateExample/target/classes/加载来的。
分享到:
评论

相关推荐

    java应用程序类加载器,ClassLoader for java Application

    通过配置类路径,开发者可以自定义加载顺序和加载来源,例如从网络、文件系统或特定的jar中加载类。 **配置灵活性**: 在开发大型Java应用时,类加载器的配置灵活性变得非常重要。例如,可以创建自定义类加载器来...

    Java虚拟机----类的加载过程.docx

    类加载器在类加载过程中起着关键作用,它们遵循双亲委派模型,从Bootstrap ClassLoader开始,向上委托,直到找到合适的类加载器加载类。开发者还可以自定义类加载器,实现特定的加载逻辑。 总的来说,Java虚拟机的...

    Java类加载机制学习1

    Java虚拟机(JVM)会记录这个加载器与加载类的关系,形成所谓的“双亲委派模型”。 当需要改变双亲优先模式,即实现“父最后加载”(ParentLast)模式时,可以通过自定义类加载器来实现。例如,`...

    类加载的工具

    5. **ClassGraph**:这是一个Java库,用于扫描类路径和模块图,可以方便地获取类加载的信息,同时支持动态加载类。 描述中提到的“在应用部署后,可找出是哪个类被加载了,在哪个目录或者jar中”,这通常是通过类...

    java 数字签名 证书加载

    Java 数字签名与证书加载是Java安全编程中的关键部分,主要涉及到网络安全、数据完整性和身份验证。在Java中,数字签名通常使用X.509证书来存储公钥和私钥对,这些证书用于实现非对称加密算法,如RSA或DSA。本项目是...

    java 类加载器学习笔记1

    Java的设计允许开发者创建自己的类加载器,实现如代码加密、热部署、从网络加载类等高级功能。 类加载机制遵循两个核心原则: 1. **委托代理加载机制**:当一个类加载器收到加载类的请求时,它首先将请求委托给其...

    java类加载过程详解.doc

    Java 类加载过程是Java虚拟机(JVM)在运行时动态加载类的机制,它涉及类的生命周期中的几个关键步骤,包括装载、连接、初始化和卸载。下面将详细阐述这些过程。 1. 装载 装载阶段是类加载的起始点,主要分为三个...

    jvm系列一java类的加载机制.doc

    类加载器可以从多种来源加载类的二进制数据,包括本地系统、网络、ZIP或JAR文件、数据库甚至动态编译Java源文件。开发人员可以使用默认类加载器或自定义类加载器来控制加载过程。 4. 加载过程详解: 加载阶段的...

    Java URLClassLoader动态加载jar包1

    Java URLClassLoader 是Java标准库中的一个类加载器,它允许我们动态地从指定的URL位置加载类和资源。这个功能在开发插件系统、热部署或者处理多种版本库的场景中非常有用。从JDK 1.2开始,`java.net.URLClassLoader...

    详解Java 类的加载机制

    类加载器在类加载机制中扮演关键角色,它负责加载类。JVM内置了三种标准类加载器:Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader。用户还可以自定义类加载器,扩展加载机制。 类加载机制的灵活性...

    java类查找小工具

    Java的类加载器是基于“双亲委托模型”工作的,当试图加载一个类时,它会先询问父类加载器是否已经加载过该类,只有当父类加载器无法找到时,才会尝试自己加载。这个过程确保了核心类库的稳定性和安全性。 Java类...

    ztree+java动态树加载实例

    在这个“ztree+java动态树加载实例”中,我们将深入探讨如何结合Java后端与ZTree前端库来创建一个动态的树形数据加载示例。 ZTree的核心功能是将复杂的数据结构转化为易于理解的树状视图。它支持多种交互方式,如...

    Java动态加载与插件开发研究.pdf

    隐式加载是通过new的方式加载类,而显式加载则是程序员在代码中显式地利用某个类加载器将类加载。 在Java中,可以通过Class类的静态方法forName()来动态加载一个指定的类,例如: ```java String className = ...

    java ip,身份证等接口查询所在地

    这段代码会加载GeoLite2数据库,并根据给定的IP地址获取对应的国家和城市信息。 接下来是身份证(ID Card)查询。在中国,身份证号码包含了持卡人的出生日期、性别以及籍贯信息。虽然我们不能直接通过身份证号码...

    java获取天气预报

    在Java编程中,获取实时天气预报是一项常见的任务,可以用于各种应用程序,如智能家居系统、出行助手等。本篇将深入探讨两种实现方式:通过HTTP客户端请求API接口获取XML数据以及利用HTMLUnit解析网页源码抓取天气...

    jar包中类的加载及jar中资源的使用

    1. 使用`Class.forName()`或`ClassLoader.loadClass()`:通过这两个方法可以指定`jar`包中的类路径,让类加载器找到并加载类。例如,`ClassLoader.loadClass("com.example.MyClass", true)`,其中第一个参数是类全名...

    JVM类加载过程.pptx

    类加载器可以从多种来源获取二进制字节流,包括从ZIP压缩包中读取,从网络中获取、运行时计算生成、由其他文件生成和从数据库中读取等。 JVM的执行引擎是JVM的核心组件之一,它负责执行字节码文件中的指令。执行...

    java读取配置文件

    如果你的项目使用了Spring框架,可以利用Spring的`Resource`接口来读取配置文件,它支持从类路径、文件系统、URL等多种来源加载资源: ```java Resource resource = new ClassPathResource("config.properties");...

    坚持写博客第一周--java基础知识回顾--jvm类加载1(csdn)————程序.pdf

    Java虚拟机(JVM)的类加载机制是Java运行时环境的重要组成部分,它负责将类的字节码文件从磁盘加载到内存中,并进行一系列处理以确保安全性和正确性。当我们通过`java`命令运行一个Java程序时,类加载器会开始工作...

    Java的类装载器和命名空间

    当一个类装载器接收到加载类的请求时,它首先会委托其父类装载器尝试加载,只有当父类装载器无法找到或加载该类时,才会尝试自己加载。这样可以防止恶意代码覆盖系统核心类,保证类的唯一性。 这个模型可以用层次...

Global site tag (gtag.js) - Google Analytics