【发布时间】:2011-02-04 04:46:01
【问题描述】:
我想为 Java 低延迟应用程序创建综合清单。您可以在此处添加您的清单吗?
这是我的清单
1. 让你的对象不可变
2.尽量减少同步方法
3. 锁定订单应有据可查,并谨慎处理
4. 使用分析器
5. 使用 Amdhal 定律,找到顺序执行路径
6. 使用 Java 5 并发实用程序和锁
7. 避免线程优先级,因为它们依赖于平台
8. 可以使用JVM预热
9. 更喜欢不公平的锁定策略
10. 避免上下文切换(许多线程会导致适得其反)
11. 避免装箱、拆箱
12. 注意编译器警告
13.线程数应等于或小于内核数
每毫秒调整一次低延迟应用程序。
【问题讨论】:
-
许多人编写响应时间远低于 1 毫秒的低延迟 Java 应用程序。对我来说,Java 中的低延迟意味着亚毫秒级。
-
"6. 使用锁" => 甚至更好,尝试让你的算法无锁。
-
(A) 锁定还不错,争用才是。了解如何避免争用(如果争用 CAS,无锁可能会更糟)。 (B) 利特尔定律。 (C) 围绕 CPU 缓存进行优化
标签: java multithreading concurrency low-latency