¿Qué es la salida nativa?

¿Qué es nativo en JAVA?

Nativo se utiliza principalmente para métodos

1. Un método nativo es una interfaz para que Java llame a código que no sea Java. Un método nativo significa que la implementación del método se implementa en un lenguaje que no es Java, como C o C.

2. Al definir un método nativo, no se proporciona el cuerpo de implementación (más como definir una interfaz Java), porque su cuerpo de implementación se implementa externamente mediante un lenguaje que no es Java.

La palabra clave nativa indica que el método modificado es un método nativo. La implementación correspondiente del método no está en el archivo actual, sino en un archivo implementado en otros lenguajes (como C y). DO). El lenguaje Java en sí no puede acceder ni operar el sistema operativo subyacente, pero puede llamar a otros lenguajes a través de la interfaz JNI para lograr el acceso a la capa subyacente.

JNI es Java Native Interface, una interfaz de programación nativa, que forma parte del Java Software Development Kit (SDK). JNI permite que el código Java utilice código y bibliotecas de códigos escritos en otros lenguajes. La API de invocación (parte de JNI) se puede utilizar para integrar la máquina virtual Java (JVM) en aplicaciones nativas, lo que permite a los programadores llamar código Java desde dentro del código nativo.

Sin embargo, las llamadas fuera de Java generalmente no son portátiles a otras plataformas y pueden causar excepciones de seguridad en los subprogramas. La implementación de código nativo hará que su aplicación Java falle 100 pruebas de Java puro. Sin embargo, si debe realizar llamadas nativas, hay algunas pautas a considerar:

1. Encapsule todos sus métodos nativos en una clase que llame a una única DLL. Para cada plataforma de sistema operativo de destino, está disponible una versión adecuada de la DLL específica de la plataforma. Esto minimiza el impacto del código nativo y ayuda a tener en cuenta futuros problemas de portabilidad si es necesario.

2. Mantenga los métodos locales lo más simples posible. Intente minimizar la dependencia de sus métodos nativos de archivos DLL de tiempo de ejecución de terceros (incluido Microsoft). Haga que sus métodos nativos sean lo más independientes posible para minimizar la sobrecarga necesaria para cargar su DLL y su aplicación. Si se requiere una DLL en tiempo de ejecución, se debe proporcionar con la aplicación.

Los pasos para escribir JNI son los siguientes:

a. Escriba una clase Java con métodos de declaración nativos

b. Utilice el comando javac para compilar lo escrito. Clase Java

c. Utilice java -jni **** para generar un archivo de encabezado con el sufijo .h

d. Utilice otros lenguajes (C, C) para implementar. métodos locales

e. Generar una biblioteca de enlaces dinámicos a partir de archivos escritos en métodos locales

El siguiente es un ejemplo sencillo de cómo llamar a un programa C local en Java:

a. Escribe la clase HelloWorld.java

clase HelloWorld {

pública nativa void hola();

estática {

System. loadLibrary("hola");

}

public static void main(String[] args) {

new HolaMundo().hola(); /p>

}

}

b. Compilar

javac HelloWorld.java

c. Generar archivo .h. /p>

javah -jni HelloWorld

El contenido generado es el siguiente:

/* NO EDITE ESTE ARCHIVO: es generado por una máquina */ #

include lt;jni.hgt;

/* Encabezado de la clase HelloWorld */

#ifndef _Included_HelloWorld

#define _Included_HelloWorld

#ifdef __cplusplus

extern "C" {#

endif

/*

* Clase: HolaMundo

* Método: hola

* Firma: ()V

*/

JNIEXPORT void JNICALL Java_HelloWorld_hello(JNIEnv *, jobject #

ifdef __cplusplus

}#

endif# endif

El primer parámetro es el puntero del entorno JNI utilizado al llamar al método JNI. El segundo parámetro es un identificador del objeto Java HelloWorld instanciado en este código Java.

Otros parámetros son parámetros del método en sí

implementación d.c

#include lt; jni.h gt

#include "HelloWorld.h"

#include lt; stdio.h gt;

JNIEXPORT void JNICALL Java_HelloWorld_hello(JNIEnv * env, jobject obj) {

printf("¡Hola mundo!\n") ;

return;

}

Entre ellos, la primera línea es para introducir el archivo jni.h (en el directorio JAVA_HOME\include), que contiene JNIEnv y definición de objeto de trabajo.

e.Implementación de compilación c

Aquí, tomando Windows como ejemplo, se debe generar un archivo dll. En la carpeta donde se guarda HelloWorldImpl.c, use el compilador VC para compilarlo.

cl -Ijava_home\include -Ijava_home\include\win32 -LD HelloWorldImp.c -Fehello.dll

Nota: El nombre del archivo dll generado se configura después de la opción -Fe, aquí es Hola, porque el nombre que usamos al cargar Libary en el archivo HelloWorld.java es hola. Por supuesto, después de modificarlo aquí, también deberá modificarlo allí. Además, debe agregar el parámetro -Ijava_home\include -Ijava_home\include\win32 porque el archivo jni.h se introduce al escribir el método local en el cuarto paso.

6) Ejecute el programa

java HelloWorld y ¡todo estará bien!

Los puntos de conocimiento del artículo coinciden con los archivos de conocimiento oficiales

Descripción general de la página de inicio del árbol de habilidades de Java

91537 personas están aprendiendo el sistema

Abra la APLICACIÓN CSDN, vea más contenido técnico

Explicación detallada del método nativo en Java_Un blog que es amargo y luego dulce, aparentemente indiferente_método nativo...

