Note 8.3 代码调优之性能优化

Note 8.3 代码调优之性能优化

1.调优strategies

“代码行数与程序的资源占用和运行速度无必然联系”。

正确性总是第一位的,在保证正确性的前提下提高速度。

2.低效的原因

加粗样式
不必要的I/O:尽量使用内存

分页:CSAPP里有提到过,且内存越小分页影响越大。

系统调用:CSAPP也有讲到,尽量自己写服务。

3.调优-对象创建和复用(5种模式)

1)单例模式:只创建一个对象然后复用
2)flyweight模式/享元:内在状态(不变,可共享)和外在状态(可修改)
3)object pool模式
4)avoiding GC
5)object initialization

4.调优之strings

字符串处理中避免一些特定的函数(会降低性能),同时也有很多技巧(例如使用char array来代替string)

5.调优-logics,

loops, data type, expressions中的调优

6.调优-I/O,logging

(ppt 8.1.8节部分)

File类:检查、创建文件/目录

InputStream/Reader:输入

OutputStream/Writer:输出

抽象类filter:

典型使用方法:

缓冲读入文件:

BufferedReader
in=new BufferedReader(new FileReader(filename));

while((s=in.readLine())!=null)
do…

(readLine会删除换行符)

从内存读入:

StringReader
in=new StringReader(BufferedInputFile.read("…java"));

while((c=in.read())!=-1)
do…

格式化内存读入:

标准I/O:为了实现单一信息流

标准输入:System.in未被包装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值