Trabajo de Investigacion
Trabajo de Investigacion
ALUMNO :
CURSO :
TALLER DE PROGRAMACION
TEMAS :
2021
1. Arquitectura del JDK
Los paquetes sirven para agrupar clases relacionadas y definen un espacio de nombres
(namespace) para las clases que contienen.
Definiendo un paquete
Todas las clases en Java pertenecen a algún paquete. Cuando no se especifica ninguna
declaración de paquete, se usa el paquete predeterminado (global). Además, el paquete
predeterminado no tiene nombre, lo que hace que el paquete predeterminado sea
transparente. Es por eso que no ha tenido que preocuparse por los paquetes
anteriormente.
importar paquetes
Cuando utiliza una clase de otro paquete, puede calificar completamente el nombre de la
clase con el nombre de su paquete, como lo han hecho los ejemplos anteriores. Sin
embargo, un enfoque de este tipo podría convertirse fácilmente en tedioso e incómodo,
especialmente si las clases que califica están profundamente anidadas en una jerarquía
de paquetes.
Como Java fue inventado por los programadores para los programadores -y a los
programadores no les gustan las construcciones tediosas- no debería sorprender que
exista un método más conveniente para usar los contenidos de los paquetes: la
declaración import. Al usar , puede mostrar uno o más miembros de un paquete. Esto le
permite usar esos miembros directamente, sin la calificación explícita del paquete.
Nivel de acceso para paquetes
Este enfoque de varias capas para el control de acceso admite una gran variedad de
privilegios de acceso. La siguiente tabla resume los diversos niveles de acceso.
3.LOS JARS:
Como hemos visto una aplicación en Java está compuesta por varios ficheros .java. Al
compilarlos obtenemos varios ficheros .class (uno por fichero .java), y no un único
fichero ejecutable como ocurre en otros lenguajes. Para colmo, a menudo la aplicación
está formada no sólo por los ficheros .class sino que usa ficheros de sonido
(usualmente .au en Java), iconos, etc., lo que multiplica la cantidad de ficheros que
forman la aplicación compilada. Esto hace que "llevarse" la aplicación para ejecutarla
en un ordenador diferente resulte un poco lioso: olvidar cualquiera de los ficheros que
componen la aplicación significaría que ésta no va a funcionar correctamente. En el
caso de un applet se añade el problema de la velocidad, al tener que viajar todos los
ficheros a través de internet.
Los ficheros Jar (Java ARchives) permiten recopilar en un sólo fichero varios ficheros
diferentes, almacenándolos en un formato comprimido para que ocupen menos espacio.
Es por tanto, algo similar a un fichero .zip (de hecho están basados en ficheros .zip).
Entonces, ¿dónde está la "gracia"? ¿No se podrín usar directamente ficheros .zip? La
particularidad de los ficheros .jar es que no necesitan ser descomprimidos para ser
usados, es decir que el intérprete de Java es capaz de ejecutar los archivos comprimidos
en un archivo jar directamente. Por ejemplo, si hemos recopilado todos los ficheros
necesarios para ejecutar una aplicación en un fichero "aplic.jar", podemos lanzar la
aplicación desde una terminal de texto mediante:
java -jar aplic.jar
Vamos a ver ahora cómo se crean los ficheros .jar.
Hemos visto que se puede lanzar una aplicación llamando al intérprete de java
(comando java) seguido de -jar y del nombre del fichero .jar correspondiente. Sin
embargo hay algo en todo esto que no "encaja": Si el fichero .jar contiene muchos
ficheros .class, ¿cuál de todos se ejecuta? Sabemos que debe ejecutarse el que contiene
el método main pero, ¿cómo sabe el intérprete de Java que clase de todas las del fichero
contiene este método? La respuesta es que lo sabe porque se lo tenemos que decir
durante la creación del fichero jar. Y la forma de hacerlo es un poco liosa. Vamos a
verlo paso a paso. Para simplificar suponemos que estamos en un terminal de texto
(consola Linux o símbolo del sistema en Windows), que el comando jar es accesible (es
decir, la carpeta que contiene jar.exe está en el Path) y que nos encontramos en el
directorio donde se encuentran los ficheros .class que deseamos "empaquetar".
Main-Class: Principal
3.3 Applets
Aunque aún no sepamos demasiadas cosas sobre applets este es un buen punto para
indicar como se debe usar la herramienta jar en relación a los applets. Vamos a verlo
con un ejemplo: supongamos que tenemos un applet de nombre TicTacToe.java.
Suponemos que ya está compilado, es decir que ya existe el fichero TicTacToe.class.
Además suponemos que este applet utiliza imágenes, que se encuentran en una
carpeta images y sonidos que se encuentran en una carpeta sounds. Es decir, tenemos
(resultado de hacer "dir" en un símbolo del sistema): Queremos crear un fichero .jar
para guardar toda esta información en un único fichero, que será el que "viaje" por
internet. Para ello se hace:
jar -cf titac.jar TicTacToe.class audio images
Como se puede ver no se ha incluido el fichero TicTacToe.java (porque no es necesario
para la ejecución del programa, aunque se podría haber incluido si se hubiera querido).
Ya tenemos el fichero tictac.jar creado. Para cargar el applet desde una página html sólo
debemos copiar este fichero a la misma carpeta donde este la página. La página por su
parte debe incluir un código similar al siguiente código para "incrustar" el programa
Java:
<applet code="TicTacToe.class"
archive="tic.jar"
width="120"
height="120">
</applet>
3.4 Creando ficheros .jar desde JCreator
Se puede configurar JCreator para llamar al comando jar. Brevemente estos son los
pasos a seguir una vez:
Dentro del menú Configure elegir la opción Options .
En la ventana que aparece, hacemos click sobre la palabra Tools que aparece en la lista
de la izquierda. La pantalla tendrá el aspecto:
Pulsar el botón New y del menú desplegable que aparece elegir la opción: Create Jar
File . Pulsamos "OK" y ya tenemos JCreator para crear ficheros .jar con el contenido del
proyecto que tengamos Java, sin más que pulsar el botón de herramientas que hayamos
configurado (la llave inglesa con el número correspondiente, por ejemplo 1 si es la
primera herramienta que configuramos). De todas formas hay que hacer algunas
observaciones: