0

我正在考虑使用java应用程序对象来实现一个简单的缓存,保存一些配置变量,以及一些带有常用信息的xml......

我想知道应用程序数据物理存储在哪里(系统文件,内存,数据库),如何配置,以及是否有任何限制,如空间、并发性等...

此外,任何其他关于可扩展性(包括大小和并发性)的问题都将不胜感激......

如果有人能指点我一些地方找到更多信息,我会很高兴...

多谢

4

1 回答 1

3

对象存储在堆中。堆空间可以通过虚拟机的配置文件进行管理。

构造函数调用比普通的子例程或函数调用更复杂。了解计算机执行构造函数调用所经历的确切步骤会很有帮助:

  1. 首先,计算机在堆中获得一块未使用的内存,大到足以容纳指定类型的对象。
  2. 它初始化对象的实例变量。如果实例变量的声明指定了一个初始值,则计算该值并将其存储在实例变量中。否则,使用默认初始值。
  3. 构造函数中的实际参数(如果有)被评估,并将值分配给构造函数的形参。
  4. 构造函数主体中的语句(如果有)将被执行。
  5. 对对象的引用作为构造函数调用的值返回。

这样做的最终结果是您引用了一个新构造的对象。您可以使用此引用来获取该对象中的实例变量或调用其实例方法。

http://www.faqs.org/docs/javap/c5/s2.html

以下是一些虚拟机配置参数

http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp

我曾经为 xml 对象写了一个缓存(以某种方式调用它们)。带有字符串键(文件名)和对对象(解析的 xml 文件)的引用的 Map 就足够了。除此之外,缓存是一个单例(同步)。对缓存已编译的 JasperReports 做了同样的事情(我在这里遇到了明显的减速,因为报告不再每次都编译)

于 2009-05-07T03:41:29.920 回答