《Java程序性能优化》第二章 读书笔记 II

常用的优化组件

  • 缓冲Buffer
    原理:采用漏斗 解释得很形象
    这里写图片描述
    应用:IO的BufferedWriter等 NIO的Buffer类族都是典型的代表
  • 缓存(Cache)
    原理:缓存的主要作用就是暂存数据处理结果,并提供下次访问使用。
    应用:内存的一级Cache/二级Cache/三级Cache。
    专门的Cache解决方案:Memcache、Redis等
  • 对象复用——“池”
    原理:如果一个类别频繁请求使用,那么不必每次都生成一个实例,可以将这个类的一些实例保存在一个“池”中,待需要使用的时候直接从池中获取。
    应用:线程池和数据库连接池。省去了频繁创建和销毁的开销。

常用的优化方法

  • 并行代替串行
  • 负载均衡
    原理:多台计算机协同工作,将系统负载尽可能均匀地分配到各个计算机节点上。
    应用:硬件级负载均衡F5,软件负载均衡LVS/nginx、Apache,Tomcat集群。
    扩展:Terracotta。分布式缓存的框架。使用Terracotta可以实现Tomcat的Session共享。
  • 时间换空间
    由于系统资源是有限的,为了在有限的资源内,达成某些特定的性能目标,就需要使用时间换空间或空间换时间的方法。
    应用:a/b变量交换
    a=a+b;
    b=a-b;
    a=a-b;
  • 空间换时间
    典型应用:缓存。
发布了37 篇原创文章 · 获赞 9 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/zzyymaggie/article/details/78848674