java io

文件拷貝的方式

  • 利用FileInputStream,FileOutPutStream來進行
  • 利用 java.nio 類庫提供的 transferTo 或 transferFrom;效率更高,減小沒必要要的拷貝和上下文切換

文件拷貝流程

用戶態(User Space),內核態(Kernel Space);涉及到上下文切換java

  • 讀取步驟;從內核態讀取磁盤到內核緩存,切換到用戶態從內核緩存讀取磁盤信息;
  • 寫入步驟:從用戶態寫入到內核緩存,內核態讀取內核緩存寫入磁盤

文件拷貝優化建議

  • 利用緩存機制,合理減小io次數
  • 利用transfer技術,減小上下文切換和額外的io操做
  • 減小沒必要要的轉換步驟,好比編解碼

Buffer

除了Boolean類型,其餘基本類型都有buffer;緩存

  • capacity,緩衝區容量
  • limit,操做上限
  • position,開始位置
  • mark,上一次的位置,不是必須的

DirectBuffer 堆外內存優化

相關文章
相關標籤/搜索