黑马程序员技术交流社区

标题: 异常分两种,程序运行异常都有那些 [打印本页]

作者: 自由自在2014    时间: 2014-2-25 18:32
标题: 异常分两种,程序运行异常都有那些
程序运行异常有内存溢出  内存溢出是怎么导致的 程序运行异常还有那些?求解答 附带代码更好
作者: xietansheng    时间: 2014-2-28 23:50
运行java.exe时会初始化内存大小,也设置了默认的最大内存,如果运行时,存储变量和对象等都需要内存,当内存达到最大内存时就是报内存溢出异常。这个最大内存大小是可以修改的,但我也还不会改,我问了怎么改内存大小的提问,但过了很久没人回答。
异常有很多,大体分为编译异常和运行时异常,运行时异常还有一个很常见的,就是空指针异常,只要是在运行时抛出的,在编译时没有发现的异常都应该算是运行时异常。
作者: ζ丶凡σ    时间: 2014-3-1 09:23
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
作者: 天凌蓝    时间: 2014-3-1 10:47
内存溢出是怎么导致的 ?
答:内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。
程序运行异常还有那些?
楼上的说了,我就不多说了。

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

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2