ITPUB论坛 » Java入门与认证版 » 从内存块中调用类
新一届的微软MVP评选已经开始,欢迎各位推荐!
2008-7-15 14:00 cayman811
从内存块中调用类

有一个C/S模型的实用,客户端需要执行一个经常变化的类,但类的名字和方法是固定的,客户端每次启动后,都从服务器下载编译好的CLASS文件如:A.CLASS,出于安全的考虑,这个文件不能存在文件系统中,只能保存在内存块中. 由于对于客户端业说,A.CLASS只能在运行时才出现,所以想采用反射技术,即:
Class objClass = Class.forName("A.CLASS");
A obj = (A)objClass.newInstance();
但好象要使该方法成功,A必须是客户端可以找得到的类,问题是现在A.CLASS 这个字节码还只是在内存块中.

如何实现呢? 高分酬谢!!

2008-7-15 14:01 cyntha80
自己写个 ClassLoader 拿它加载你的 Class,再用反射 new 实例。

2008-7-15 14:01 lazycat001
自己写个 ClassLoader 拿它加载你的 Class,再用反射 new 实例。

谢谢,sagezk
能否给出一个实例,这个我不太懂!

2008-7-15 15:29 bhan2008
ClassLoader.defineClass(String name, byte[] b, int off, int len)

2008-7-15 19:02 greenflute
[quote]原帖由 [i]bhan2008[/i] 于 2008-7-15 08:29 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10954943&ptid=1021891][img]http://www.itpub.net/images/common/back.gif[/img][/url]
ClassLoader.defineClass(String name, byte[] b, int off, int len) [/quote]


:rose: :rose: :rose: :rose:

2008-7-16 11:31 easier_wjh
学习。。。。。

页: [1]
查看完整版本: 从内存块中调用类


Powered by ITPUB论坛