发布网友 发布时间:2022-04-27 00:19
共1个回答
热心网友 时间:2022-06-21 15:00
1、开发高性能Java程序的原则和方法:决定一个Java程序性能的好坏,是多方面的因素,包括前期的系统结构设计、底层架构设计、应用开发中的代码编写以及技巧的使用,系统的配置,系统的硬件性能等等。这里只给出代码编写方面的一些原则和方法。相对于Java的其他方面,在性能领域Java饱受的非议可能最多。许多人认为,Java如果想更好的发展下去必须解决性能问题。然而真正的事实是Java在编译器、JVM以及运行期优化方面确实在不断的进步,Java正在运行的越来越快。实际上很多的性能问题,是由于设计不佳引起的,与Java本身并无关系。在拙劣的设计和编码面前,无论你使用多少运行期优化,无论你的编译技术多么先进,无论你的硬件性能多么强大,最后的代码运行依然低效。同样无论运行期优化技术、编译技术以及硬件多么强大,运用一些已被验证对Java运行性能有益的技术,总是能获得非常好的收益。优化程序代码的注意事项:1.除非必须优化,否则不要轻易改动;2.改动之后要进行仔细的测试;3.在各个JVM产品中,优化的方式是有区别的;2、高性能Java的编码原则:(1)、先把焦点放在设计、数据结构和算法身上;(2)、不要依赖于编译器编译期优化技术,正确理解运行期代码优化技术以及正确使用运行期代码优化;(3)、使用StringBuffer类完成字符串连接;(4)、将对象创建成本降至最低,即尽量创建轻量级对象;1、合理设计对象大小2、合理设计类的继承深度3、类的构造函数要短小精干4、不要创建非必要的对象5、将对象的创建拖延到最后一刻,即延迟加载技术6、可能的话要自己实现一个对象缓冲管理池,将对象的创建与回收控制在一个合理的范围内(5)、降低同步化带来的影响;1、合理识别是否一定要使用同步控制,尽量从设计上避免2、注意控制同步代码范围,避免对线程活跃度造成影响3、合理使用锁变量,做到线程分离,提高程序并发度,更进一步提高程序吞吐量4、用于锁变量的对象不宜过多,当要使用多个对象作为锁变量时,一定要确保在代码中自始自终按照同样的顺序锁定它们,否则可能导致死锁(6)、尽可能使用Stack变量和基本类型完成必要的任务;(7)、使用static、final、private方法以促成inlining;(8)、实例变量初始化一次就好;(即一定义就会有一个初始值,下面不需要再进行一次初始化)(9)、集群类对象的处理;(10)、尽可能重用对象;(11)、使用延迟加载技术;