java - 抽象和封装与性能不一致 - 如何?

标签 java multithreading concurrency thread-safety

我一直在阅读“Java Concurrency in Practice”一书,其中在 Tread Safety 一章中提到: “有时抽象和封装与性能不一致”。 我没有得到这部分。有人可以用例子解释吗?

提前致谢。

最佳答案

长话短说:先把它做好,然后再提高性能。

有时您会跳过重重障碍来尝试提高性能,有时会导致错误或糟糕的设计。更不用说,这很耗时!严格考虑性能的编程将导致难以扩展的代码,而严格考虑设计的编程将(可能)导致更多的开销。

我想一个很好的理解方式是封装是一种限制形式;设置访问/修改方式的限制。这些限制可能会以性能为代价。

完整引述如下:

Sometimes abstraction and encapsulation are at odds with performance — although not nearly as often as many developers believe — but it is always a good practice first to make your code right, and then make it fast

关于java - 抽象和封装与性能不一致 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29150466/

相关文章:

java - 如何获取JRadioButton的ButtonGroup

ios - RestKit是否在不同线程上执行请求?

java-如何确定不同类型服务器中特定类型处理的最佳线程数

multithreading - 如何使用Data.Concurrent.mergeIO?

java - 在对象的同一个表中显示 OneToMany 列表的大小?

java - 为什么条件运算符在 java switch case 中不起作用?

java - 我应该在 Windows java 应用程序上使用 android sdk

c - 具有广播信号的线程和互斥量

c# - 在 .NET 中,事件将在哪个线程中处理?

http - Node.js 的 http.request 性能如何?它可以处理多少个并发请求?