java io

文件拷贝的方式

  • 利用FileInputStream,FileOutPutStream来进行
  • 利用 java.nio 类库提供的 transferTo 或 transferFrom;效率更高,减少不必要的拷贝和上下文切换

文件拷贝流程

用户态(User Space),内核态(Kernel Space);设计到上下文切换

  • 读取步骤;从内核态读取磁盘到内核缓存,切换到用户态从内核缓存读取磁盘信息;
  • 写入步骤:从用户态写入到内核缓存,内核态读取内核缓存写入磁盘

文件拷贝优化建议

  • 利用缓存机制,合理减少io次数
  • 利用transfer技术,减少上下文切换和额外的io操作
  • 减少不必要的转换步骤,比如编解码

Buffer

除了Boolean类型,其他基本类型都有buffer;

  • capacity,缓冲区容量
  • limit,操作上限
  • position,开始位置
  • mark,上一次的位置,不是必须的

转载于:https://my.oschina.net/u/1590027/blog/3047533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值