最簡單的辦法是使用靜態變數。變數設置為private的,初始化的時候給變數賦值,其版他方法權若要使用,只能通過get方法取值。這樣避免的更改內存中的數據
如:
public class Test{
private static String[] testArgs;
static init(){
給testArgs賦值...
}
public static getArgs(){
return testArgs;
}
}
Ⅱ java 怎麼把數據存到內存中
這里你採納與否沒關系,給你說說編程與內存的關系。
你定義的任何變數,常量,類,方法等等,其實都在內存中,沒有所謂的把數據存內存中,這概念,你可以想一下電腦重啟或關機後,內存中的所有數據,都會丟失,除非你保存到磁碟中去。
在內存中的數據有兩塊,第一、緩沖,一般寫數據到磁碟的時候開辟出來的內存空間;第二、緩存,一般是從磁碟讀數據到內存中開辟出來的內存空間。會這么使用,原因很簡單,磁碟讀寫數據速度與內存不一致(磁碟的存取效率遠遠小於內存的存取效率),為了提高數據的存取效率,才會這么乾的。
一般而言,java中的所謂數據,大部分都是類,從自動引用計數的概念來分析,你想把對象長久的放在內存中,不會被垃圾回收機制釋放,注意制葯有一個對象在使用/引用你的數據,這條數據就會存在內存中。所以,想servlet中的全局配置參數,隨時可以取到還是唯一一份,你可以參考一下。
另外內存使用分堆與棧,堆在面向對象編程中存儲對象的,棧是方法或函數執行的時候臨時開辟的存儲空間,方法或函數執行完畢就會釋放。
希望我的回復能幫助到你,採納與否沒關系。有更好的答案,我就隱藏我的回復。
Ⅲ java相關 怎麼把資料庫的數據預先存入內存
記得之前的遠標老師教過我這一塊,問了一下。是這樣回答的
你創建一個servlet的時候,添加一個init()方法,init方法中執行查詢資料庫的方法,把數據導入內存。
默認情況下servlet被載入是在第一次請求訪問到來得時候,不過可以使用xml文件中配置
<load-on-startup>-1</load-on-startup>
是其在啟動tomcat服務的時候就載入servlet就可以了。
Ⅳ JAVA 如何把數據讀出放在內存中以供調用
在hibernate配置文件中將lazy改為false
Ⅳ 在Java類中 如何將一組數據寫入內存是通過構造方法嗎可以舉個例子嗎
不懂你的意思?
java不能自己直接操作內存,而且平時的操作也是jvm的內存(雖然JVM的內存來自系統RAM)。你實例化一個類 就是將數據寫入內存了
Ⅵ java怎麼將生成的文件放入內存
這個要使用到內存流。BufferedOutputStream或者BufferedWriter。
文件的讀取和寫入都應該會了吧?普通的流讀寫都是直接從文件中讀取或者寫入到文件中的,而內存流則是把文件中的內容寫入到電腦內存或者是從內存中讀取出來。具體的話就是把輸出流替換成BufferedOutputStream或者BufferedWriter即可
Ⅶ java怎麼將數據放入緩存
java放入session緩存中
方法如下:
session.setAttribute("Name",Value);
Name 隨便取,value就是要放的數據回
獲取的時候session.getAttribute("Name);
就可答以了
Ⅷ java如何將從資料庫取出的數據預先存入到內存
你要實現的這個可能跟SpringMvc的關系不是很大。
你要達到的目的其實就是在jvm啟動的時候把資料庫數據載入一份到內存,一個靜態變數和一個靜態初始化塊就可以搞定你的問題,這兩者都是在類載入的時候初始化一次,像前面回答的一樣,你可以用一個HashMap搞定。稍微具體來說,一個靜態變數
public static final Map<key,value> cache=new HashMap<key,value>()
static {
cache=請求資料庫操作
}
key你自己加,String還是int都行,value是你資料庫的結構,可以寫個實體。獲取的時候直接cache.get(key)就可以了。