2012-07-01 125 views
-1

在我的代碼中,我使用了幾個使用RandomAccessFile的文件讀取。我也使用內建的HashMap中的JAVA。這些導致多個頁面錯誤。是否有任何內置庫關心緩存機制並輕鬆嵌入Java代碼?在Java中緩存代碼

編輯:我正在使用JAVAC。

+0

你想要緩存什麼?它是整個文件內容嗎? – 18bytes

+0

@devsundar,其實我想要一個關心我的代碼緩存和減少頁面錯誤的庫/代碼。 – Arpssss

+1

你知道頁面錯誤本身沒有錯嗎?也許你應該準確地描述你所看到的 - 甚至是屏幕轉儲 - 你爲什麼不認爲這是一個好主意? –

回答

2

這些會導致多個頁面錯誤。 他們可以這樣做,但JVM通常會將所有同時構建的對象或同一個引用的對象放在一起,因此您可能只有一個頁面錯誤。

是否有任何內置庫關心緩存機制並輕鬆嵌入到Java代碼中?

不,這不是簡單的java做的,或者除非語言的任何語言的目的是利用這個從一開始。

好在它不是你平時不用擔心,因爲大多數的數據很可能是在緩存中,如果不是主內存(你只能得到一個頁面錯,如果數據不是在內存中,例如在磁盤上)

第一次從磁盤讀取文件時,可能會出現頁面錯誤。操作系統的工作是確保您的訪問模式得到有效處理。如果不是,最好的做法是a)使用像SSD這樣的更快的驅動器,或者b)使用不同的操作系統。 (不太可能幫到你)

0

據我所知,有一個用於緩存的JSR。這是JSR 107
看起來這將成爲Java EE 7的一部分。
就你而言,我會推薦使用其中一個緩存框架,其中一些實現JSR 107。
也許爲了讓您的代碼支持Java,您應該選擇一個支持此JSR的緩存框架。
但是,您應該考慮這是否會影響您的流量/使用情況。
您可以在this博客中獲得更多詳細信息。

+0

對不起,我應該提到我正在使用JAVAC。 – Arpssss