ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Native、方法区

2022-02-08 20:00:37  阅读:170  来源: 互联网

标签:Java C++ 线程 JNI 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有