返回顶部
首页 > 资讯 > 精选 >java类加载器URLClassLoader怎么使用
  • 479
分享到

java类加载器URLClassLoader怎么使用

2023-07-05 22:07:08 479人浏览 安东尼
摘要

这篇文章主要介绍“java类加载器URLClassLoader怎么使用”,在日常操作中,相信很多人在java类加载器URLClassLoader怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java类

这篇文章主要介绍“java类加载器URLClassLoader怎么使用”,在日常操作中,相信很多人在java类加载器URLClassLoader怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java类加载器URLClassLoader怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

类加载器之URLClassLoader的简单demo

public class Test {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, IOException {URL[] urls = new URL[] {new URL("Http://192.168.119.132:8080/images/animal.jar")};URLClassLoader classLoader = new URLClassLoader(urls);//加载类以后就可以得到 Class 对象了Class<?> clazz = classLoader.loadClass("com.learn.animal.Dog");classLoader.close();  //加载完类以后就可以删除了。//关闭 classLoader, 否则会造成 资源泄露  Resource leak//这里不使用默认的构造器,使用带参数的构造器 获取特殊的构造器Constructor<?> con = clazz.getDeclaredConstructor(String.class, int.class, int.class);//使用构造器创建对象Object ob = con.newInstance("小黑",12,50);//在调用 Dog 对象的 say 方法,返回对 Dog 对象自己的描述Method mtd0 = clazz.getMethod("say", new Class<?>[] {});  String dogSay = (String)mtd0.invoke(ob, new Object[] {});  System.out.println(dogSay);//再使用setter 方法,改变属性  模拟 Dog 对象,逐渐长大,变胖  哈哈!System.out.println("Three years later......");Method mtd1 = clazz.getMethod("setAge", int.class);mtd1.invoke(ob, 15);Method mtd2 = clazz.getMethod("setWeight", int.class);mtd2.invoke(ob, 70);//注意这些方法是有返回值的!  返回值都是 Object 类型,需要自己强转类型dogSay = (String)mtd0.invoke(ob, new Object[] {});  System.out.println(dogSay);System.out.println("It's over!");}}

这里的 URL 资源,我用的是虚拟机里面的搭建的简单的 Nginx 服务器,也是看着别人的教程搭建的,很简陋的一个服务器,哈哈。但是,这里足够使用了,如果没有条件,或者想简单一点,可以使用本地的文件系统。
使用 file:///jar包地址 这个替换就行了。

这里使用的 jar 包也很简单,但是我直接打成了 jar 包,只有 class 文件了,我反编译以下,把代码图片贴出来吧。
这个反编译不是全部代码,但是细节很简单,只有一个 say() 方法,可以参照下面的运行截图,补全。

java类加载器URLClassLoader怎么使用

然后是运行截图,注意我这里这个 -encoding utf-8 是指定使用编码字符集,因为cmd里面执行代码,如果有中文可能无法通过编译。

java类加载器URLClassLoader怎么使用

到此,关于“java类加载器URLClassLoader怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: java类加载器URLClassLoader怎么使用

本文链接: https://lsjlt.com/news/355665.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java类加载器URLClassLoader怎么使用
    这篇文章主要介绍“java类加载器URLClassLoader怎么使用”,在日常操作中,相信很多人在java类加载器URLClassLoader怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java类...
    99+
    2023-07-05
  • 一个简单的类加载器URLClassLoader案例
    类加载器之URLClassLoader的简单demo 最近,看了一点反射相关的知识,感觉Java 的知识还有很多需要学习的,这也是一个很大的挑战吧。这里写了一个小 demo,来加深对...
    99+
    2023-05-14
    java类加载器 java URLClassLoader java类加载器案例
  • 怎么解析Java类加载器
    这篇文章给大家介绍怎么解析Java类加载器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Jav...
    99+
    2023-06-02
  • 如何在java中使用类加载器
    今天就跟大家聊聊有关如何在java中使用类加载器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3...
    99+
    2023-06-14
  • Java类加载器ClassLoader的使用详解
    目录BootstrapClassLoaderExtClassLoaderAppClassLoader类加载器的具体实现在哪里类加载器的初始化时机如何进行的类加载Loader.getR...
    99+
    2022-12-19
    Java类加载器ClassLoader Java ClassLoader Java类加载器
  • java怎么自定义类加载器
    要自定义类加载器,可以按照以下步骤进行:1. 创建一个类,继承自java.lang.ClassLoader类,覆盖其中的findCl...
    99+
    2023-09-14
    java
  • java类加载器怎么自定义
    要自定义Java类加载器,可以继承ClassLoader类,并重写它的findClass()方法。下面是一个简单的示例:```jav...
    99+
    2023-09-14
    java
  • java 类是怎么加载的
    类加载,就是读取 .class 文件到内存中,放入方法区,并在堆区创建一个 java.lang.Class 类型的对象,这个对象封装了类在方法区内的数据结构。类加载发生在何时?一般在类被使用时发生,包括下面 6 种情况:– 使用 new 关...
    99+
    2019-06-01
    java教程 java 加载
  • Java类加载器以及类加载器的委托模型是什么
    本篇内容介绍了“Java类加载器以及类加载器的委托模型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们知道,我们在Java中用到的所...
    99+
    2023-06-17
  • Java类加载过程与类加载器详细介绍
    目录1. 类加载过程加载链接初始化2. 类加载器启动类加载器扩展类加载器应用类加载器自定义类加载器双亲委派模型1. 类加载过程 加载 通过类的全限定名(包名 + 类名),获取到类的...
    99+
    2022-11-13
    Java 类加载过程 Java加载器
  • java动态加载类框架怎么应用
    Java动态加载类框架可以应用于以下场景:1. 插件系统:动态加载插件,实现功能的扩展和灵活性。可以根据配置或者用户的选择,动态加载...
    99+
    2023-10-10
    java
  • Java怎么自定义类加载器实现类隔离
    这篇“Java怎么自定义类加载器实现类隔离”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么自定义类加载器实现类隔离...
    99+
    2023-07-05
  • java类加载器ClassLoader详解
    获得ClassLoader的途径 获得当前类的ClassLoaderclazz.getClassLoader() 获得当前线程上下文的ClassLoaderThread.currentThread().getContextClassLoad...
    99+
    2019-01-28
    java基础 类加载器 ClassLoader
  • java类加载器有哪些
    java中的类加载器有:1.AppClassLoader,系统类加载器;2.BootstrpLoader,启动类加载器;3.ExtClassLoader,扩展类加载器;4.User Defined ClassLoader,用户自定义类加载器...
    99+
    2024-04-02
  • java有哪些类加载器
    这期内容当中小编将会给大家带来有关java有哪些类加载器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、分类(1)引导类加载器用C++编写的,是JVM自带的类加载器,负责Java平台核心库,用来加载核心...
    99+
    2023-06-15
  • Java中类的加载器及其加载过程
    目录Java中类的加载器及其加载过程概述过程一:Loading过程二:Linking过程三:InitializationJava中类的加载器及其加载过程 概述 字节码文件在类加载器子...
    99+
    2023-05-16
    Java类的加载器 Java类加载过程 加载器加载过程
  • jvm类加载器,类加载机制是什么
    这篇文章主要介绍“jvm类加载器,类加载机制是什么”,在日常操作中,相信很多人在jvm类加载器,类加载机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jvm类加载器,类加载机制是什么”的疑惑有所帮助!...
    99+
    2023-06-16
  • Java类加载器的特色是什么
    这篇文章主要介绍“Java类加载器的特色是什么”,在日常操作中,相信很多人在Java类加载器的特色是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java类加载器的特色是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-15
  • Java中怎么实现类隔离加载
    Java中怎么实现类隔离加载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一 什么是类隔离技术只要你 Java 代码写的足够多,就一定会出现这种情况:系统新引入了一个中间件...
    99+
    2023-06-15
  • java中无法加载主类怎么办
    如果在Java中无法加载主类,可以尝试以下几种方法进行排查和解决:1. 检查是否正确设置了类路径(classpath)。确保将所有需...
    99+
    2023-09-07
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作