草庐IT

non-serializable

全部标签

java - 为什么类要实现 Serializable 接口(interface)?

这个问题在这里已经有了答案:WhenshouldweimplementSerializableinterface?(3个答案)关闭6年前。@EntitypublicclassHusbandimplementsSerializable{@Idprivateintid;privateStringname;@OneToOneprivateWifewife;}@EntitypublicclassWifeimplementsSerializable{@Idprivateintid;privateStringname;@OneToOne(mappedBy="wife")privateHusband

Java 8 : method reference to a static method in a non-static way

我正在研究用于OCP考试的新StreamAPI,我发现了一些我不太理解的东西。这是我的代码:voidmethodOne(){this.compare(1,2);//Thisworksfine.Stream.of(1,2,3).sorted(this::compare);//Compilationerror.}staticIntegercompare(Integers1,Integers2){return0;}这里我有一个名为compare的静态方法和一个名为compare的非静态方法。如果我从非静态方法调用比较方法,我会收到编译器警告:Themethodcompare(Integer,

java - 即使在简单的 POJO Java 类中实现 java.io.Serializable 也是最佳实践吗?

一般来说,让简单的POJOJava类实现java.io.Serializable是最佳实践吗? 最佳答案 一般不会。约书亚布洛赫说implementSerializablejudiciously.他描述的缺点总结:降低了以后更改类实现的灵active-序列化形式是类API的一部分更有可能出现一些错误和安全漏洞-攻击者可以访问序列化字节流中的类内部增加了测试负担-现在您必须测试序列化!负担子类的作者——他们也必须使他们的子类可序列化当然,有时您需要一个POJO来实现可序列化,例如RMI,但如果不需要,没有它您的代码会更简单、更安全。

java - 为什么在 Java 中创建 SSL 套接字时会出现错误 "Cannot store non-PrivateKeys"?

我正在使用较旧的IBMiSeries(IBM-i、i5OS、AS/400等),在O/S版本V5R3M0上使用Java5JVM(Classic,而非ITJJ9)。简而言之,这里是场景:我使用Portecle1.7创建了一个JKS类型的keystore(注意:我曾尝试将我的keystore转换为JCEKS,但由于格式不受支持而被拒绝,因此JKS似乎是iSeries机器的唯一选择(至少是我使用的版本)。然后我创建了一个key对和CSR,并将CSR发送给Thawte进行签名。我使用PKCS#7格式从Thawte成功导入了签名证书以导入整个证书链,其中包括我的证书、Thawte中介和Thawte

Java Serializable、ObjectInputstream、非阻塞 I/O

我刚刚开始使用Java序列化,我不清楚在非阻塞I/O的情况下您应该如何从源获取对象。我能找到的所有文档都建议使用ObjectInputStream是读取序列化对象的正确方法。但是,正如我提到的,我正在使用java.nio并执行非阻塞操作。如果readObject()将阻塞直到有新对象可用,这对我没有帮助总结..使用JavaNIO时如何进行序列化? 最佳答案 将序列化实例包装在一个报告有效负载长度的协议(protocol)中,有效负载就是所讨论的实例。然后,一旦您知道您有一个表示完整实例的段,您就可以安全地使用ObjectInputS

java - 有状态 session bean 是否应该实现 Serializable

我有一个简单的问题,但我找不到JavaEE6的答案!有状态sessionbean是否应该实现Serializable?我在实现和不实现java.io.Serializable的情况下进行了测试,没有任何不同,也没有错误。我的感觉告诉我,有状态sessionbean必须实现可序列化,因为它可以在长期session中保持... 最佳答案 不,它不需要,因为规范没有要求。您可以从以下位置下载和检查EJB规范:https://jcp.org/en/jsr/detail?id=318 关于java

Java 任务控制显示 "Flightrecorder is not supported for non hotspot jvms"

当我试图通过运行JavaMissionControl(jmc)来分析我的本地Java应用程序时,我无法连接到该应用程序。它在左侧Pane中显示的所有JVM进程的描述中显示“非热点JVM不支持Flightrecorder”。我的环境:Windows7,Java8u25因为我无法在网上的任何地方找到这个问题的解决方案,所以我想与将来可能遇到同样问题的其他人(以及我future的自己)分享我幸运地发现的解决方案。 最佳答案 我在这里发布解决方案和导致解决方案的观察结果。当我(碰巧)尝试运行jvisualvm时,它显示错误“无法监视本地Ja

Java8 Effectively Final compile time error on non final variable

我正在尝试将java8forEach循环中的boolean变量更改为非最终的true。但我收到以下错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。如何解决这个错误?代码:booleanrequired=false;这是我在函数中创建的变量。现在当我试图改变它时:map.forEach((key,value)->{System.out.println("Key:"+key+"Value:"+value);required=true;});我收到错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。为什么会出现这个错误,如何解决? 最佳答案

java - Spring 3.1 : Non-XML equivalent of annotation-driven transaction management

什么是非XML(在@Configuration中)等同于在Spring3.1中? 最佳答案 Spring3.1有@EnableTransactionManagement用于此目的的注释。 关于java-Spring3.1:Non-XMLequivalentofannotation-driventransactionmanagement,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

java - 断言集合 "Contains at least one non-null element"

我想验证一个集合是否包含至少一个非空元素。我试过is(not(empty())),但是这在下面的测试中通过了。importorg.junit.Test;importjava.util.ArrayList;importjava.util.Collection;importstaticorg.hamcrest.CoreMatchers.is;importstaticorg.hamcrest.MatcherAssert.assertThat;importstaticorg.hamcrest.Matchers.empty;importstaticorg.hamcrest.Matchers.no