我正在尋找實現一個HashMap的內容在字節碼中。這與我序列化內容然後讀取內容類似。但根據我的經驗,序列化只能將它保存到一個文件然後讀入,我希望這個實現比這個更快。Java:編譯內容的HashMap
1
A
回答
3
但根據我的經驗,序列化只能將它保存到一個文件然後讀入,我希望這個實現比這個更快。
序列化適用於流。具體而言,ObjectOutputStream
可以包裝任何OutputStream
。如果你想執行內存中的序列化,你可以在這裏使用ByteArrayOutputStream
。
同樣在輸入端。
0
您可以保存使用Java序列化mechanizm你的HashMap的字節數組
Map map = new HashMap();
map.put(1, 1);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bout);
oos.writeObject(map);
oos.close();
byte[] bytes = bout.toByteArray();
// restore from bytes
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
map = (Map) ois.readObject();
System.out.println(map);
輸出
{1=1}
不是在地圖鍵和值必須是可序列化,否則它不會工作
+0
謝謝。我會輸出一個帶有數據的java文件作爲字符串,然後反序列化它。這個方法如何比較使我自己的HashMap類有表(與值)作爲靜態變量呢? – superbriggs
相關問題
- 1. Java的內存編譯
- 2. 編譯內容沒有XNA
- 3. 在Java編譯時將文件內容讀入內存
- 4. 在內存中編譯Java
- 5. 從Python內編譯java
- 6. 動態內容的角度$編譯
- 7. 編譯內容的剪貼板
- 8. 編譯網站的靜態內容
- 9. 獲取Angular指令的編譯內容
- 10. XText - 獲取XExpression的內容(編譯值)
- 11. Guard編譯目錄的內容到dirname
- 12. java - 在HashMap中的內容適當的數據
- 13. Java HashMap/Hashtable和編號
- 14. 在g ++中編譯文件內容以編譯
- 15. Java編譯器的內部架構
- 16. 如何在java中獲取arraylist的hashmap內容?
- 17. Java - 使用(摘要)顯示HashMap的內容ListModel
- 18. 如何獲取Android上Java的HashMap循環內容?
- 19. 的Java:編譯
- 20. Makefile重新編譯所有內容
- 21. 錯誤編譯內容項目
- 22. AngularJS contenteditable編譯內容變化
- 23. Maven編譯/安裝更改JSP內容
- 24. 容量和indexFor在Java中的Hashmap
- 25. 如何把在HashMap的內容與HashMap中
- 26. Java的嵌套包含HashMap內的HashMap一個ReadFile的
- 27. Java的硬編碼開關VS HashMap的
- 28. 在python/java中編輯acp的內容
- 29. 編譯Java編譯期間的錯誤
- 30. 重新編譯Java內置類
你想要解決什麼確切的問題? – kan
你是指字節數組而不是字節碼?字節碼是你的java代碼在你編譯之後變成的東西 – gerrytan
我想讓一個類的初始化和查找的時間儘可能小。我的想法是輸出一個帶有寫入數據的.java文件,然後將該文件編譯爲字節碼。 – superbriggs