其他分享
首页 > 其他分享> > Native、方法区

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