java.lang.Class与实际的.class文件相同吗?即内容是否等同?Java:.class文件和java.lang.Class
我想通过套接字发送.class,并想知道如果不是试图查找和加载实际的.class文件,而是只是传输java.lang.Class,而不是?
精(如果您想了解更多信息读取)
假设我有一个名为someObj中的Java类。编译这个文件时,会生成一个名为SomeObj.class的文件。
我们也知道,如果我有someObj中作为一种类型,我们可以通过做得到它的java.lang.Class类型:
Class someObjClss = SomeObj.class;
我们知道java.lang.Class中实现Serializable,因此可以传输。
那么java.lang.Class基本上是实际.class文件的对象表示形式吗?
UPDATE:
假设我已经传送的.class文件到另一台主机,我只是使用的defineClass()方法构造类的回来?
链接here
UPDATE2:
此代码返回空的InputStream。这怎么可能?
Class clazz = String.class;
String className = clazz.getName(); System.out.println(className);
URL url = clazz.getResource(className);
if(url != null)
{
String pathName = url.getPath(); System.out.println(className);
}
InputStream inputStream = clazz.getResourceAsStream(className);
if(inputStream != null)
{
System.out.println(inputStream.available());
}
我在做代码移动。我需要在另一端使用Reflection来动态加载类。 – sivabudh 2009-11-20 04:07:22
您需要发送实际的.class然后在另一端加载它。你可能想看看这篇文章:http://java.sun.com/developer/technicalArticles/Networking/classloaders/ – ChssPly76 2009-11-20 04:10:56
感谢您的文章。我其实只需要加载.class文件。有没有简单的方法来从我的应用程序中简单地找到.class文件? – sivabudh 2009-11-20 04:17:15