我需要在Java應用程序中包含大約1 MB的數據,以便在其他源代碼中快速輕鬆地進行訪問。我的主要背景是不是Java,所以我最初的想法是將數據直接轉換爲Java源代碼,定義常量數組的1M字節,類(而不是C++結構)等,像這樣:Java中的大量常量
public final/immutable/const MyClass MyList[] = {
{ 23012, 22, "Hamburger"} ,
{ 28375, 123, "Kieler"}
};
然而,似乎Java不支持這樣的結構。它是否正確?如果是的話,這個問題的最佳解決方案是什麼?
注意:數據由2個表組成,每個數據大約有50000條記錄,這些記錄將以各種方式進行搜索。這可能會稍後需要一些索引,這樣可以保存更多的記錄,大概有100萬條記錄。我希望應用程序啓動速度非常快,而不會迭代這些記錄。
這是什麼Java的標準數據格式? – 2010-05-04 07:22:51
@Lars:對於K/V對,* key = value *在'.properties'文件中(對於'Properties'類檢查javadoc),僅列出天空的限制,儘管我建議你使用簡單的您的需求。如果你願意,也許是XML,但通常這不是必須的。 – Esko 2010-05-04 07:25:35
@Lars D:這真的取決於你的數據需要什麼。屬性文件適用於鍵/值對,但如果您有很多數字數據,則效率可能不是非常高。 (對於XML也是如此。)有許多序列化庫可能會讓您的生活更輕鬆,或者只是使用您自己的自定義數據格式。 – 2010-05-04 07:27:45