【Java初学者】这个程序为什么提示非法内存访问?

【Java初学者】这个程序为什么提示非法内存访问?,第1张

除了少了一些空格以外(这应该腊迹顷只轮陆是录入到这里的问题),感觉没什么问题啊。另外,单纯的JAVA代码问题是不容易引起内存非法访问的,因为它的自动内存管理和严谨的语法检查,但当州姿调用外部程序或与系统耦合度高的指令时除外。

出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由 Thread.run() 抛出 ,如果是单线程就被 main() 抛出 。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是 Exception 的子类,也有一慧携般异常的特点,是可以被 Catch 块处理的。只不过往往我们不对他处理罢了。也就是说,你如返烂果不对运行时异常进行处理,么出现运行时异常之后,要么是线程前世伏中止,要么是主程序终止。

1、五种常见的异常:ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界异常)、NullPointerException(空指针异常)、ArrayStoreException(数据存储异常, *** 作数组时类型不一致)、BufferOverflowException(还有IO *** 作的,缓冲溢出异常)。

2、java运行时异常是可能在java虚拟机正常工作时抛出的异常。java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)。

检查式异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我们必须对出现陵辩消的这些异常进行catch 所以 面对这种异常不管我们是否愿意,只能自己去写一堆catch来捕捉这些异常。

运行时异常:我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。

扩展资料:

Java特点

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和尺知continue语句以及异常处理。Java还剔除了C++的 *** 作符过载和多继承特征,并且不使用主文件,免去了预处理程序。

因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动灶手处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

参考资料:百度百科-Java


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12507294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存