小编non*_*tor的帖子

StringBuilder vs Java中toString()的字符串连接

鉴于toString()下面的两个实现,首选哪一个:

public String toString(){
    return "{a:"+ a + ", b:" + b + ", c: " + c +"}";
}
Run Code Online (Sandbox Code Playgroud)

要么

public String toString(){
    StringBuilder sb = new StringBuilder(100);
    return sb.append("{a:").append(a)
          .append(", b:").append(b)
          .append(", c:").append(c)
          .append("}")
          .toString();
}
Run Code Online (Sandbox Code Playgroud)

更重要的是,鉴于我们只有3个属性,它可能没有什么区别,但你会在什么时候从+concat 切换到 StringBuilder

java string performance stringbuilder concatenation

889
推荐指数
12
解决办法
34万
查看次数

开发人员应该了解哪些有用的按位操作符代码?

我必须说我从来没有理由使用按位运算符,但我确信我已经执行了一些可以更有效地完成它们的操作."转移"和"OR-ing"如何帮助您更有效地解决问题?

language-agnostic bit-manipulation bit

62
推荐指数
5
解决办法
3万
查看次数

为什么我可以在我的equals(Object o)方法中直接访问"other"对象的私有变量

在Java中的equals(Object o)方法中,我可以访问传入对象的私有变量,而无需通过其公共getter.

public boolean equals(Object o){
    ...
    MyObject other = (MyObject)o;
    return getProp() == other.prop; 
}
Run Code Online (Sandbox Code Playgroud)

怎么样?

java protection

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

在Java中,有人使用short或byte吗?

除了在流媒体中使用(byte [])之外,我并没有真正看到字节和短片的使用情况.另一方面,我看到长期使用的实际值是| 100 | 和byte更合适.这是现在相对便宜的内存性质的结果,还是这只是开发人员不必担心的细节?

java

32
推荐指数
6
解决办法
9983
查看次数

ConcurrentHashMap构造函数参数?

我想知道构造一个参数ConcurrentHashMap:

  • initialCapacity 默认为16(理解).
  • loadFactor 默认为0.75.
  • concurrencyLevel 默认为16.

我的问题是:

  • 应该使用什么标准来调整loadFactor或调低?
  • 我们如何建立并发更新线程的数量?
  • 应该使用什么标准来调整concurrencyLevel或调低?

另外:

  • 良好的哈希码实现的标志是什么?(如果SO问题解决了这个问题,请链接到它.)

谢谢!

java hashcode concurrenthashmap

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

"this"如何在Java中逃避构造函数?

我听说过由于构造不正确的对象而在非线程安全的代码中发生这种情况,但即使在Goetz的书中阅读之后我也没有理解这个概念.我想巩固我对这种代码气味的理解,因为我可能会这样做,甚至没有意识到.请在解释中提供代码以使其粘贴,谢谢.

java constructor initialization thread-safety

20
推荐指数
4
解决办法
5102
查看次数

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

如何在Java中有效地测试(单元/集成)并发代码?

我已经在SO上看过这篇文章,但至少对Java而言,它仍然存在问题.对于任何应用程序(我正在测试此用例的Web应用程序)而言,这似乎是一个紧迫的问题,这是多线程的.你们是如何以允许线程交错的方式处理它的 - 本质上意味着测试随机线程行为.

java testing multithreading

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

传统日志记录与AOP日志记录

我正在开始这个新项目,我们正在逐步淘汰我们的日志/调试方法,我想在SO上给你们其他人提出问题,给出

private final static Logger logger = LoggerFactory.getLogger(getClass());
...
public void doSumething(){
...
if(logger.isDebugEnabled())
    logger.debug("...");
}
Run Code Online (Sandbox Code Playgroud)

要么

 @After("execution(* *.doSomething())")
    public void logAfter(JoinPoint jp){
        logger.debug("...");
    }
Run Code Online (Sandbox Code Playgroud)

AOP方法真的比使用传统方法更好吗?或者AOP在特定用例中是否优于日志记录/分析?

logging aop

17
推荐指数
2
解决办法
7604
查看次数

"".join(reverse(val))vs val [:: - 1] ...这是pythonic?

所以根据PythonZen ... 显式优于隐式 ... 稀疏优于密集 ... 可读性计数 ......但是再次Flat优于嵌套 ...那么哪个是pythonic

val = "which is pythonic?"
print("".join(reversed(val)))
Run Code Online (Sandbox Code Playgroud)

要么

print(val[::-1])
Run Code Online (Sandbox Code Playgroud)

我只是一个学习Python的Java程序员,所以我发现这个pythonic的东西很有趣,因为Java世界AFAIK中没有模拟.

python

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