有些檔案太大,而不能全部放入記憶體操作,記憶體對映檔案允許我們建立和修改那些因為太大而不能放入記憶體的檔案。有了記憶體對映檔案,
我們就可以假定整個檔案都放在記憶體中,而且可以完全把它當做非常大的陣列來訪問。
但是其實是只有一部分放入了記憶體,檔案的其他部分被交換了出去。用這種方式,很大的檔案(可達2g)也可以很容易的修改。
下面對「舊」的io和nio在對映檔案訪問上坐比較:
private static int
numofints
= 4000000
;private static int
numofubuffints
= 20000
;private abstract static class tester
public void
runtest() catch (ioexception e)
}public abstract void
test() throws ioexception;
} private static tester testers
= },
@override
public void
test() throws ioexception
},new tester("stream read")
},@override
public void
test() throws ioexception
},new tester("stream read/write")
raf.close();
} },
@override
public void
test() throws ioexception }};
public static void
main(string args)
}} 效果:
可以看到,整體收益比起io流來說還是很顯著的。
調優的基本選項
基於glusterfs構建的集群nas系統是乙個複雜的系統工程,其整體效能表現與特定應用特徵 硬體和軟體配置等息息相關。系統部署時,如果效能與估算或經驗值相差較大,則需要根據實際情況進行效能調優。根據gluster系統組成,效能調優主要從硬體 os系統和glusterfs檔案系統三大部分著手,通過測...
linux 調優(之cpu與記憶體基本概念)
cpu 時間片,time slice 優先順序 排程器 big o o 1 時間複雜度 140個佇列掃瞄每個佇列的首部從高到低 0 139 使用者空間級優先順序,用nice調整,靜態的 0 99實時優先順序 動態優先順序,核心會維護乙個追蹤程序狀態的機制,它會根據每乙個程序根據此前被排程的時長或者次...
mybatis 簡介與基本使用
mybatis是乙個資料持久層的框架 框架 就是乙個軟體的半成品 乙個框架中包含了多個元件 核心配置檔案 只有乙個 對映檔案 多個,通常每個表對應乙個 核心配置檔案 乙個mybatis工程只需要乙個核心配置檔案 這個配置檔案中包含 mybatis的一些通過配置 例如 資料庫連線 載入的對映檔案 通用...