Java Native Interface ELO326: Agustín J. González Basado en material de Universidad de Burgos, España.

Slides:



Advertisements
Presentaciones similares
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Advertisements

Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Programación Interactiva Introducción a Java
Lenguaje de programación Java
INTRODUCCIÓN A JAVA.
Curso de JAVA. Iniciando con las Técnologias Java.
SOFTWARE DE PROGRAMACIÓN
ASPECTOS DEL DISEÑO DE SD
FLAN “F- LINKS AND NODES”
INSTITUTO TECNOLOGICO DE MINATITLAN
Temas Operaciones básicas Instalando el compilador
Programación Visual de Sistemas
El proceso de desarrollo de software
FUNCIONES EN C.
Informática II Prof. Dr. Gustavo Patiño MJ
Tema 1 Introducción a la programación (Lenguaje java).
Programación 1 Introducción
Introducción al Software
Primer Programa en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
El lenguaje de programación C - Funciones -
Java Mayra M. Méndez Anota.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Unidad I Java y C++ : Similitudes y diferencias
SCJP Sun Certified Programmer for Java 6
Manejo de Excepciones Agustín J. González ELO329.
Semana 5 Subprogramas..
Introducción a la Programación. Lenguaje de Máquina.
Proyecto de Programación de Sistemas “Uso de Java Native Interface para envío y recepción de datos por puerto paralelo” Nombre: Ignacio Zamora R. Profesor:
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Ejecución de un programa escrito en Java Java es un lenguaje que se ejecuta con un intérprete a diferencia de Pascal o C que se compilan para producir.
Curso de Java La tecnología Java
LENGUAJES DE PROGRAMACIÓN
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Unidad II Introducción a la programación en C++
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
MBA. LIDA LOOR MACIAS 1. 3 martes, 13 de octubre de 2014 OBJETIVO: El estudiante adquirirá los fundamentos básicos de la programación orientada a objeto.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Java Archives: jar Agustín J. González ELO-329. ELO-329: Diseño y Programación Orientados a Objetos2 Java Archives Como hemos visto la compilación crea.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Lenguajes de Programación
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
 Es un programa escrito en Java y que forma parte de los componentes de una página de Internet. Los Applets han sido usados para proporcionar funcionalidad.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Interfaces y Clases Internas
Programación orientada a objetos Capítulo Objetos y clases La clase es la abstracción de una categoría de objeto.
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
Organización y Métodos. ©Ian Sommerville 1995 Ingeniería de Software, 5a. edición Capitulo 4 Diapositiva * Ingeniería de Requerimientos ● Estableciendo.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
MEMORIA DINÁMICA.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
Introducción a Java Sintaxis de Java QUIMESTRE II PARCIAL I.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 1.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
Introducción a Netbeans Programación 2 – Curso 2011/2012 Juan Manuel Gimeno José Luis González.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

Java Native Interface ELO326: Agustín J. González Basado en material de Universidad de Burgos, España

2 Introducción Aun cuando Java es suficiente para muchas aplciaciones, hay situaciones en que requerimos: Desarrollar tareas con mayor velocidad a la proporcionada por Java Acceder a recursos fuera del alcance de la máquina virtual. Típicamente elementos de hardware. Para esto es posible invocar desde Java funciones escritas en otros lenguajes. Hay que tener claro que el precio pagado es la pérdida de portabilidad del código Java. Por razones de seguridad no es posible hacerlo en applets.

3 Pasos a seguir: 1. Escritura del programa Java, invocando métodos nativos como native. 2. Compilación del programa Java. 3. Creación de un archivo de encabezado nativo (.h) 4. Escritura de los métodos nativos. 5. Creación de una biblioteca con esos métodos nativos. 6. Ejecución del programa Java.

4 1. Escritura del Prograam en Java Se debe tener en cuenta lo siguiente: Debemos crear una o varias claes con un método nativo por cada función externa que deseemos acceder. Para esto declarar métodos como: public native void diHola(); Estos metodos no llevan implementación en Java. Incluir en el programa Java la instrucción para cargar la bibioteca que implementa estos métodos: static { System.loadLibrary("LibHola");}

5 Compilar el programa Java La compilación se hace como siempre. javac......

6 Creación de un archivo de encabezado Este archivo en C/C++ tendrá extensión.h Este archivo es creado con el utilitario javah incluido en las herramientas de desarrollo de Java. Ejemplo: javah HolaNativo.java El archivo creado contendrá: #include // para definir términos usados por JNI JNIEXPORT void JNICALL Java_HolaNativo_diHola(JNIEnv*,jobject); // para establecer la comunicación.

7 Escritura de métodos nativos En este archivo se debe incluir el archivo de encabezado creado previamente y la implemtación del método con igual prototipo al que generado en el encabezado. Ver ejemplo: en : tures/JNI/ tures/JNI/ En el caso que necesitemos pasar argumentos y retornar valores, se debe estudiar cómo cada tipo de dato es pasado. Ver otro ejemplo.

8 Creación de una biblioteca nativa Nuestro programa “Java” dependerá de una biblioteca nativa. Aquí creamos la creamos. Programa en ejecución será: Biblioteca + clases + JVM En Solaris será del tipo: cc -G HolaNativo.c -o libHola.so En Microsoft Visual C++ será: cl -LD HolaNativo.c -Fe libHola.dll

9 Ejecución No cambios....