小编Gee*_*eek的帖子

使用Boolean.valueOf()方法vs(或Java 1.5 autoboxing)创建Boolean对象

这是间更好的实践 Boolean.valueOf()Java 1.5 autoboxing创造Booleanbooleans,为什么?

java performance

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

为什么HashMap中更高的加载因子会增加查找成本?

来自JavaDoc HashMap:

作为一般规则,默认加载因子(.75)在时间和空间成本之间提供了良好的权衡.较高的值会减少空间开销,但会增加查找成本(反映在HashMap类的大多数操作中,包括get和put).

如果我们有更高的价值,为什么会增加查询成本?

java hash hashtable hashmap

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

Java中的红黑树或AVL树实现

Java集合/ Guava/Apache Commons库中是否有任何Red Black Tree/ AVL Tree data结构实现?如果是的话,你能指点我吗?基本上我正在寻找一种数据结构,其中查询应该在O(lg n)时间内发生.数据结构也会有一些更新,但不像查询那样频繁.

java collections tree guava data-structures

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

Flyweight模式中描述的内在和外在状态之间有什么区别?

Four of Gang中的FlyWeight Pattern 一章开始,FlyWeight模式适用于大多数对象状态可以是外在的.

什么extrinsic state意思?我感觉这个模式用于共享对象.如果要共享对象,那么该对象如何甚至可以具有任何状态?

java design-patterns flyweight-pattern

7
推荐指数
3
解决办法
5112
查看次数

最终字段真的可以防止Java的可变性吗?

来自着名的书籍Java Concurrency in Practice chapter 3.4.1 Final fields

正如将所有字段设为私有一样是好的做法,除非它们需要更高的可见性[EJ第12项],所以将所有字段设为最终都是一个好习惯,除非它们需要是可变的.

我对Java中最终引用的理解:最终引用/字段只是阻止该字段重新初始化,但如果它引用了一个可变对象,我们仍然可以改变它的状态,使其变为可变.所以我很难理解上面的引用.你怎么看 ?

java immutability

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

Java中任何对象的编译时类型与运行时类型有什么区别?

Java中任何对象的编译时间和运行时类型有什么区别?我正在阅读有效Java书籍,Joshua Bloch多次提及项目26中编译时间类型和数组实例的运行时类型,主要是为了描述抑制强制转换警告有时是安全的.

// Appropriate suppression of unchecked warning
public E pop() {
 if (size == 0)
   throw new EmptyStackException();
   // push requires elements to be of type E, so cast is correct
   @SuppressWarnings("unchecked") E result = (E) elements[--size];
   elements[size] = null; // Eliminate obsolete reference
   return result;
}
Run Code Online (Sandbox Code Playgroud)

在这里,作者正在讨论这些不同类型types的数组上下文.但通过这个问题,我想了解compile time typesvs run time types对于任何类型的对象的区别.

java generics effective-java

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

为什么禁止这种未经检查的警告是安全的?

考虑Effective Java泛型章节中UnaryFunction定义的接口.

public interface UnaryFunction<T> {
T apply(T arg);
}
Run Code Online (Sandbox Code Playgroud)

和以下代码返回 UnaryFunction

// Generic singleton factory pattern
private static UnaryFunction<Object> IDENTITY_FUNCTION = new UnaryFunction<Object>() {
  public Object apply(Object arg) { return arg; }
};

// IDENTITY_FUNCTION is stateless and its type parameter is
// unbounded so it's safe to share one instance across all types.
@SuppressWarnings("unchecked")
public static <T> UnaryFunction<T> identityFunction() {
  return (UnaryFunction<T>) IDENTITY_FUNCTION;
}
Run Code Online (Sandbox Code Playgroud)

为什么演员IDENTITY_FUNCTION(UnaryFunction<T>)安全?

这本书说的是我要问的问题,但我不能遵循这里的逻辑.我们在哪里调用apply执行身份操作的函数?我很困惑,因为它是返回传递给它的同一个对象而不修改任何东西的函数.

IDENTITY_FUNCTION (UnaryFunction<T>) …

java generics effective-java

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

System.currentTimeMillis()返回的值是否受Day Light Savings和Leap Second调整的影响?

我知道,System.currentTimeMillis()自纪元以来,它给出了以毫秒为单位的时间,并且它对系统的挂钟时间很敏感.我也知道不建议用来System.currentTimeMillis()计算测量时间的程序中的经过时间.Java库已经System.nanoTime()为此提供了帮助.

我有两个具体问题System.currentTimeMillis():

  1. 是否会受到闰秒调整的影响?我认为答案是肯定的,因为系统的挂钟时间会因闰秒而调整.
  2. DST(DayLight Savings)打开/关闭时是否会受到影响?当时间从23:59突然变为2:00时会发生什么?由于系统时钟实际上发生了变化,我认为答案是肯定的,但我想与社区联系.

java time datetime dst

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

为什么某些原始类型缺少Atomic版本而某些原始类型存在?

Java提供 AtomicInteger,AtomicLong等等,基本上编译成 CAS指令在硬件层面.但是,为什么这样AtomicXXX类不存在其他原始类型,如short和浮点数喜欢floatdouble

java atomic java.util.concurrent compare-and-swap

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

何时在代码中捕获RuntimeExceptions?

虽然我在程序员应该考虑抓住RuntimeExceptions的时候用Java编程吗?

java exception-handling exception

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