小编tut*_*ara的帖子

Neo4j:在密码中找到来自同一父母的孩子

我们怎么能在密码中做到这一点?
n个父母p1,p2,p3 ...... pnm个孩子c1,c2,c3 ...... cm.
假设c1来自(孩子的)p1,p2和p3,并且c2来自(孩子的)p1,p2和p3.
鉴于c1我们能找到c2吗?(来自与c1相同的父母的节点)
孩子可以有1 ... n个父母.

neo4j cypher

2
推荐指数
1
解决办法
1139
查看次数

有效的 Java 项目 #77 - 单例对象的序列化 - 为什么我必须使用 readResolve?

《Effective Java #77》规定,我们必须readResolve在序列化过程中使用单例保证。他们已经使用了这个例子。

public class Elvis implements Serializable{
public static final Elvis INSTANCE = new Elvis();
private Elvis() { ... }
public void leaveTheBuilding() { ... }
Run Code Online (Sandbox Code Playgroud)

他们建议使用

如果Elvis类实现了Serialized,下面的readResolve方法足以保证单例属性:

// readResolve for instance control - you can do better!
private Object readResolve() {
// Return the one true Elvis and let the garbage collector
// take care of the Elvis impersonator.
return INSTANCE; }
Run Code Online (Sandbox Code Playgroud)

此方法忽略反序列化的对象,返回类初始化时创建的杰出 Elvis 实例。

  • 现在的问题是序列化是否再次加载该类以获得两个 Elvis 实例?
  • 如果该类仅加载一次,那么我们应该只有一个 Elvis 实例,因为静态字段不会序列化,并且在反序列化期间不会恢复,并且
  • 另一个 Elvis 实例从哪里来,它有资格通过 readResolve 进行垃圾收集(防止逃避反序列化过程)。这可以解释一下吗?

java singleton serialization

1
推荐指数
1
解决办法
2556
查看次数

标签 统计

cypher ×1

java ×1

neo4j ×1

serialization ×1

singleton ×1