我正在考虑使用java应用程序对象来实现一个简单的缓存,保存一些配置变量,以及一些带有常用信息的xml ...
我想知道应用程序数据在哪里存储(系统文件,在内存中,db),如何配置,以及是否有任何类型的限制,如空间,并发等...
此外,关于scalabitlity(包括大小和并发)的任何其他问题都将受到赞赏...
如果有人可以给我一些地方寻找更多信息,我会很高兴...
非常感谢
答案 0 :(得分:3)
对象存储在堆中。间隔堆可以通过VM的配置文件进行管理。
构造函数调用更复杂 比普通的子程序或 功能调用。这对你很有帮助 了解确切的步骤 计算机通过执行一个 构造函数调用:
- 首先,计算机获取堆中未使用的内存块,大 足以容纳一个对象 指定类型。
- 初始化对象的实例变量。如果 声明实例变量 指定一个初始值,然后指定 值被计算并存储在 实例变量。否则, 使用默认初始值。
- 评估构造函数中的实际参数(如果有), 并将值分配给 构造函数的形式参数。
- 执行构造函数体中的语句(如果有)。
- 返回对象的引用作为的值 构造函数调用。
醇>这样做的最终结果就是你 有一个新的参考 构造对象。你可以用它 参考获取实例 该对象中的变量或调用 它的实例方法。
http://www.faqs.org/docs/javap/c5/s2.html
以下是一些VM配置参数
http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp
我曾经为xml对象写过一个Cache(以某种方式调用它们)。带有String键(filename)的Map和对Object(已解析的xml文件)的引用就足够了。除此之外,缓存是单例(同步)。对于缓存已编译的JasperReports也是一样的(我在这里得到了显着的速度提升,因为报告不再每次都编译)