当前位置:   article > 正文

《Java程序性能优化》-葛一鸣_java程序性能优化 葛一鸣

java程序性能优化 葛一鸣

第1章 java性能调优概述

1.1性能概述

1.1.1 一般来说,程序的性能的表现方面:

  1. 执行速度

  2. 内存分配

  3. 启动时间

  4. 负载承受能力

1.1.2 性能参考指标:

  1. 执行时间

  2. CPU时间

  3. 内存分配

  4. 磁盘吞吐量

  5. 网络吞吐量

  6. 响应时间

1.1.3 木桶原理与性能瓶颈

最有可能成为性能瓶颈的环节:

  1. 磁盘IO

  2. 网络操作

  3. CPU

  4. 异常

  5. 数据库

  6. 锁竞争

  7. 内存

1.1.4 Amdahl定律

加速比=优化前系统耗时/优化后系统耗时

Amdahl定律:

加速比speedup<=1/(F+(1-F)/N)

其中N为CPU处理器数量,F为系统内必须串行化的程序比重。由此可见,为了提高系统的运行速度,仅仅增加N,是不能提高运行速度的,从根本上修改程序的串行化行为,提高系统内并行模块的占比,才行。

1.2性能调优层次:

1.2.1设计调优

1.2.2代码调优

1.2.3JVM调优

1.2.4数据库调优:

    1.应用层SQL优化;

    2.数据库优化;

    3.数据库软件优化;

1.2.5操作系统调优:

    共享内存段、信号量、共享内存最大值(shmmax)、共享内存最小值(shmmin)、最大文件句柄数、虚拟内存大小、磁盘块大小。

1.3基本调优策略和手段

第2章 设计优化

2.1善用设计模式

2.1.1单例模式

代理模式

享元模式

装饰者模式

观察者模式

value object模式

业务代理模式

2.2常用的优化组件和方法

2.2.1缓冲buffer

    缓冲区是一块特定的内存区域;缓冲区不宜过大,浪费系统内存,增加GC负担;

缓存cache,WeakHashMap;EHCache数据缓存解决方案,OSCache,可用于缓存任何对象,JBossCache可用于JBoss集群间数据共享的缓存框架;EHCache的缺点是缓存组件和业务层代码紧密耦合,依赖性太强;基于动态代理的缓存;

对象复用-池:线程池,数据库连接池;适用场景:创建耗时的大对象,节省获取对象实例的成本,减少GC负担;生成实例成本小的对象,使用池的方式,得不偿失;JDK new操作的效率很高,但是new操作所调用的类的构造函数可能很耗时;apache commons-pool对象池组件,对象池接口ObjectPool,PoolableObjectFactory,内置三个对象池,StackObjectPool,GenericObjectPool,SoftReferenceObjectPool;

并行代替串行

负载均衡,Apache+Tomcat集群搭建负载均衡解决方案,Session共享模式,黏性Session模式和复制Session模式;跨JVM分布式缓存框架Terracotta,可以实现Tomcat的Session共享;

时间换空间,看系统的性能瓶颈是什么,空间是瓶颈,则采用时间换空间;

空间换时间

第3章 java程序优化

3.1字符串优化处理

3.1.1 String对象及其特点

String对象的优化:

1.不变性

     不变性:String对象一旦生成,则不能对它进行改变。

2.针对常量池的优化

3.类的final定义

String对象的内部结构:

  1. char数组

  2. offset偏移量

  3. count长度

 

3.1.2 subString()方法的内存泄露漏

    String提供了2个截取字符子串的方法:

public String substring(int beginIndex)

public String substring(int beginIndex,int endIndex)

3.1.3 字符串的分割和查找

 

字符串分割方法:

public String[] split(String regex)

 

1.最原始字符串分割

 

 

        String str;

        StringBuffer sb=new StringBuffer();

 

        for(int i=0;i<10000;i++) {

       

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/568662
推荐阅读
相关标签
  

闽ICP备14008679号