Anda di halaman 1dari 7

BANCO DE PREGUNTAS TECNOLOGIAS DE SOFTWARE.

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

2. Que es JNI (q es jni y explicar los 2 mtodos)

- 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.

2.Invocation Interface, permite insertar una JVM en una aplicacin nativa.

3. DLL vs LIB
DLL (Dynamic Link Library libreras de enlace LIB (Static Link Library libreras de enlace esttico):
dinmico):

-Las funciones se incluyen dentro del ejecutable durante la fase


-Funciones son insertadas en el tiempo de ejecucin y no de de enlazado.
enlazado. -La librera est presente solo en el programa en ejecucin.
-Varios programas pueden compartir la misma librera. -Ocupa mayor espacio de disco duro.
-Ocupa poco espacio de disco duro. -*.lib en Windows, *.a en Mac OS X.
-*.dll en Windows, *.so en Mac OS X.

4. Tipos de Datos de JNI

Tipos de Datos Fundamentales Tipos de Datos de Referencia

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.

Declarar el(los) mtodo(s) en un programa de JAVA.

-Compilar el programa de JAVA (javac)

-Generar la cabecera (*.h) para programar el cdigo nativo.

-Programar el cdigo nativo en C o C++.

-Generar una DLL con el cdigo nativo (referenciar a la carpeta include e include win32 en Visual).

-Ejecutar el programa de Java (java o NetBeans)

6. Dibujar el proceso de ejecucin de un programa en Java vs uno en C++


JAVA

C++

7. Escribir un programa en Java con los elementos bsicos para JNI

PRESENTACION-JNI-PAG-12

..\1-PARCIAL\TSPE-JNI.pdf

8. Que es Visual C++ y NetBeans


C++ NETBEANS
es un entorno de desarrollo integrado (IDE) para NetBeans es un entorno de desarrollo muy
lenguajes de programacin C, C++ y C++/CLI. completo y profesional. Contiene muchas
funcionalidades, para distintos tipos de
aplicaciones y para facilitar al mximo la
programacin, la prueba y la depuracin de las
aplicaciones que se desarrollan. Tambin
incorpora un editor propio.

9. Con que sentencia se genera un archivo de cabecera en JNI (*.h)

Se genera la cabecera *h, con >javah jni Archivoclass


10. Cuando usar JNI (Ver pagina 6 y 7 del libro)

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.

12. Complete el siguiente ejemplo de JNI con Arrays

13. Como se implementa una Excepcion en Java

14. Describa el Invocation Interface (pagina 83).

Es una interfaz donde se puede utilizar aplicativos de cdigo nativo mediante una librera y cargarles a la maquina
virtual de Java.

15. Escribir las 4 categorias de las funciones JNI (pagina 173).


Virtual machine implementation.-exporta un set de funciones nativas, puede ser usado para crear una virtual
machine instance en aplicaciones nativas.
JavaVM interface.-permite el enlace de hilos nativos en la virtual machine instance.
Native library.-implementa codigo nativo que puede ser usado y cargado por virtual machine implementation.
JNIEnv.-interface que soporta JNI.

FLUJOS E HILOS
1. Enumere los pasos para realizar un flujo

Streams (Flujo), representa las entradas y salidas de datos.

El stream es una conexin entre el programa y la fuente o destino de los datos.

El proceso para leer o escribir datos consta de tres pasos.

-Abrir el flujo de datos

-Mientras exista informacin (leer o escribir) los datos

-Cerrar el flujo de datos

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

es una secuencia de cdigo en ejecucin dentro del contexto de un proceso.

-Los Hilos est asociado a un proceso en ejecucin (1 o ms hilos).


-El proceso es un programa en ejecucin en un SO. Ej. Excel, Word.
-Los Hilos comparten recursos (memoria), dentro de un proceso
-Java es multiproceso multitarea

4. Enumere las clases que ofrece Java para programar Hilos


Java tiene las siguientes clases e interfaz para implementar Hilos, las cuales son parte del paquete java.lang:

Clases (Herencia): Interfaz (Interfaces):


THREAD Runnable

-ThreadDeath (limpiar un hilo inactivo) Interfaz Runnable:

-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:

Se implementa a travs de Herencia, y tiene bsicamente


mtodos como:
run: Es el cuerpo del hilo
start: inicializa el Hilo
stop: finaliza o para el Hilo.
sleep: duerme al hilo (pausa)

5. Dibuje el Ciclo de Vida de un Hilo

Estado y Control de Hilos


El comportamiento de un hilo depende del estado en que se encuentre.
-New : se crea el hilo y esta listo para iniciar.

-Runnable : hilo entra a ejecucin.

-Not running : hilo entra en pausa.

-Dead : hilo es finalizado.


6. Explique brevemente cmo funciona el programa del Productor Consumidor

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

1. Que es una Red Computadoras


Es la conexin entre hardware y software para la comunicacin entre dos o ms maquinas que permiten compartir
recursos, informacin y servicios.

2. Que es un protocolo (Escribir ejemplos e indicar a que capa corresponde).


Define un conjunto comn de reglas y seales sobre una red que las computadoras usan para comunicarse.

3.

- Clasificacin de las Redes segn el alcance geogrfico, segn la topologa


Clasificacion de las redes por el area geografica
-PAN (Personal Area Network)
-LAN (Local Area Netwok)
-MAN (Metropolitan Area Network)
-WAN (Wide Area Network)
-Internet

Clasificacion segun la topologia


-Anillo
-Estrella
-Bus
-Malla
- Describir el Modelo OSI
Es un modelo de 7 capas:
Permite ver las funciones de red que se producen en cada capa.

Ayuda a comprender cmo viaja la informacin.

Interconexin de sistemas abiertos.


- Describir el Modelo TCP/IP

Un modelo de descripcin de protocolos de red

Conjunto de guas generales de diseo e implementacin de protocolos de red para permitir que un equipo pueda
comunicarse en una red

- Comparar el modelo OSI vs TCP/IP (2 semejanzas y 2 diferencias)


Diferencias
TCP/IP combina las capas de enlace de datos y la capa fsica del modelo OSI en una sola capa.
TCP/IP parece ser ms simple porque tiene menos capas que OSI.

Semejanzas
Ambos tienen capas de aplicacin, aunque incluyen servicios muy distintos.
Ambos tienen capas de transporte y de red similares.

- Comparar el protocolo TCP vs UDP

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.

- Tipos y rangos de direcciones IPv4


- Tipos y forma de direccionamiento IPv6.
- Elementos de una Red de Computadoras
- Elementos de un Sistema de Cableado Estructurado
- Dispositivos de Comunicacion de la capa de Red (Switch, hub y router explicar s funcion)
- Que es un Socket
- Tipos de puertos y explicar 5 ejemplos de cada tipo.

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.

- Medios de comunicacin almbricos e Inalmbricos (3 tipos de cada uno)

Medios de transmisin almbricas


-Cable Coaxial
-Fibra ptica
-Cable UTP

Medios de transmisin inalmbricas


-Wi-Fi
-infrarojo
-Bluetooth
-microondas
-satlite

- Cual es la estructura de un programa en Java para aplicaciones de Red.

Anda mungkin juga menyukai