优化性能注意事项
<!--[if !supportLists]-->1、 <!--[endif]-->非优化不可再优化—-------牵一发动全身。
<!--[if !supportLists]-->2、 <!--[endif]-->改动后仔细测试。
<!--[if !supportLists]-->3、 <!--[endif]-->在一台虚拟机上的优化方案,在其它厂商虚拟机上不一定有相同效果。
高性能编码注意事项
<!--[if !supportLists]-->1、 <!--[endif]-->设计(功能设计)----选择高效方案
针对同一功能模块一般有很多套方案可供选择,选择合适的一套方案实现(一般靠实现者的经验决定备选方案)
<!--[if !supportLists]-->2、 <!--[endif]-->将对象的创建成本降到最低:
对象分为轻型对象,重型对象:
轻型对象:只包含基本类型的对象
重型对象:包含其它对象做为属性,或有深层的继承关系
<!--[if !supportLists]-->3、 <!--[endif]-->合理设计类的继承深度
见意不得多于三层,深层的继承关系会对classloader在加载类时造成性能低下的问题。
<!--[if !supportLists]-->4、 <!--[endif]-->类的构造函数要短小精干
对象的创建和在内存中维护的成本很高,对象在内存中维护的信息尽量小些
<!--[if !supportLists]-->5、 <!--[endif]-->将对象的创建拖延到最后一刻
<!--[if !supportLists]-->6、 <!--[endif]-->可能的话要自己实现一个对象缓冲管理池,将对象的创建与回收控制在一个合理的范围内。
<!--[if !supportLists]-->7、 <!--[endif]-->降低同步带来的影响
同步对性能的影响一般比非同步高出1.5倍左右,应该减少同步的使用和减少同步的代码量
<!--[if !supportLists]-->8、 <!--[endif]-->尽量可能使用stack和基本类型完成必要的任务
使用stack和基本类型可大大提高性能,因为他可以减少对内存的访问次数,再者他的存取速度要高于对对象维护表中数据信息的存取速度
<!--[if !supportLists]-->9、 <!--[endif]-->使用static
final private以促成inlining函数
使用以上三者有可能使函数成为内联函数,是否成为内联函数要看.class文件的大小,jvm中有一个检查文件大小的功能,如果文件小,在编译时以上三种类型函数被做为内联函数,否则不然.
<!--[if !supportLists]-->10、实例变量初始化一次就好
初始化同样也会占有cup时间周期,尽量相同的初始化只做一次,如基本类型定义时已经初jvm初始化,不必做重复工作。
<!--[if !supportLists]-->11、群集类对象处理
群集类型中存放在是对象
,因此优先选择数组实现相同功能
遍历:size>enumeration>iterator=listiterator
复制:system.arraycopy()比其它方式快上2倍有余。不是决对,根据用户硬件软件环境决定。
优先选择数组:在不考虑数据同步的时候,优先考虑非同步群集类hashmap,arraylist,linklist
<!--[if !supportLists]-->12、尽量重用对象
<!--[if !supportLists]-->13、缓式评估技术(延尽加载):延缓可能不需要进行的工作。只做现在用到的工作,以后需要的以后再做(不是决)
分享到:
相关推荐
第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...
第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...
在编程中性能问题!!编码注意事项!Java编程中“为了性能”尽量要做到的一些地方!
第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...
第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...
核心方法,以及性能优化的注意事项等内容。讲解过程中会结合常见的 Java 中间件进行一些举例 说明;最后会结合具体的案例,帮助大家理解性能优化方法论如何落地。 希望大家能够通过本书的学习,掌握性能优化的核心...
JAVA程序性能优化注意事项,好的编程习惯,在实际应用中,非常重要!
本文给大家分享的是如何在java中对String进行性能优化,使用String的时候需要有哪些注意事项呢,这就是今天我们要给大家总结分析的,有需要的小伙伴可以参考下。
java 性能调优,主要从java内存管理方面,介绍了java的内存管理,垃圾回收(GC),调优注意事项等方面系统的介绍了java的内存管理机制。
[17个软件测试文档] 17性能测试计划注意事项 已全部上传 [17个软件测试文档] 16软件性能测试从这里开始V1[1] 0 0 0 http: download csdn net detail cleopard 8344281 [17个软件测试文档] 15压力测试和服务器稳定...
带着你了解了高并发系统设计的三种通用方法:Scale-out、缓存和异步。这三种方法可以在做方案设计时灵活地运用,但它不是具体实施的方案,而是三种...了解了消息队列在高并发系统设计中起到的作用,以及一些注意事项,
《Java并发编程从入门到精通》作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础概念、工作原理、编程技巧和注意事项,对Java高性能高并发编程有极大的参考价值。 《Java并发编程从入门到精通》...
JavaScript是一种解释型语言,所以能无法达到和C/Java之类的水平,限制了它能在客户端所做的事情,为了能改进他的性能,我想基于我以前给JavaScript做过的很多测试来谈谈自己的经验,希望能帮助大家改进自己的...
逻辑分区的性能注意事项 分区中的工作负载管理 LPAR 性能影响 分区中的 CPU 应用程序注意事项 动态逻辑分区 DLPAR 概述 DLPAR 性能隐含 DLPAR 调谐工具 添加 CPU 或内存的 DLPAR 准则 应用程序调谐 概要分析 编译器...
│ Java面试题84:项目流程和业务注意事项.mp4 │ 面试必问-Mysql索引背后的故事 │ ├─java面试专属 │ ├─1.面试必考之HashMap源码分析与实现 │ │ 1.面试必考之HashMap源码分析与实现.mp4 │ │ │ ├─2....
实战Java高并发程序设计主要介绍基于Java的并行程序设计基础、...第4章 锁的优化及注意事项 138 第5章 并行模式与算法 184 第6章 Java 8与并发 251 第7章 使用Akka构建高并发程序 289 第8章 并行程序调试 331