A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

程序运行异常有内存溢出  内存溢出是怎么导致的 程序运行异常还有那些?求解答 附带代码更好

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

倒序浏览
运行java.exe时会初始化内存大小,也设置了默认的最大内存,如果运行时,存储变量和对象等都需要内存,当内存达到最大内存时就是报内存溢出异常。这个最大内存大小是可以修改的,但我也还不会改,我问了怎么改内存大小的提问,但过了很久没人回答。
异常有很多,大体分为编译异常和运行时异常,运行时异常还有一个很常见的,就是空指针异常,只要是在运行时抛出的,在编译时没有发现的异常都应该算是运行时异常。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
ClassCastException(类转换异常)
IndexOutOfBoundsException(数组越界异常)
NullPointerException(空指针异常)
ArrayStoreException(数据存储异常,操作数组时类型不一致)
这几种运行时异常见些。
还有很多很多。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
内存溢出是怎么导致的 ?
答:内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。
程序运行异常还有那些?
楼上的说了,我就不多说了。

对于xietansheng提出修改jvm内存的,可以:

                                              java   -Xms    初始化内存大小    -Xmx    可以使用的最大内存

Xmx是java的一个选项,用来设置你的应用程序能够使用的最大内存数。Xmx不能超过物理内存的大小的
Xms是另一个设置内存的参数,用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。不过同样有前面的限制,以及受到xmx的限制。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马