首页 >> 大全

stack guard page for java

2023-11-24 大全 28 作者:考证青年

jvm 在创建的时候会ages()来保护我们的线程栈不能超过指定的大小,如果不对栈做限制的话,一旦其超过了为其分配的大小后,将会覆盖后面内存的数据将会产生意想不到的结果,所以jvm使用了来做限制。下面以JVM创建 流程举例(不同的 guard page不一样,见倒数第二张图)。看图吧:

调用函数使得指定内存区域不能被访问,一旦被访问内核将会发送一个信号给进程

_stack guard page for java_stack guard page for java

在jvm启动的时候会注册jvm需要处理的信号其中就包括了

当jvm接收到相应的信号时会调用nal函数来处理信号(nal这是一个非常重要的函数,很多功能特性都是基于捕获内核信号来实现的(最后一张图)。参考:)

这里的处理逻辑分了还是 (第二张图中第四行代码可以得知gurad page 包含了两部分和 ),如果是,只是简单地抛出stack ,如果是,那么意味着不可恢复的异常,程序会挂掉。下图是stack的内存布局( guard page is very . Java has

guard page, only glibc guard page for non-Java )

tags: jvm

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了