JAVA y JNI
1. Explique el JDK
Se trata de un conjunto de herramientas (programas y libreras) que permiten desarrollar (compilar, ejecutar, generar
documentacin, etc.) programas en lenguaje Java.
Existen versiones del JDK para prcticamente todos los Sistemas Operativos y existen tambin distintos programas
comerciales
Los JDK incorporan una herramienta de Debugger (detener la ejecucin de un programa en la lnea que se desee y poder
conocer el valor de las variables en ese momento)
La versin JDK1.2 se ha empezado a denominar tambin Java 2
JRE (Java Runtime Environment)
o Versin reducida del JDK que permite ejecutar cdigo Java
o No permite compilar ni utilizar el Debugger
o Viene incluido en el JDK pero tambin puede instalarse separadamente
o Es de libre distribucin
- JNI es un mecanismo que permite ejecutar cdigo nativo desde Java y viceversa.
- JNI tiene una interfaz bidireccional
1.Native methods, permite llamar a funciones de las libreras nativas desde Java.
3. DLL vs LIB
DLL (Dynamic Link Library libreras de enlace LIB (Static Link Library libreras de enlace esttico):
dinmico):
Para trabajar con JNI, se tiene los siguientes tipos de datos, Apuntan a objetos y arrays. (siguiente seccion).
equivalentes a C/C++.
En JAVA EN C/C++
int jint
long jlong
float jfloat
double jdouble
boolean jboolean
char jchar
byte jbyte
short jshort
5. Dibujar el proceso de ejecucin de un programa JNI.
-Generar una DLL con el cdigo nativo (referenciar a la carpeta include e include win32 en Visual).
C++
PRESENTACION-JNI-PAG-12
..\1-PARCIAL\TSPE-JNI.pdf
Es posible que desee acceder a una biblioteca nativa existente y no estn dispuestos a pagar por la sobrecarga de
la copia y transmisin de datos a travs de diferentes procesos. Cargar la biblioteca nativa en el mismo proceso
es mucho ms eficiente .
Contar con varias aplicaciones mltiples procesos puede resultar en consumo de memoria inaceptable. Este
suele ser cierto si estos procesos deben residir en la misma mquina cliente. Carga una biblioteca nativa existente
en el proceso que aloja la aplicacin requiere menos recursos del sistema que iniciar un nuevo proceso y cargar la
biblioteca en ese proceso.
Es posible que desee aplicar una pequea porcin de cdigo de tiempo crtico en un lenguaje de bajo nivel,
tales como el montaje. Si una aplicacin 3D de obra pasa la mayor parte de su tiempo en el procesamiento de
grficos, puede que sea necesario escribir la porcin de una biblioteca de ncleo de grficos en cdigo
ensamblador para lograr el mximo rendimiento.
En resumen , el uso de la JNI si la aplicacin Java debe interoperar con cdigo nativo que se encuentra en el
mismo proceso .
11. Para que se utiliza la funcin GetStringUTFChars (Ver pagina 25 del libro).
Para solicitar el UTF-8 String y asi poder liberar a memoria antes solicitada.
Es una interfaz donde se puede utilizar aplicativos de cdigo nativo mediante una librera y cargarles a la maquina
virtual de Java.
FLUJOS E HILOS
1. Enumere los pasos para realizar un flujo
2. Que es un Buffer
Es un espacio de memoria en el que se almacenan datos para proveer a un software o hardware continuamente de datos e
impedir la interrupcin de su trabajo por falta de datos.
3. Que es un Hilo
-ThreadGroup (manejar grupos de hilos) Se implementa a travs del concepto de Interfaz, cuando
la clase ya herede de otra clase (java no soporta
-Object (proporciona algunos metodos para hilos) multiherencia)
Clase Thread:
El cdigo demostraba el funcionamiento de los hilos segn las notificaciones que estos solo pueden continuar una
accin despus de que otro hilo la haya terminado y as sucesivamente haciendo uso del notifyall.
COMUNICACIONES DE REDES
3.
Conjunto de guas generales de diseo e implementacin de protocolos de red para permitir que un equipo pueda
comunicarse en una red
Semejanzas
Ambos tienen capas de aplicacin, aunque incluyen servicios muy distintos.
Ambos tienen capas de transporte y de red similares.
TCP permite una transmisin sin errores, como ejemplo la transferencia de archivos es confiable.
UTP es un protocolo con errores, streaming de videos y audio, no es confiable.
Puertos Fsicos.- Son conectores integrados en tarjetas de expansin o en la tarjeta principal o motherboard de la
computadora; diseados con formas y caractersticas electrnicas especiales, utilizadas para interconectar una
gran gama de dispositivos externos con la computadora, es decir, los perifricos.
-Puerto eSATA
-Puerto USB
-Puerto Paralelo/LPTx
-Puerto Serial/COMx
-Puerto HDMI
Puertos Lgicos.- Son puntos de acceso entre equipos para el uso de servicios y flujo de datos entre ellos.
- 80 - http
- 21 - FTP (transferencia de datos)
- 25 - SMTP (correo electrnico)
- 23 telnet
- 8080 - Web Proxy
- La Funcion de la NIC
- Como se construye un cable directo y un cable cruzado
- La funcin del comando PING, IPCONFIG
PING es un comando utilizado en cmd para verificar si la computadora est conectada con otra mediante una IP,
la verificacin se realiza enviado y recibiendo un bloque de datos.
IPCONFIG es un comando utilizado en cmd para revisar todas las conexiones IP y mscaras de subred a la cual la
computadora se encuentra enlazada.