java程序性能优化 让你的java程序更快、更稳定-笔记

java程序性能优化 让你的java程序更快、更稳定-笔记

ID:12558773

大小:1.25 MB

页数:8页

时间:2018-07-17

java程序性能优化  让你的java程序更快、更稳定-笔记_第1页
java程序性能优化  让你的java程序更快、更稳定-笔记_第2页
java程序性能优化  让你的java程序更快、更稳定-笔记_第3页
java程序性能优化  让你的java程序更快、更稳定-笔记_第4页
java程序性能优化  让你的java程序更快、更稳定-笔记_第5页
资源描述:

《java程序性能优化 让你的java程序更快、更稳定-笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一章java性能调优概述1.1.2性能的参考指标1.2.1设计调优比如说如果A组件通过循环不断监控时间E是否发生,其必然会占用部分系统资源。但是可以通过observer模式解决:1.2.2代码调优比如linkedList比ArrayList随机访问性能好。1.2.3JVM调优一般在开发后期做,比如内存结构,GC种类。1.2.4数据库调优比如大量的拥有相同结构的SQL查询,可以用preparedStatement代替statement;指定要查询的列名,避免用“*”。比如设置oracle的共享池、缓存区。1.2.5操作系统调优比如调整unix的共享内存值。第二章设

2、计优化2.1设计模式2.1.1单例模式对于频繁使用对象,因为new次数少,对内存使用不频繁,将减轻GC压力。2.1.2代理模式可以实现比如延迟加载2.1.3享元模式好处同单例模式2.1.5观察者模式可以代替多线程。2.1.6ValueObject一次封装所有的属性值,省得一次次请求属性值。2.1.7BusinessDelegate代理类中一组远程方法调用构成一个业务流程,客户端调用代理类。2.2常用优化组件2.2.1缓冲缓冲是一块内存区域,目的是缓解应用程序上下层之间的性能差异。2.2.2缓存也是一块内存区域,目的是暂存数据处理结构,并供下次访问使用。也可用ehC

3、ache等框架2.2.3对象复用池比如线程池和数据库连接池2.2.4多线程2.2.5负载均衡2.2.6时间换空间比如少申请变量2.2.7空间换时间比如用缓存第三章java程序优化3.3使用NIO提升性能NIO为所有的原始类型提供buffer,NIO是基于Block的,NIO最重要的组件是buffer和Channel。buffer是一个连续的内存快,是NIO读写数据的中转池。通道表示缓冲数据的源头或者目的地,它是用于想缓存读取或写入数据,是访问缓冲的接口。3.4使用软引用和弱引用3.5有利于改善性能的技巧3.5.1慎用异常3.5.2使用局部变量,因为局部变量是在st

4、ack中,比较快。3.5.3位运算代替乘除法3.5.12静态方法代替实例方法第四章并行程序优化4.5锁的优化4.5.7ReentrantLock重入锁4.5.9自旋锁4.5.10锁清除java即时编译时,上下文扫描,去除不可能存在共享资源竞争的锁,这样可以节省毫无意义的请求锁时间4.5.11锁偏向(biased)4.6无锁例如TreadLocal,和CAS算法(CompareandSwap)。4.6.3Amino是apache的项目,提供了一些线程安全的、基于无锁算法的数据结构例如lockFreeList.还内置了一些多线程调度模式(例如Master-Worker

5、模式)。4.7协程为了提高并发数量,对线程进一步分割。(各种语言在实现Coroutine方式的支持时,多数都采用了ActorModel来实现,ActorModel简单来说就是每个任务就是一个Actor,Actor之间通过消息传递的方式来进行交互,而不采用共享的方式,Actor可以看做是一个轻量级的进程或线程,通常在一台4G内存的机器上,创建几十万个Actor是毫无问题的。)第五章JVM调优5.3.10CMS(ConcurrentMarkSweep)收集器,用标记-清除算法,同时使用多线程。5.3.10G1收集器,在吞吐量和停顿控制上好于CMS.5.4常用调优方法5

6、.4.1把新对象留在新生代。5.4.2长命的大对象进入老年代,免得新生代老GC5.4.4稳定堆大小5.4.5并行收集器适合吞吐量优先,可以减少GC的总时间。5.4.7降低停顿,可以用CMS收集器和尽可能把对象预留在新生代。5.5实用JVM参数5.5.1JIT5.5.4打印GC+PrintGC5.5.5类和对象跟踪总结第六章java性能调优工具6.1linux命令NmonAxis里看见各种性能6.3JDK命令行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。