Java程序性能优化技巧
2017-07-30 12:53 tlnshuju 阅读(193) 评论(0) 编辑 收藏 举报多线程、集合、网络编程、内存优化、缓冲、、spring、设计模式、软件project、编程思想
1、生成对象时,合理分配空间和大小
new ArrayList(100);
2、优化for循环
Vector vect = new Vector(1000);
for( inti=0; i<vect.size(); i++){
...
}
for循环部分改写成:
int size = vect.size();
for( int i=0; i>size; i++){
...
}
假设size=1000,就能够降低1000次size()的系统调用开销,避免了循环体反复调用。
3、new一个实例对象,new在什么位置(尽量在使用时再创建该对象)。
4、异常处理技巧
5、尽量使用局部变量和静态变量
6、尽量不适用多线程同步
7、尽可能的使用Java自身提供的API
8、尽量降低I/O操作(控制台、日志)
9、尽量使用缓存流(尽可能使用带有Buffer的类取代没有Buffer的类,BufferedReader、BufferedWriter、BufferedInputStream)
10、sql优化、存储过程、视图、连接池(C3P0 、DBCP)
11、数据库数据分级存储
将常常訪问的数据和訪问频度低的数据,分别存放到不同的分区。甚至存放到不同的数据库server,以便合进分配硬盘I/O及系统I/O。
12、缓存策略
假设有些数据要常常要从数据库中读取。同一时候,这些数据又不常常变化,这些数据就能够在系统中缓存起来,使用时直接读取缓存。而不用频繁的訪问数据库读取数据。
缓存工作能够在系统初始化时一次性读取数据。特别是一些仅仅读的数据,当数据更新时更新数据库内容,同一时候更新缓存的数据值。
Java经常使用的缓存技术产品有:Redis、MemoryCache、OSCache等。
13、html静态化
14、不用保存太多的信息在HttpSession中
15、在使用大数据对象时,因此建议在对象使用完成后。手动设置成null(避免内存溢出)。