.class文件的内容不存在磁盘上而存在数据库里,要如何实现比较好? 如果希望将平时我们使用的.class文件的内容不存在磁盘上而存在数据库里,要如何实现比较好?谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 存到BLOB里或许可以,然后在存一个包名字,要加载类的时候再从数据库中取出来放到指定目录下,用反射机制实例化对象 答:其实不仅仅是将.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();装入.以上仅供楼主参考. 还是sql问题,两次调用自定义function结果如何求和? udp传输数据丢失很严重....... 跪求:用JAVA编译一个物理实验测量结果分析系统 java类包都有那些? 请问如何xml做为email的模板,发送邮件?请各位一起来讨论给个思路.谢谢! 请问怎样从SQL取多个数据 再问关于同一个FRAME里面,ItemListener互相干扰的问题 紧急求助:用JAVA编写FTP客户端软件 Java刚入门,鼠标如何托动一个东西的移动 请问哪里有比较好的学习java的书? JProgressBar 进度问题? 关于输出的一个问题
这一切如何实现?
常见的做法是:
自定义一个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();装入.
以上仅供楼主参考.