我需要在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