【发布时间】:2013-05-02 19:52:30
【问题描述】:
我有一个 java 应用程序,它每秒启动和停止数亿个项目(从外部脚本调用)多次。
Input: String key
Output: int value
此应用程序的目的是在永远永远更改的Map(约 30k 个键)中查找某个键并返回该值。很简单。
问题:每秒多次使用什么更有效:
Map中的硬编码字典- 使用
BufferedReader读取外部文件- ...让我惊叹你的其他想法
我知道硬编码是邪恶的,但有时,你需要邪恶才能高效:-)
【问题讨论】:
-
最好有动态地图,以便轻松访问您的 Java 应用程序。
-
使用数据库是一种选择?
-
你为什么这么频繁地启动和停止应用程序?为什么不让它继续运行并根据需要处理请求?
-
这里的问题是您重新启动 Java 应用程序数亿次。启动开销可能是处理时间的 99%。您需要重新考虑一些事情,以便您的应用可以通过管道或套接字为请求提供服务,并且只启动一次。
标签: java performance dictionary coding-style hardcode