论坛首页 Java企业应用论坛

一行代码实现java内存溢出&&几个js小问题解决方案

浏览 3182 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-08   最后修改:2008-12-08
看了一个帖子问怎么样可以使得java溢出,不会,想了想自己实验了一下,如下:
public class heap {
	public static void main(String[] args){
	   String[] ss=new String[16000000];
   }
}


我在eclipse里调的,这样就溢出了,找了找网上资料,说new一个空string要占用28bytes,那么28*16000000/1024/1024=427
而我eclipse设置的-Xmx 为 512m 改成-Xmx786m以后还是溢出了,不知道该怎么解释,有高手希望给解释下,咱只是实现了一下溢出,觉得还是挺有意思的 嗯

以下是总结最近做ssh网站的小经验积累,发现js代码才是很难弄的,还有网页的元素设置,唉,头疼

1 middlegen 生成hbm和java
网上搜了一下,发现很多人都是用middlegen生成hbm文件,然后用hibernate-extensions输命令行去生成java文件,很不划算,很费事,简单设置一下就可以在middlegen里生成java文件的。
(1)首先在lib里加入hibernate2.jar,jdom.jar,hibernate-tools.jar在hibernate包里拿过来用。
(2)build.xml中把目录设置成自己需要的目录,包含文件名为已用middlegen生成的hbm.xml文件即可
如下:
<hbm2java output="target\gen-src\org\hibernate\sample">
<fileset dir="target\gensrc\org\hibernate\sample">
<include name="User.hbm.xml"/>
         </fileset>
</hbm2java>
也就是你的输出目录输入目录和已生成的hbm文件,输出目录可以自动生成的。
(3)然后右键build.xml ->run as 第三项run设置里把hbm2java勾上则可生成对应java文件

2 firefox里defer属性失效
想在加载完成时给时间下拉框用js赋值,js想放在head里,在加载时调用body的onload去初始化, 没成功,而且说找不到时间下拉框,原来是js代码在生成select对象时已经执行了,发现一个defer属性很好用,可以设置你的js代码在页面加载完成后执行,于是加进去了。后来实验发现defer属性在firefox中失效,一点作用没有,现在只能把js代码放在body后边了,看起来比较乱。。。

3 js 获取不到class
js在IE6下的getAttribute()方法得不到class属性
a = document.getElementsByTagName("select");
a[i].getAttribute("class") 就是个空值,尽管我设置了
<select id="yy21" class="year">
        <option value="">----</option>
</select>年

firefox里没问题,只能两种方式都判断一下
if (a[i].getAttribute(”className”) == “year” ||a[i].getAttribute(”class”) == “year”)
这样问题才解决,浏览器的兼容性是个问题啊,有时候这个调好了那个未必对,现在在学着用firefox的调试信息功能,还挺bh的说!

   发表时间:2008-12-08  
告诉你个测试办法, 关于堆占用。比较准确的。
    你现new 一个对象。 然后sleep 程序, 然后用jmap 把heap 弄出来。 然后使用eclipse的插件--mat 把这个heap分析出来。你多折腾下, 肯定对你理解heap 有帮助。
0 请登录后投票
   发表时间:2008-12-09  
sdh5724 写道

告诉你个测试办法, 关于堆占用。比较准确的。&nbsp;&nbsp;&nbsp; 你现new 一个对象。 然后sleep 程序, 然后用jmap 把heap 弄出来。 然后使用eclipse的插件--mat 把这个heap分析出来。你多折腾下, 肯定对你理解heap 有帮助。

嗯 谢谢指点 我去试试 现在先忙咱的小网站了嘿
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics