我具有芯JAR提供一些功能,因此在许多其他应用的,以及用于 - 桌面应用程序,网络应用程序等。现在这个核心JAR维护包含在计算上昂贵创建对象的对象池。对象池是固定大小的,所以我创建的所有对象的一次和填充池。 我想要做的是:只要使用我的JAR应用程序被加载,对象池是不知道的应用这样一个池的细节创建。而且,即使该应用程序加载时间将会受到冲击,因为该池人口,但一旦应用程序是过去的这个阶段,不应该有任何更多的表现在创造这样的重物击中后。

有没有办法实现这一目标?

有帮助吗?

解决方案

做这样的事情,在客户端应用程序增加显式钩子来调用你的启动逻辑之外的唯一方法是静态初始化程序添加到您的类来构建你的游泳池。

当你的类首先由JVM(之前被调用在你的类的任何代码),这是不太确定的,但通常当一个代码路径引用类是先打加载的静态初始化运行。

我会建议提供某种形式的挂钩到您的启动逻辑客户端应用程序调用,这样,他们可以精确地控制这种类型的东西,而不是在一个不可预知的时候你的启动逻辑运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top