小编Gee*_*eek的帖子

比较与equals一致意味着什么?如果我的班级不遵循这个原则,可能会发生什么?

从TreeMap的JavaDoc:

请注意,如果此有序映射要正确实现Map接口,则由有序映射维护的排序(无论是否提供显式比较器)必须与equals一致.(请参阅Comparable或Comparator以获得与equals一致的精确定义.)这是因为Map接口是根据equals操作定义的,但是map使用compareTo(或compare)方法执行所有键比较,因此有两个键从排序地图的角度来看,通过这种方法被视为相等的是相等的.即使排序与equals不一致,也可以很好地定义有序映射的行为.它只是不遵守Map接口的一般合同.

有人可以给出一个具体的例子来说明如果排序与equals不一致可能会出现的问题吗?举例来说,用户定义的类具有自然顺序,即它实现了Comparable.JDK中的所有内部类都保持这个不变量吗?

java comparison equals comparable comparator

17
推荐指数
4
解决办法
1万
查看次数

什么叫Java中的前向引用?

我已经通过 这个关于前向引用的合法性的问题,但不清楚forward referencesJava语言的含义.有人可以借助一个例子来解释吗?

java

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

最终与波动的保证书,以安全发布对象

从Java并发实践中的书:

要安全地发布对象,必须同时使对象的引用和对象的状态对其他线程可见.正确构造的对象可以通过以下方式安全发布:

  • 从静态初始化程序初始化对象引用

  • 将对它的引用存储到volatile字段或AtomicReference中

  • 将对它的引用存储到正确构造的对象的最终字段中

  • 将对它的引用存储到由
    锁正确保护的字段中.

我的问题是:

  1. 子弹点2和3之间有什么区别?我对volatile方法和final方法在安全发布对象方面的区别感兴趣.
  2. 在第3点中,正确构造的物体的最终场什么意思?在开始项目符号之前,作者已经提到他们正在谈论一个正确构造的对象(我假设它不会让this引用转义).但他们为什么再次提到正确构造的物体呢?

java java-memory-model

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

JSF中无国籍状态的用处是什么?

根据这篇博客, JSF将无国籍.使用JSF的重点不在于它使保存和恢复状态成为一件苦差事.JSF成为无国籍的重点是什么?能否请您提供一个有用的示例.

jsf jsf-2 mojarra

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

动态编译语言与静态编译语言

Brian Goetz撰写本文的第一行让我在SO中发布这个问题.这又是一行:

为动态编译语言(如Java)编写和解释性能基准要比使用C或C++这样的静态编译语言困难得多.

我知道静态类型与动态类型语言答案.但动态编译语言与静态编译语言之间有什么区别?

c java compiler-construction programming-languages compilation

15
推荐指数
3
解决办法
9572
查看次数

为什么我们需要像B-Tree这样的单独数据结构用于数据库和文件系统?

我正在阅读B树,看起来他们在O(lg n)时间内实现了动态集合操作.红黑树(Java中的TreeMap)也在渐近相同的时间范围内实现相同的操作.所以我想知道是什么让B树对数据库和文件系统更有用

tree binary-tree b-tree binary-search-tree data-structures

15
推荐指数
2
解决办法
6237
查看次数

ui:composition和ui之间的区别:Facelets中的装饰

Facelets ui:compositionui:decorateFacelets 之间有什么区别?两者似乎都支持ui:define儿童标签.在什么情况下你会使用这些?

java jsf facelets java-ee jsf-2

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

谁在州模式中定义状态转换?

我知道State pattern可以用来模拟根据状态改变行为的对象,并且Context可以具有的各种状态被封装在表示State接口的具体类中.我不清楚的是状态转换是如何在这种模式中发生的.个人是否states知道并决定谁跟随他们,或者Context决定下一个会接下来的状态?

java state design-patterns

15
推荐指数
2
解决办法
2359
查看次数

如何以及何时在JSF中销毁@ViewScoped bean?

所述的生命周期 @RequestScoped@SessionScopedBean 管理豆由Servlet容器自身管理,因为它们是基本上作为一个属性存储HttpRequestHttpSession分别.JSF如何管理生命周期@ViewScopedBean?我知道它是在创建视图时创建的,并且可以使用,直到有回发到另一个视图.但是我发现在我们离开那个视图后不会立即收集垃圾.

jsf destroy jsf-2 managed-bean view-scope

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

在分析的背景下,什么是安全点和安全点轮询?

我面临的情况是我没有看到VisualVM应用程序没有记录某些方法调用.想找出原因并在SO上遇到这个答案.第三点提到了采样方法的潜在问题(这是我看到的唯一选项,可能是因为我正在进行远程分析).它提到关于安全点代码和安全点投票通过代码本身.这些术语是什么意思?

java profiling jvm jvisualvm

15
推荐指数
2
解决办法
3222
查看次数