当前位置: 首页 > news >正文

【jvm】虚拟机之本地方法栈

目录

        • 一、说明
        • 二、注意

一、说明
  • 1. Java虚拟机栈用于管理Javaj法的调用,而本地方法栈用于管理本地方法的调用。
  • 2. 本地方法栈,也是线程私有的。
  • 3. 允许被实现成固定或者是可动态扩展的内存大小。 (在内存溢出方面是相同)
  • 4. 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个 stackoverflowError 异常。
  • 5. 如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存.或者在创建新的线程时没有足够的内存去创建对应的本地方法栈,那么Java虚拟机将会抛出一个 OutOfMemoryError 异常。
  • 6. 本地方法是使用c语言实现的
  • 7. 它的具体做法是Native Method Stack中登记native方法,在Execution Engine 执行时加载本地方法库
二、注意
  • 1. 当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界。它和虚拟机拥有同样的权限
  • 2. 本地方法可以通过本地方法接口来访问虚拟机内部的运行时数据区
  • 3. 它甚至可以直接使用本地处理器中的寄存器
  • 4. 直接从本地内存的堆中分配任意数量的内存
  • 5. 并不是所有的JVM都支持本地方法。因为Java虚拟机规范并没有明确要求本地方法栈的使用语言、具体实现方式、数据结构等。如果JVM产品不打算支持native方法,也可以无需实现本地方法栈。
http://www.lryc.cn/news/219103.html

相关文章:

  • 『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)
  • 【51nod 连续区间】 题解(序列分治)
  • 10.30校招 实习 内推 面经
  • 相比typescript,python的动态类型有什么优缺点?
  • 高效处理文件:批量顺序编号重命名方法
  • JAVA深化篇_29—— 线程使用之线程联合以及Thread类中的其他常用方法【附有详细说明及代码案例】
  • 〖Python网络爬虫实战㊲〗- JavaScript 逆向实战(一)
  • 2023辽宁省数学建模A题铁路车站的安全标线完整原创论文详细讲解(含matlab代码)
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • Leetcode-1 两数之和
  • Screens for Mac 中文版 远程桌面连接控制工具
  • 解决vmware安装ubuntu虚拟机显示不全以及无法实现windows与虚拟机之间无法相互复制粘贴问题
  • 希腊字母读音表
  • 如何使用CodeceptJS、Playwright和GitHub Actions构建端到端测试流水线
  • 解析python爬取Ebay数据的方式
  • 设置DevC++支持c++11标准
  • 腾讯云服务器CVM详细介绍_优缺点亲自整理
  • 06_es分布式搜索引擎2
  • 【3D图像分割】基于 Pytorch 的 VNet 3D 图像分割3(3D UNet 模型篇)
  • 【源码解析】Spring Bean定义常见错误
  • 由于找不到vcruntime140.dll无法继续执行代码
  • Perl安装教程
  • Docker数据卷使用过程中想到的几个问题
  • Angular 中的路由
  • 【市场分析】Temu数据采集销售额商品量占比分析数据分析接口Api
  • Python笔记——linux/ubuntu下安装mamba,安装bob.learn库
  • Redis之Java操作Redis的使用
  • 《网络协议》01. 基本概念
  • 设置Ubuntu网络代理
  • LeetCode----23. 合并 K 个升序链表