【问题标题】:Save Properties File MOST EFFICIENT保存属性文件最有效
【发布时间】:2016-08-21 15:56:18
【问题描述】:

这些方式中哪一种更好(更快、更少存储空间)?

  1. 在每个文件中保存数千个 xyz.properties — 大约 30 个键/值
  2. 一个包含所有数据的 .properties 文件 — 大约 30,000 个键/值

【问题讨论】:

  • 也许数据库更适合这里?
  • 如果文件在读/写期间被锁定并且应用程序是多线程的,您将遇到性能问题。当然,数据库更合适。

标签: java properties-file


【解决方案1】:

我认为这里有两个方面:

  1. 正如 Guenther 正确指出的那样,处理文件会带来开销。你需要“文件句柄”;以及可能处理文件的其他数据结构;所以可能有许多不同的级别,拥有一个大文件比拥有许多小文件更好。
  2. 但也有“可维护性”。含义:从开发人员的角度来看,处理包含 30 K 键/值的属性文件是您真正不想涉足的事情。如果所有内容都在一个文件中,则您必须不断更新(和部署)那个巨大的文件。一变;并且整个文件都需要出去。您是否有允许“运行时”重新加载属性的机制?或者这是否意味着您的应用程序必须关闭?以及在该大文件中重复出现的频率是多少?或者更糟:您在第 5082 行为属性 A 设置了一个值,然后有人没有注意并在第 29732 行覆盖属性 A。有很多事情可能出错;只是因为将所有这些东西都放在一个文件中;再也无法被任何人消化!请放心:调试类似的东西会困难

我只是给了你一些思考的问题;所以你可能想退后一步,从你的角度提出更多要求。

以任何方式;您可能想研究一种解决方案,让开发人员处理许多小属性文件(您知道,例如每个功能 一个 文件)。然后您使用工具构建生产环境中使用的一个大文件。

最后:如果你的应用真的需要 30K 属性;那么您应该更加担心产品的质量。在我看来,这不是设计“气味”;这听起来像是一种设计恶臭。含义:任何合理的应用程序都不应该需要 30K 属性才能运行。

【讨论】:

    【解决方案2】:

    打开和关闭 1000 多个文件是操作系统的主要开销,因此您最好使用一个大文件。

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      相关资源
      最近更新 更多