当您使用Exception类扩展一个类(用于创建新的异常)时,会收到警告,提示您有一个serialVersionUID
。我知道这serialVersionUID
在序列化和反序列化过程中起着重要的作用,但是何时需要序列化我的Exception?谁能给我一个实际的案例,让我的自定义异常类具有序列化和反序列化?
这是因为所有异常的根类都Throwable
实现了Serializable
接口。默认情况下,所有异常都是可序列化的,这是一种语言设计决策,因为作者希望异常能够在没有任何特殊配置的情况下通过网络发送。
如果基类不可序列化,那么在远程方法失败的情况下,您将很难传递确切的错误信息,因为您无法控制内置的异常类型。
问题内容: 要编译此代码,我可以: 将我的通话置于try / catch块中,或 已经声明它可以抛出一个。 为什么我必须这样做? (示例代码来自Kathy Sierra的SCJP书 。) 我知道引发的异常是已检查的异常,因此我必须处理它,但是在什么情况下需要引发此异常? 问题答案: 如果以一种可以引发检查异常的方式声明方法(不是的子类),则调用该方法的代码必须在一个块中调用它,否则调用者方法必须声
问题内容: 我在dos.oracle.com上找到了这个 公共静态列表syncedList(列表列表) 返回由指定列表支持的同步(线程安全)列表。为了保证串行访问,至关重要的是,对后备列表的所有访问都必须通过返回的列表来完成。当用户遍历返回列表时,必须手动对其进行同步: 我的问题是:如果应该返回已经同步的列表,为什么我必须同步列表以对其进行迭代? 我只是在两个线程中访问列表:一个线程只是添加,另一
本文向大家介绍什么是 Java 序列化?什么情况下需要序列化?相关面试题,主要包含被问及什么是 Java 序列化?什么情况下需要序列化?时的应答技巧和注意事项,需要的朋友参考一下 Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。 以下情况需要使用 Java 序列化: 想把的内存中的对象状态保存到一个文件中或者数据库中时候; 想用套接字在网络上传送对象的时候; 想
问题内容: Angular应用使用属性而不是事件。 为什么是这样? 问题答案: ng-click包含一个角度表达式。Angular表达式是在Angular 范围的上下文中求值的,该范围绑定到具有ng- click属性的元素或该元素的祖先。 Angular表达式语言不包含流控制语句,也不能声明变量或定义函数。这些限制意味着模板只能访问由控制器或指令提供的变量和运行功能。
我用Spring AOP写了一个非常简单的方面。这是可行的,但我在理解到底发生了什么方面有一些问题。我不明白为什么我必须添加aspectjweaver。罐子Spring AOP文档明确指出,只要我只使用Spring AOP,我就不需要aspectj编译器或weaver: 尽管AOP运行时仍然是纯Spring AOP,并且不依赖AspectJ编译器或weaver。 我的配置如下所示: 我也尝试了XM
问题内容: 我用Spring AOP写了一个非常简单的Aspect。它有效,但是我在理解实际情况时遇到了一些问题。我不明白为什么我必须添加Aspectjweaver.jar?Spring- AOP文档明确指出,只要我仅使用Spring-AOP,就不需要AspectJ编译器或weaver: 但是,AOP运行时仍然是纯Spring AOP,并且不依赖于AspectJ编译器或编织器。 我的配置如下所示: