栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java Native关键字

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Native关键字

native:凡是带了native关键字的,说明java的作用范围达不到了,要回去调用底层c语言的库 会进入本地方法栈 调用本地方法接口JNI

JNI作用:扩展Java的使用 融合不同的编程语言为Java所用 最初是为了融合C、C++

在内存区域中专门开辟了一块标记区域 Native Method Stack 登记native方法 它在最终执行的时候通过JNI加载本地方法库中的方法

比如:

 new Thread(()->{
            
        },"aaa").start();

Thread中的start()方法里调用start0();
而start0()在Thread类中声明为private native void start0(); 是一个本地方法
可以看到这个start0 方法被 native 修饰着 。native 关键字告诉编译器(其实是JVM)调用的是该方法在外部定义,这里指的是C。java的源码里是找不到 start0()的。

public synchronized void start() {
        
        if (threadStatus != 0)
            throw new IllegalThreadStateException();

        
        group.add(this);

        boolean started = false;
        try {
            start0();
            started = true;
        } finally {
            try {
                if (!started) {
                    group.threadStartFailed(this);
                }
            } catch (Throwable ignore) {
                
            }
        }
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号