![]() |
1
3
这只会导致非常糟糕的代码样式,与性能无关。
是的,这是非常必要的。 但一般来说,学习如何使用分析器来查看代码实际花费的时间,以便改进这些部分,而不是像现在这样根据传闻进行随机的“优化”。 |
![]() |
2
1
只有当您不使用合适的JIT编译器时,才使用static&final提高性能。由于大多数JRE已经在使用一个好的JIT编译器,所以可以忽略final和static来提高性能。 最好检查您的锁定和同步风格。锁定问题的一个好指标是应用程序的CPU使用情况。如果它是低的,当它应该是努力工作时,可能有锁或数据库查询阻塞您的应用程序。 也许你可以使用一些技术,比如写时复制或者 ReadWriteLocks . 同时查看 concurrent 和 atomic 包中有一些关于如何改进或消除锁定的想法。 如果有一个CPU内核负载很高,而其他的则在空闲,那么尝试并行处理。安 ExecutorService 可能会有帮助。 |
![]() |
3
1
在你知道需要修复什么之前,请不要修复任何东西。迈克尔是对的-侧面-但是 I prefer this method .
了解时间尺度。当人们优化
所以,找出(不要猜)造成大多数延迟的原因,然后从那里开始工作。 **为了给人时间尺度的感觉,一个光子可以在1秒内到达月球的大部分位置;在1毫秒内它可以穿越一个中等大小的国家,在1纳秒内它可以穿越你的脚的长度。 |
![]() |
4
1
假设您首先分析了您的应用程序,发现大多数延迟不在您的程序中,而是在其他地方,例如网络/邮件服务器… 可以创建固定大小的线程池,例如2-4个线程。并为当前线程中发送的每封邮件添加任务。 |
![]() |
5
1
检查您的代码,删除故意缓慢的结构。
分析代码应该是最后的手段。 如果你做了正确的家庭作业,那么分析只会有轻微的贡献。 |
![]() |
Sweepy Dodo · JSON lite的格式化 6 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 7 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 8 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 11 月前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 11 月前 |
![]() |
Mohan · 是否有一种更快的方法来编写代码,从1:N中提取许多随机样本? 12 月前 |
![]() |
user2980746 · 在C#字典中键入xyz对的最有效方法是什么? 12 月前 |