Java性能优化系列之一--设计优化

来源:互联网 发布:精硕科技 数据分析师 编辑:程序博客网 时间:2024/05/16 07:08

1、善于利用Java中的设计模式:享元模式、代理模式、装饰器模式等。详见我的上一篇博客白话设计模式

http://blog.csdn.net/xiaocaidexuexibiji/article/details/22508679

2、Java中的缓冲区:

(1)缓冲最常用的场景就是提高IO速度:比如BufferedWriter可以用来装饰FileWriter,为FileWriter加上缓冲。BufferedOutputStream可以用来装饰FileOutputStream。使用这两个装饰器时候可以指定缓冲区大小,默认的size8K

(2)JavaNIO中的各种Buffer类族,有更加强大的缓冲区控制功能。

(3)除了性能上的优化,缓冲区也可以作为上层组件和下层组件的一种通信工具,将上层组件好下层组件进行解耦。比如生产者消费者模式中的缓冲区。

2、缓存:

(1)比如Hibernate采用的两级缓存:一级缓存和二级缓存。二级缓存指的是sessionFactory层面上的缓存,Hibernate采用的是EHCache。一级缓存指的是session层面上的缓存。

3、对象复用技术--池的使用

(1)数据库连接池:较常使用的数据库连接池组件是C3P0Proxool。其中C3P0是伴随Hibernate一起发布的,Hibernate默认采用的数据库连接池。

(2)线程池:自定义线程池以及jdk1.5提供的线程池组件。

4、并行代替串行。

5、时间换空间:不引入中间变量实现两个数字的交换。代价是增加CPU运算。

6、空间换时间:使用下标数组排序。

6 0