.class文件的内容不存在磁盘上而存在数据库里,要如何实现比较好?

qintian1114 2009-02-23 03:44:41
如果希望将平时我们使用的.class文件的内容不存在磁盘上而存在数据库里,要如何实现比较好?谢谢。
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
云上飞翔 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 qintian1114 的帖子:]
如果希望将平时我们使用的.class文件的内容不存在磁盘上而存在数据库里,要如何实现比较好?谢谢。
[/Quote]
答:其实不仅仅是将.class文件的内容存在数据库里,还可以直接放在内存数组中,或者干脆就放在另外一台计算机上,到时再从它那儿取出来.
这一切如何实现?
常见的做法是:
自定义一个MyClassLoader extends ClassLoader ,然后在方法:
1) private byte[] loadClassData(String name) {
//你的代码:从数据库中,或从内存的数组中,或干脆从另外一台计算机上,读出类的二进制数据,
//放入字节数组中,返回这个字节数组
}

2)在方法中:
public Class findClass(String name) {
byte[] b = loadClassData(name);
//调用前面你定义的loadClassData(String name),这个name就是如:mypackage.p1.MyClass之类的你的类名
return defineClass(name, b, 0, b.length);
}

3)通过Object o= new MyClassLoader().loadClass(yourname, true).newInstance();装入.


以上仅供楼主参考.

ip_moon 2009-02-23
  • 打赏
  • 举报
回复
路过~学习ing~
混沌君子 2009-02-23
  • 打赏
  • 举报
回复
存到BLOB里或许可以,然后在存一个包名字,要加载类的时候再从数据库中取出来放到指定目录下,用反射机制实例化对象
createWang 2009-02-23
  • 打赏
  • 举报
回复
存在指定文件夹我会,经常用。但是存放在数据库还没听过,学习。等待高手。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