当前位置: 代码迷 >> J2ME >> JAVA的new 操作失败是否会抛出错误
  详细解决方案

JAVA的new 操作失败是否会抛出错误

热度:3127   发布时间:2013-02-25 21:33:43.0
JAVA的new 操作失败是否会抛出异常?
大家好!如题。我之前一直觉得虚拟机会去控制然后抛出“内存不足”的异常,但根据今天遇到的实际情况分析似乎不会,查找文档也没有发现有这种异常。所以请教大家,先确定这个问题:new 操作失败是否会抛出异常?

同时,这两个月写J2ME的代码,包括看过的JAVA代码,发现见过的所有代码new完从来没有去判断返回是否为空,这个是什么情况呢?是否JAVA有更好的控制机制?

------解决方案--------------------------------------------------------
类有默认的构造函数;
另外如果new后面类没有或找不到,直接编译就过不了!
------解决方案--------------------------------------------------------
你可以对构造函数抛出异常就可以了

Java 有垃圾回收机制 不用像C++那样自己管理动态分配的内存
------解决方案--------------------------------------------------------
每new 一个都会占有内存啊,但是在java中可以自己回收啊,你不必担心啊
------解决方案--------------------------------------------------------
同时,这两个月写J2ME的代码,包括看过的JAVA代码,发现见过的所有代码new完从来没有去判断返回是否为空,这个是什么情况呢?是否JAVA有更好的控制机制?

你刚new的对象,本身一般就都是空的...
------解决方案--------------------------------------------------------
“内存不足” 和“抛出异常”没关系。
------解决方案--------------------------------------------------------
new 就是new 出块内存给这个对象,让他往里放东西而已,等这个对象所在的作用范围过去了,也就算它的生命周期结束了,那么
java就会把他销毁..某个对象的作用范围可以是个函数,类,整个程序...所以你设计程序的,就应该注意一下,尽量少使用全局或者静态的变量.
------解决方案--------------------------------------------------------
会报OutOfMemoryError 的错误 就不是异常了

因为这个错误是程序无法处理的
  相关解决方案