小编nan*_*nda的帖子

如果探查器不是答案,我们还有其他选择吗?

在观看Joshua Bloch的演出"表现焦虑"后,我阅读了他在"评估Java Pro fi lers的准确性"演讲中提出的论文.引用结论:

我们的结果是令人不安的,因为它们表明在我们的七个基准测试和两个生产JVM中大多数普遍存在的错误 - 并且显着 - 所有四个最先进的专业人员都会产生不正确的专业知识.不正确的配置文件很容易导致性能分析师花时间优化对性能影响最小的冷​​方法.我们表明,不使用屈服点进行采样的概念验证问题不会遇到上述问题

论文的结论是我们无法真正相信剖析器的结果.但是,使用分析器的替代方法是什么.我们应该回去,只是用我们的感觉做优化吗?

更新:讨论中似乎遗漏的一点是观察者效应.我们能否建立一个真正" 观察者效应 " 的探测器- 免费?

java performance profiler

39
推荐指数
2
解决办法
4867
查看次数

java可以运行编译的scala代码吗?

命令可以java运行编译的scala代码吗?如果是这样,为什么我们有一个独家命令scala

java scala

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

Java的几何库

是否有可用于Java的几何库?我正在寻找解决方案来获得两个几何对象之间的交叉点.

java geometry

33
推荐指数
3
解决办法
4万
查看次数

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

BlockingQueue的实现:SynchronousQueue和LinkedBlockingQueue之间有什么区别

我看到BlockingQueue的这些实现并无法理解它们之间的差异.我的结论到目前为止:

  1. 我不会需要SynchronousQueue
  2. LinkedBlockingQueue确保FIFO,必须使用参数true创建BlockingQueue以使其成为FIFO
  3. SynchronousQueue打破了大多数集合方法(包含,大小等)

那我什么时候需要SynchronousQueue?这种实现的性能是否优于LinkedBlockingQueue

为了使它更复杂...为什么当其他人(Executors.newSingleThreadExecutorExecutors.newFixedThreadPool)使用LinkedBlockingQueue 时,Executors.newCachedThreadPool使用SynchronousQueue ?

编辑

第一个问题解决了.但我仍然不明白为什么Executors.newCachedThreadPool使用SynchronousQueue时其他人(Executors.newSingleThreadExecutorExecutors.newFixedThreadPool)使用LinkedBlockingQueue?

我得到的是,使用SynchronousQueue,如果没有自由线程,生产者将被阻止.但由于线程数实际上是无限的(如果需要,将创建新线程),这将永远不会发生.那为什么要使用SynchronousQueue呢?

java collections concurrency java.util.concurrent

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

不同种类的Java EE项目

Eclipse WTP中不同类型的Java EE项目之间有什么不同?

有:

  • 应用客户端项目
  • 连接器项目
  • 企业应用项目
  • 实用工程

eclipse ear jca application-client eclipse-wtp

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

使用显式类型参数调用静态导入的方法

这是我的问题的后续跟进:奇怪的Java泛型.

如果我有这样的代码:

Casts.<X, T> cast(iterable[index]);
Run Code Online (Sandbox Code Playgroud)

我可以添加静态导入并执行:

<X, T> cast(iterable[index]);
Run Code Online (Sandbox Code Playgroud)

Eclipse不允许这样做.但是在Eclipse中看到如此多的静态导入错误后,我并不确定.

java generics

25
推荐指数
3
解决办法
5328
查看次数

有界PriorityBlockingQueue

PriorityBlockingQueue是无限的,但我需要以某种方式约束它.实现这一目标的最佳方法是什么?

有关信息,有界PriorityBlockingQueue将用于a ThreadPoolExecutor.

注意:通过有界我不想抛出异常,如果发生这种情况,我想将对象放入队列中,然后根据其优先级值进行剪切.有什么好方法可以做这件事吗?

java collections priority-queue

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

什么更难,同步2个线程或1000个线程?

在Paul Tyma的演讲中,我找到了一个面试问题:

什么更难,同步2个线程或同步1000个线程?

从我的角度来看,当然同步1000个线程更难,但我当然不能想到"理所当然"的理由.但由于这是面试问题,可能是我错了(面试问题必须棘手,不是吗?).

java multithreading synchronization

11
推荐指数
2
解决办法
2757
查看次数

Scala表现问题

Daniel Korzekwa撰写文章中,他表示以下代码的表现:

list.map(e => e*2).filter(e => e>10)
Run Code Online (Sandbox Code Playgroud)

比使用Java编写的迭代解决方案更糟糕.

有谁能解释为什么?什么是Scala中此类代码的最佳解决方案(我希望它不是Scala-fied的Java迭代版本)?

performance scala scala-collections

10
推荐指数
3
解决办法
1900
查看次数