1. nativo, que es JNI Java Interfaz nativa Todos los idiomas esperan ser puros. Por ejemplo, si desea resolver una solución determinada, puede escribirla en este idioma. La plataforma Java tiene una API para que los usuarios interoperen con código C nativo, llamada Java Native Interface. Volver a los dos primeros...

Continuar visitando

Qué es nativo en JAVA y para qué sirve_El blog_nativo de Rsun04551 en java...

1. A El método nativo es una interfaz para que Java llame a código que no sea Java. Un método nativo significa que la implementación del método se implementa en un lenguaje que no es Java, como C o C. 2. Al definir un método nativo, no se proporciona el cuerpo de implementación (más como definir una interfaz Java), porque su El cuerpo de implementación está compuesto por lenguajes que no son Java y están fuera...

Continuar visitando

El papel y la importancia de los métodos nativos en Java básico

El Función e importancia de los métodos nativos en Java

Continuar visitando

Explicación detallada de la última palabra clave de Java nativa

native se utiliza para modificar métodos El método declarado con. nativo significa informar a la JVM que llame. El método se define externamente. Podemos usar cualquier lenguaje para implementarlo.

En pocas palabras, un método nativo es una interfaz para que Java llame a código que no sea Java.

Continuar visitando

Análisis detallado de la palabra clave nativa en java_El blog del monje investigador codificador

publicnativeStringintern(); El rendimiento principal de nativo es profundizar en él: siempre que exista un método nativo, la estructura interna es Java que llama a una interfaz de código que no es Java. El llamado código que no es Java se refiere principalmente a la implementación de c o c. no es necesario profundizar en la implementación del código, solo necesita poder llamar...

Continuar visitando

Método nativo en java_Método nativo Blog_java de Dead Man

1. ¿Qué es el método nativo? En pocas palabras, un método nativo es una interfaz para que Java llame a código que no sea Java. Un método nativo es un método Java cuya implementación se implementa en un lenguaje que no es Java, como C. Esta característica no es exclusiva de Java. Muchos otros lenguajes de programación tienen este mecanismo, como...

Continuar accediendo

métodos nativos en Java

. Enlace original: Método nativo en Java Java no es perfecto Además del hecho de que la velocidad de ejecución es mucho más lenta que la del C tradicional, Java no puede acceder directamente al sistema operativo subyacente (como el hardware del sistema, etc.). utiliza métodos nativos para ampliar la funcionalidad de los programas Java. El método nativo se puede comparar con la interfaz entre un programa Java y un programa C. Sus pasos de implementación son: 1. Declarar el método nativo () en Java y luego compilar. 2. Utilice javah para generar uno

Acceso continuo

Uso de JNI y encapsulación simple

Consejos: una vez escrito el artículo, el directorio se puede generar automáticamente. Puede consultar cómo generarlo Contenido de los artículos en el documento de ayuda a la derecha Prefacio 1. Java llama a C 2. Pasos de uso 1. Presentar la biblioteca 2. Leer datos Resumen Prefacio Consejos: Aquí puede agregar el contenido general que se registrado en este artículo: Este artículo registra principalmente los escenarios de uso en la práctica de JNI, el proceso de implementación de Java Call C y C callback Java, con una idea de encapsulación simple. Consejo: El siguiente es el texto de este artículo. Los siguientes casos son de referencia. 1. Java llama a C ##1. Ejemplo: pandas es una herramienta basada en NumPy. 2. Siga los pasos 1. Introduzca el código de la biblioteca de la siguiente manera (se muestra a continuación.

Continuar visitando

Implementación de métodos nativos en Java_Explicación detallada del uso de métodos nativos en Java_Qin Jing Zhihao blog- C...

Cuando estaba estudiando en línea hoy, encontré un método modificado por el modificador nativo. Lo revisé en línea y encontré interesante registrarlo 1. Introducción a nativo. En pocas palabras, un método nativo es una interfaz java que llama a código que no es java. Un método nativo es un método java que se implementa mediante un lenguaje que no es java...

Continuar visitando

Método nativo de Java_ Comprensión profunda de la máquina virtual Java_blog-CSDN de Weixin_39557087...

El método nativo es un método que no es Java. Por ejemplo, puede implementarse en C y no. reflejado en el archivo de código de bytes, por lo que el método nativo El valor del contador está vacío.

Por ejemplo, el método System.currentTimeMillis(); es un método nativo, declarado de la siguiente manera: publicstaticnativelongcurrentTimeMillis()...

Continúe visitando

la palabra clave nativa_Java (2) - nativo

En este blog introduciremos una palabra clave en nativo de Java. La palabra clave nativa se encuentra en muchas clases del código fuente JDK. En la clase Object.java, su método getClass(), método hashCode(), método clone(), etc. se modifican con la palabra clave nativa. public final nativo Classgt; getClass(); público nativo int hashCode();...

Continuar visitando

Explicación detallada de los métodos nativos de Java

1. ¿Qué es el método nativo? En pocas palabras, un método nativo es una interfaz para que Java llame a código que no sea Java. Un método nativo es un método Java cuya implementación se implementa en un lenguaje que no es Java, como C. Esta característica no es exclusiva de Java. Muchos otros lenguajes de programación tienen este mecanismo. Por ejemplo, en C++, puede usar "C" externo para indicarle al compilador de C++ que llame a una función de C. "Un método nativo

Continúe visitando

Qué es nativo en Java

nativo se usa principalmente para métodos. El último método nativo es una llamada Java a no -Código Java. Un método nativo significa que la implementación del método se implementa en un lenguaje que no es Java, como C o C.