我办公室的电脑内存不富裕,只有1GB。Glassfish v3 用的是缺省安装,把 Firefox 设为缺省浏览器。每每调试时,总是越来越慢,几乎是回到 286 时代,看着屏幕的现实逐个字符弹出来。
想想我的电脑其实挺新的,Dual CPU 2.2G, 1GB 内存, Sata 硬盘。还是这么慢。在 任务管理器看到, java 占内存达 630MB 或以上, Netbeans 占 250MB, firefox 也有 110MB. 看来是 glassfish 用的内存太多了,优化优化吧。
在网上乱搜一通,修改 glassfish 的内存占用是在 domains\domain1\config 的 domain.xml 文件,找到 Xmx 一项:
把 512 改为 384, 保存。重启Glassfish, 好像很正常,感觉快了一点,不象老牛负重了。
我的项目把几个配置写在 xml 文件了,所以要 读取 xml 然后按取得的值转到不同的页面。开始的时候,我是用 DOM 来读取的,我的xml文件也很小,一切正常。
前几天在看网文,对于读取xml, 几乎人人口诛笔伐 DOM 占用内存大, 而 SAX 也不好,而大家一起推荐的就是 StAX. 而 StAX 是官方 在 java ee 1.5 的时候正式引入,在 java ee 1.5 tutorial 有专门的介绍和详细用法。而 java ee 1.6 也是推荐 StAX 的。既然这样,就学学它吧。
上周和周末化了点时间在网上乱搜,找到一些 StAX 的例子,找葫芦画瓢,写了读取我自己的 xml 文件的代码,测试过很正常。把这些代码段放入 我的ee项目,没问题。
周末是在家里测试代码,家里的电脑 2GB内存,Glassfish 的配置是缺省的 Xmx512m。 不过,刚开始我没注意这点。
星期一回到办公室,继续代码的干活。怪了,不断的出错。即使不出错,也是停留在某个页面,而不是按设定的 转 到其他页面。
一时头绪全无。只好慢慢追踪,把这天新加的代码全部删除,居然还是不正常。呵呵。打开 IEInspector 追踪 页面的交互,发觉没有形成 有效的链接,而这些 链接是从 xml 读取的,一步一步的断定是 xml 的读取有问题了。StAX 读取 xml 的代码应该是没问题的,我是在控制台测试后放入 ee 项目的,而且上周这些代码都正常运作。那为什么呢?难道 ee项目运行后 内存不够 StAX 的运作?
把 domain.xml 的Xmx 设置改为 512, 重启 Glassfish, 呵呵,项目页面的跳转正常了,说明 StAX 解析 xml 正常了。
很不明白,StAX 到底对内存要求是多少?它真的有特别的优势么?为什么 官方推荐它呢?
:-
- 大小: 46.4 KB
分享到:
相关推荐
GlassFish V3初探
可扩展GlassFish v3的JavaEE 6帮助文档
最新的Glassfish v3使用指南,希望大家可以使用愉快。
jmaki development with sun glassfish v3
GlassFish v3 使用技术文档。很全面很详细。用到什么直接去找,没必要完全掌握
而且细节之处关键之处都是一带而过 很容易忽略 包括官方白皮书也是这样 所以写个文档和大家分享一下 文档中我分别写了界面配置方法和命令行批处理配置方法,希望对研究和使用glassfish服务器的童鞋有所帮助。
Demo of ehCache distributed caching with terracotta in glassFish v3 可以参考:http://blog.csdn.net/guobin0719/archive/2011/04/25/6361940.aspx
glassfish-v3-windows.part1
引起鱼猫之争的东东 可与tomcat 媲美,看好它
glassfish-v3-windows.part4
glassfish-v3-windows.part2
引起鱼猫之争的东东 可与tomcat 媲美,看好它
GlassFish 的安装和启动,中文的呀
GlassFish4的下载和安装的详细步骤,下载地址,配置等。附带有GlassFish3的安装简述
glassfish集群搭建手册glassfish集群搭建手册glassfish集群搭建手册
Payara Server 源自GlassFish Server开源版本和100%开源
glassfish和ant安装与配置 在eclipse中的配置
Glassfish 集群技术揭秘Glassfish 集群技术揭秘
GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。 GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称...
Glassfish部署web项目