JVM---运行时数据区-本地方法栈
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /** * 【运行时数据区-本地方法栈】 * <本地方法接口> * why * 有些层次用Java实现起来不容易(或对程序的效率很在意); * 与Java外环境交互: * 有时候Java应用需要与Java外的环境交互; * eg:与OS、硬件... * JVM依赖于底层系统的支持: * eg:OS... * what * native方法; * Java调用非Java的接口; * 由非Java语言实现,比如C; * 很多其他的编程语言也有这个机制,比如C++中,使用extern C 告知C++编译器 去调用一个C的函数; * 目的 * 融合不同的编程语言为Java所用,初衷是融合C/C++程序; * 声明 * 除abstract外,其他标识符都可一起使用; * * <本地方法栈> * what * 管理native方法的调用; * 线程私有; * * 本地方法栈内存大小 * 固定大小 * 若申请的容量大于固定容量,抛出StackOverflowError; * 动态扩展 * 若无法申请足够的内存,抛出OutOfMemoryError; * * 当某个线程调用一个native方法时,将进入一个全新的且不受JVM限制的世界; * * 并不是所有的JVM都支持本地方法; * */ |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2019-04-18 Lucene常用类