2012-07-12 53 views
-3

我试图从有效的Java捉摸以下行缓冲区溢出和数组超支 - 简单的解释

一两件事,使Java这样的使用乐趣是,它是一种安全的语言。这意味着在没有本地方法的情况下,它对缓冲区溢出,数组 溢出,野指针以及其他困扰不安全的语言(如C和C++)的内存损坏错误不起作用。用安全的语言编写类和 可以确定地知道它们的不变量将保持为真,无论系统的任何其他部分发生了什么 。

什么是缓冲区溢出,数组溢出(我不想在这里有很多细节,只是简单的概述而已),以及Java的哪些功能可以使程序免疫overuns?

+0

http://en.wikipedia.org/wiki/Buffer_overrun。 – 2012-07-12 14:06:49

回答

1

当您尝试查找超出数组范围的值时,Java会抛出ArrayIndexOutOfBoundsException,而不是导致段错误,不可预知(可能会出于安全角度出现问题)行为,或者仅会导致操作系统崩溃。

(是的,这就是C,C++等所做的。)