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方法区
方法区是被所有线程共享,所有字段和方法字节码,以及一些特殊方法,如构造函数,接口代码也在此定义,简单说,所有定义的方法的信息都保存在该区域,此区域属于共享区间;
静态变量、常量、类信息(构造方法、接口定义)、运行时的常量池存在方法区中,但是实例变量存在堆内存中,和方法区无关
标签:Java,C++,线程,JNI,Native,方法,native 来源: https://www.cnblogs.com/wshjyyysys/p/15872680.html