Java でのネイティブ キーワードの使用法

WBOY
リリース: 2024-02-20 22:12:03
オリジナル
654 人が閲覧しました

Java でのネイティブ キーワードの使用法

Java でのネイティブ キーワードの使用法

Java では、ネイティブ キーワードは、メソッドが基礎となる言語 (C や C など) を使用して実装されていることを示すために使用されます。 、Java言語で実装されるのではなく。ネイティブ キーワードを使用すると、オペレーティング システムの特定の機能やハードウェア デバイスの制御など、他の非 Java 言語で実装された機能を Java で呼び出すことができます。

ネイティブ メソッドの宣言には実装コードは含まれず、メソッドの宣言のみが含まれます。特定の実装コードは他の言語で完成する必要があります。 Java では、これらのメソッドをネイティブ メソッドと呼びます。

次に、ネイティブ キーワードの使用例を示します。

Java クラスでネイティブ メソッドを宣言します。

public class NativeDemo {
    public native void printHello();    // native方法声明

    static {
        System.loadLibrary("NativeLibrary");    // 加载本地库
    }

    public static void main(String[] args) {
        NativeDemo demo = new NativeDemo();
        demo.printHello();    // 调用native方法
    }
}
ログイン後にコピー

上記の例では、 printHello( ) メソッドは、native キーワードを使用してローカル メソッドとして宣言されます。クラスの静的コード ブロックで、System.loadLibrary() メソッドを通じてネイティブ ライブラリ NativeLibrary を読み込みます。次に、main() メソッドで NativeDemo オブジェクトを作成します。printHello() メソッドが呼び出されたときに、ローカル ライブラリ内のコードが実行されます。

ネイティブ メソッドを実装するネイティブ ライブラリ:

#include <stdio.h>
#include "NativeDemo.h"

JNIEXPORT void JNICALL Java_NativeDemo_printHello(JNIEnv *env, jobject obj) {
    printf("Hello from native code!
");
}
ログイン後にコピー

上記の例では、ローカル メソッド printHello() が実装され、このメソッドでメッセージが出力されます。このメソッドの命名規則は、Java クラス名メソッド名と特定のパラメーター (JNIEnv* および jobject) です。

この例をコンパイルして実行するには、次の手順に従います。

  1. Java ファイルを作成します: NativeDemo.java
  2. javac## を使用します。 # command Java ファイルをコンパイルします: javac NativeDemo.java
  3. javah コマンドを使用して C ヘッダー ファイルを生成します: javah -jni NativeDemo
  4. C ファイルを作成します: NativeDemo.c
  5. C コンパイラを使用して C ファイルをコンパイルし、ローカル ライブラリを生成します:
  6. gcc -I"$JAVA_HOME/include" -I"$ JAVA_HOME/include/win32" -shared - o NativeLibrary NativeDemo.c
  7. Java プログラムを実行します:
  8. java NativeDemo
実行結果は # を出力します。 ##ネイティブ コードからこんにちは!

、ローカル メソッドが正常に呼び出されたことを示します。 ネイティブ メソッドの実装コードはオペレーティング システムによって異なる場合があり、実際の状況に応じて変更する必要があることに注意してください。

概要:

ネイティブ キーワードを使用すると、Java が Java 以外の言語で実装された関数を呼び出すことができ、Java と基礎となる言語 (C や C など) の間の対話を実現する方法になります。ネイティブ キーワードを使用すると、オペレーティング システムの特定の機能やハードウェア デバイスの制御など、Java の基礎となる言語によって実装された機能を呼び出すことができます。ネイティブ キーワードを使用して宣言されたメソッドでは、ローカル ライブラリを介して特定の関数を実装する必要があり、ローカル ライブラリの作成と使用は、さまざまなオペレーティング システムと要件に応じて構成および調整する必要があります。ネイティブ キーワードの使用法をマスターすると、Java プログラムに幅広いアプリケーション シナリオと、より高いパフォーマンス最適化の可能性が提供されます。

以上がJava でのネイティブ キーワードの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート