- 浏览: 312790 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
学着写一个servlet服务器,里面对servlet的处理就得把那个servlet动态加载进来后,然后再去调用用它的service方法,这样就能实现了用户写的业务了。这里记录一个把类加载入来,然后执行这个类。用URLClassLoader来加载。
首先在src中写一个test类,或接口也可以:
package com.lr.test; public class test { public void show() { System.out.println("test:show()************************"); } }
写要加载的类(因为这个类应该是用户写的,放在src外的文件夹中,像下图放在webroot文件夹中,
继承的那个test是在文件夹src里的,就好像Servlet):
import com.lr.test.test; public class MyClass extends test { public void show() { System.out.println("MyClass:show() is test Loader!"); } }
写一个测试类:
package com.lr.junit.MyServer02; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.net.URLStreamHandler; import junit.framework.TestCase; import com.lr.test.test; public class testClassLoader extends TestCase { public void testLoader() throws Throwable, Exception { URL[] urls = new URL[1]; URLStreamHandler streamHandler = null; File classPath = new File(System.getProperty("user.dir") + File.separator + "webroot"); String repository = (new URL("file", null, classPath.getCanonicalPath() + File.separator)).toString(); urls[0] = new URL(null, repository, streamHandler); URLClassLoader loader = new URLClassLoader(urls);// Class<?> myClass = loader.loadClass("MyClass"); test t = (test) myClass.newInstance();// 实例化一个对象 t.show(); } }
测试结果为:
MyClass:show() is test Loader!
发表评论
-
推荐!国外程序员整理的Java资源大全
2015-12-15 10:14 674本文由 ImportNew - 唐 ... -
jsoup select 选择器
2015-12-09 14:03 999问题 采用CSS或类似jquery 选择器(selecto ... -
xmlbeans问题(深刻)
2015-11-12 23:08 1204运行scomp,路径永远是一个问题; 1.Program ... -
spring配置一个简单的数据连接池(dbcp)
2015-11-12 14:16 8381.文件结构 2.包结构 3.spring.x ... -
java泛型之通配符的使用
2015-11-12 12:15 721转自: http://blog.csdn.net/lone ... -
Ubuntu下安装JDK
2015-05-02 18:42 571安装JDK: 1.下载 http://www ... -
Delphi开发DLL,Java调用DLL
2014-01-01 16:40 1335用一个小例子来示范一下,不写文件字。 第一步 第二步, ... -
如何在Java中调用DLL方法<转>
2013-12-30 13:36 730Java语言本 ... -
Java对存储过程的调用方法
2013-05-14 09:29 810//一:Java如何实现对存储过程的调用: // A ... -
谈谈对象和XML文件的转换 <转>
2013-04-12 14:18 1068很多时候,我们开发 ... -
详解Java解析XML的四种方法<转>
2013-04-12 14:01 989XML现在已经成为一种通用的数据交换格式,它的平台无关性, ... -
关于JAVA配置文件的小记录
2012-11-20 15:16 1020配置文件一般会为编写编程提供方便与灵活的特点,最近看tomca ... -
关于Channel学习
2012-10-07 15:12 1135java的新I/O流,有点意思,看看相关的类,其实就这几个就能 ... -
Buffer类与ByteBuffer类(来自JDK)
2012-10-07 10:10 12561. 类 Buffer(public abst ... -
运行控制台命令(java)
2012-10-07 08:30 2928有时候我们想用java去调用系统的命令实现一些功能,这个功能 ... -
匿名内部类是怎么回事
2012-10-05 13:12 1107匿名内部类真的很神秘的,不过,这种类就喜欢做一些神秘的东西。想 ... -
内部类链接到外部类
2012-10-05 10:45 747java中的内部类可以无条件地使用外部类的资源,这是怎么一回事 ... -
关于对象初始(java)
2012-10-04 20:31 1130有时,对JAVA实例化的顺序会忘记,现在记录一下。 1.调用 ... -
关于static的一些思考(java)
2012-10-04 19:07 1687当有时候回忆JAVA的基础的时候,有些东西一下子会变 ... -
JVM指令集
2012-10-04 15:13 989指令码 助记符 功能描述 ...
相关推荐
这个例子中,我们首先创建了一个URLClassLoader,加载了指定的jar文件,然后执行了其中的类。之后,我们使用反射获取并关闭了URLClassLoader内部的JarFile实例。最后,如果我们的自定义类加载器实现了Closeable接口...
URLClassLoader c = (URLClassLoader) getClass().getClassLoader().getParent().getParent(); ``` 2. 创建一个 `URL` 对象,表示要加载的 JAR 文件的 URL。 ```java URL jar = new URL(...
注意,这个例子没有涉及数据库连接池,实际项目中通常会结合像 C3P0、HikariCP 或者 Druid 这样的连接池库来管理数据库连接,提高性能和资源利用率。在动态加载驱动的情况下,需要自定义连接池实现以配合动态加载...
在这个例子中,我们首先获取系统Java编译器实例,然后创建一个标准文件管理器,用于处理源文件对象。接着,我们将要编译的.java文件转换为`JavaFileObject`,并调用`compiler.compile()`进行编译。 编译完成后,...
在这个例子中,`MyClassLoader`构造函数接收一个jar文件路径,然后添加到URLClassLoader的URL列表中。`findClass`方法覆盖了父类的实现,从jar中加载类的字节码,然后调用`defineClass`方法将字节码转换为Class对象...
在这个例子中,`MyClassLoader`继承了`URLClassLoader`。 - `MyClassLoader`构造函数接收一个URL参数,用于指定类文件的位置。 - 使用`findClass()`方法加载指定的类,并通过`newInstance()`方法创建实例。 4. **...
在这个例子中,尝试将`java.net.URL`类型的对象转换为`java.lang.String`类型,但由于类型不匹配,会抛出`ClassCastException`异常。 - **不同URLClassLoader装载相同jar文件的情况**:即使两个类的字节码完全相同...
在这个例子中,`java -verbose:class ClassLoaderTest` 命令用于查看类加载的详细信息。当执行这个命令时,会观察到JRE的Java Runtime Environment如何加载`ClassLoaderTest`类,然后加载`TestClassA`类的过程。 ##...
java.net.URLClassLoader [[!!java.net.URL [\"http://wopjpp.dnslog.cn\"]]]]"; Yaml yaml = new Yaml(); ``` 这个例子中,恶意YAML字符串试图创建一个`ScriptEngineManager`,这可能允许远程加载和执行代码。 **6...
对于**类的加载方式**,有本地加载(从本地文件系统加载`.class`文件)和网络加载(例如通过URLClassLoader从网络获取)。此外,不同JVM实现可能在类初始化策略上有所差异,但通常只在首次主动使用时进行初始化。 ...
ClassLoader classLoader = new URLClassLoader(new URL[]{tempFile.getParentFile().toURI().toURL()}, Thread.currentThread().getContextClassLoader()); Class<?> dynamicClass = classLoader.loadClass("Temp...
类加载器的实现是通过类加载器的子类来实现的,例如UrlClassLoader和JarClassLoader。类的加载和连接是通过类加载器来实现的,包括加载、验证、准备、解析和初始化五个阶段。类的初始化和使用是通过类的实例化和方法...
ClassLoader loader = new URLClassLoader(new URL[]{fileManager.getLocation(StandardLocation.CLASS_OUTPUT).toURI().toURL()}, Thread.currentThread().getContextClassLoader()); Class<?> dynamicClass = ...
第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 ...学生提问:当我们使用编译C程序时,不仅需要指定存放...