Java 内存不足错误--为什么不分页?

Java 内存不足错误--为什么不分页?,java,out-of-memory,paging,Java,Out Of Memory,Paging,java程序中经常出现内存不足错误。我的问题很简单:当超过内存限制时,为什么java直接杀死程序而不是将其交换到磁盘上?我认为内存寻呼/交换策略在现代操作系统中经常使用,而C++等编程语言肯定支持交换。谢谢。因为Java是跨平台的。可能没有磁盘 其他原因可能是这样的事情会影响性能,开发人员不希望发生这种情况(因为Java已经带来了性能开销?)因为Java是跨平台的。可能没有磁盘 其他原因可能是这样的事情会影响性能,开发人员不希望发生这种情况(因为Java已经带来了性能开销?)因为Java是跨平台

java程序中经常出现内存不足错误。我的问题很简单:当超过内存限制时,为什么java直接杀死程序而不是将其交换到磁盘上?我认为内存寻呼/交换策略在现代操作系统中经常使用,而C++等编程语言肯定支持交换。谢谢。

因为Java是跨平台的。可能没有磁盘


其他原因可能是这样的事情会影响性能,开发人员不希望发生这种情况(因为Java已经带来了性能开销?)

因为Java是跨平台的。可能没有磁盘


其他原因可能是这样的事情会影响性能,开发人员不希望发生这种情况(因为Java已经带来了性能开销?)

因为Java是跨平台的。可能没有磁盘


其他原因可能是这样的事情会影响性能,开发人员不希望发生这种情况(因为Java已经带来了性能开销?)

因为Java是跨平台的。可能没有磁盘


其他原因可能是这样的事情会影响性能,而开发人员不希望这样的事情发生(因为Java已经带来了性能开销?)

@Pimgd已经步入正轨:但是@Kayaman是对的。Java除了从系统请求内存外,不处理内存。C++不支持交换,它从OS请求内存,操作系统会进行交换。如果您使用
-Xmx
为您的应用程序请求足够的内存,它可能会开始交换,因为操作系统认为它可以。Java除了从系统请求内存外,不处理内存。C++不支持交换,它从OS请求内存,操作系统会进行交换。如果您使用
-Xmx
为您的应用程序请求足够的内存,它可能会开始交换,因为操作系统认为它可以。Java除了从系统请求内存外,不处理内存。C++不支持交换,它从OS请求内存,操作系统会进行交换。如果您使用
-Xmx
为您的应用程序请求足够的内存,它可能会开始交换,因为操作系统认为它可以。Java除了从系统请求内存外,不处理内存。C++不支持交换,它从OS请求内存,操作系统会进行交换。如果您使用
-Xmx
为您的应用程序请求足够的内存,它可能会开始交换,因为操作系统认为它可以。使用分页的虚拟内存—存储在系统上运行的任何程序的4K(或类似)块—是操作系统可以做或不能做的事情。地址空间的承诺仅限于用于存储地址的机器字的容量,这听起来不错,但也有一个严重的缺点,即
抖动
。当页面(重新)加载的数量超过某个频率时,就会发生这种情况,这反过来是由于太多的进程请求太多的内存,再加上这些进程的内存访问的非局部性。(如果一个进程可以执行长时间的代码,而只访问它的一小部分页面,那么它就具有良好的局部性。)

分页还需要(快速)辅助存储


限制程序内存资源的能力(如Java)不仅是一种负担;当需要为(比如)服务器系统设计资源使用的总体计划时,这也必须被视为一件好事。

关于分页的几句话。使用分页的虚拟内存—存储在系统上运行的任何程序的4K(或类似)块—是操作系统可以做或不能做的事情。地址空间的承诺仅限于用于存储地址的机器字的容量,这听起来不错,但也有一个严重的缺点,即
抖动
。当页面(重新)加载的数量超过某个频率时,就会发生这种情况,这反过来是由于太多的进程请求太多的内存,再加上这些进程的内存访问的非局部性。(如果一个进程可以执行长时间的代码,而只访问它的一小部分页面,那么它就具有良好的局部性。)

分页还需要(快速)辅助存储


限制程序内存资源的能力(如Java)不仅是一种负担;当需要为(比如)服务器系统设计资源使用的总体计划时,这也必须被视为一件好事。

关于分页的几句话。使用分页的虚拟内存—存储在系统上运行的任何程序的4K(或类似)块—是操作系统可以做或不能做的事情。地址空间的承诺仅限于用于存储地址的机器字的容量,这听起来不错,但也有一个严重的缺点,即
抖动
。当页面(重新)加载的数量超过某个频率时,就会发生这种情况,这反过来是由于太多的进程请求太多的内存,再加上这些进程的内存访问的非局部性。(如果一个进程可以执行长时间的代码,而只访问它的一小部分页面,那么它就具有良好的局部性。)

分页还需要(快速)辅助存储


限制程序内存资源的能力(如Java)不仅是一种负担;当需要为(比如)服务器系统设计资源使用的总体计划时,这也必须被视为一件好事。

关于分页的几句话。使用分页的虚拟内存—存储在系统上运行的任何程序的4K(或类似)块—是操作系统可以做或不能做的事情。地址空间仅受用于存储地址的机器字容量限制的承诺听起来很棒,