当你使用类Exception扩展一个类(用于创建新的异常)时,你会得到一个警告serialVersionUID.我知道serialVersionUID在序列化和反序列化时它起着重要作用,但是当我的异常需要被序列化时?任何人都可以给我一个实际案例,我希望我的自定义异常类具有序列化和反序列化?
java serialization exception serialversionuid deserialization
我正在使用安装了Oracle的Java 7的Mac OS X测试我当前的应用程序.而是使用Oracle的Java 7,它使用的是Apple的Java 6.的默认的系统输出java -version被示出7.
我尝试了不同网站中提到的大部分内容,但我无法解决此问题.
JAVA_HOME 也正确设置.
我仅将Mac用于测试目的.我真的需要一些指导.
当我通过选择JRE 7运行Eclipse时,它运行正常.因此,应用程序没有任何问题.我在Mac OS X上遗漏了一些东西.
我的Java系统环境如下所示:
OS X版本
10.8
/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.7.0_12, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk
1.6.0_37-b06-434, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_37-b06-434, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)/usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/Home/
Run Code Online (Sandbox Code Playgroud)JAVA_ARCH 没有设定
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "1.7.0_12-ea"
Run Code Online (Sandbox Code Playgroud)ls /Library/Java/JavaVirtualMachines
jdk1.7.0_12.jdk
Run Code Online (Sandbox Code Playgroud)/System/Library/Frameworks/JavaVM.framework/Commands/java -version
java version "1.6.0_37"
Run Code Online (Sandbox Code Playgroud)我想我现在的JDK指的是错误的.
可能重复:
我为什么要打扰serialVersionUID?
我正在经历一些异常处理代码,我看到了一些名为serialVersionUID的东西.这个uid用于什么?是否仅限于例外或可以在所有类中使用??? 这个id有什么好处???
我们知道我们可以使用虚拟继承来解决钻石问题.
例如:
class Animal // base class
{
int weight;
public:
int getWeight() { return weight;};
};
class Tiger : public Animal { /* ... */ };
class Lion : public Animal { /* ... */ };
class Liger : public Tiger, public Lion { /* ... */ };
int main()
{
Liger lg ;
/*COMPILE ERROR, the code below will not get past
any C++ compiler */
int weight = lg.getWeight();
}
Run Code Online (Sandbox Code Playgroud)
当我们编译这段代码时,我们会得到一个模糊错误.现在我的问题是编译器内部如何检测这种模糊问题(钻石问题).
我是J2EE的新手,考虑到同样的问题,请回答.当我们使用struts时为什么要load-on-startup>2</load-on-startup>在servlet标签中写< ?这个标签是什么意思?如果有什么东西加载秒,那么先加载什么 另请提供一些链接,它解释了structs-config.xml的所有标签
我想知道哪种工具最适合在我的代码中找到任何类型的错误.我知道这可能是一些理论上或永无止境的问题所以我想根据错误报告的效率(包括命名约定)对其进行修改.那么您可以说哪个工具报告和最大错误以及是否在行业中有效使用?我听说过findbug真的很棒吗?
我想默默地在mac上安装java 7.我无法找到相同的任何文档/链接.
我也不想在/ Library中.是否可以在任何自定义位置安装相同的内容.
我是非常新的mac任何帮助都非常感谢.
这是我之前的问题 嗨我是net framework的新手.你可以告诉我.net框架版和asp.net版是不同的.是clr版本和asp.net版本有一些关系.我如何从注册表中获取asp.net版本.任何人都可以给我版本列表.但我对SO上的这个链接感到困惑 -请参阅Varun的回答
他说asp.net版本和clr版本是一样的.net框架版本是不同的.我还试图在我的机器上使用aspnet_regiis.exe查看已安装的asp版本,它提供与clr(2.0和4.0)相同的版本号.我还在版本2.0和4.0文件夹中看到了aspnet_isapi.dll.这是否意味着clr和asp.net版本号相同.没有asp.net版本3.0和3.5 ??? 我对guffa的答案很放松,但看到这个后我很困惑任何人都可以帮助我知道asp.net版本和.netframework版本是否相同?或者asp.net版和clr版是一样的吗?回答官方链接会很有帮助.
提前致谢.
您好我想使用WMI类来查找应用程序和产品信息.但问题是我想使用java或任何脚本语言,如python,javascript或perl.我听说过JWMI,它可能是一个选择.任何人都可以帮我这个???
我对java中的异常处理很新,因此这个问题可能看起来很愚蠢,但请让它回答.假设我有一个方法A,其中代码的某些部分可以抛出异常B然后在方法中捕获异常或将方法声明写为以下内容之间有什么区别: -
void A() throws B{
----//----
}
Run Code Online (Sandbox Code Playgroud)