Native、方法区
package com.wang.jvm;
public class Demo {
public static void main(String[] args) {
new Thread(()->{
},"my thread name").start();
}
//native :凡是带了native 关键字的,说明java的作用范固达不到了,回去调用底层c语言的库!
// 会进入本地方法栈
//调用本地方法本地接口JNI
//JNI作用:扩展ava的使用,融合不同的编程语言为Java所用!最初:c、C++.
// Java诞生的时候c、C++横行,想要立足,必须要有调用c、C++的程序
//它在内存区战中专门开辟了一块标记区域:Native Method Stack,登记 native 方法
// 在最终执行的时候,加载本地方法库中的方法通过JNI
//Java程序驱动打印机,管理系统,掌握即可,在企业缓应用中较为少见!
private native void start0();
}
PC寄存器
程序计数器:Program Counter Register
每个线程都有一个程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码(用来存储指向像一条指令的地址,也即将要执行的指令代码),在执行引擎读取下一条指令,是一个非常小的内存空间,几乎可以忽略不计
方法区
Method Area方法区
方法区是被所有线程共享,所有字段和方法字节码,以及一些特殊方法,如构造函数,接口代码也在此定义,简单说,所有定义的方法的信息都保存在该区域,此区域属于共享区间;
静态变量、常量、类信息(构造方法、接口定义)、运行时的常量池存在方法区中,但是实例变量存在堆内存中,和方法区无关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?