G.Bordel >Docencia >TAP Técnicas Actuales de Programación (curso 2010-2011)
desprotegido Intro. desprotegido Temario desprotegido Calendario desprotegido RPF desprotegido Recursos protegido Práctica protegido Gest. Alum.
tema_anterior Tema 6: El contenido de la biblioteca de clases tema_siguiente
  1. Introducción.
  2. El paquete java.lang.[ejercicios]
  3. Clases de utilidad (java.util) /iterator/.[ejercicios]
  4. Genéricos.[ejercicios]
  5. Ademdum: 1) uso de bibliotecas externas; 2) patrones diversos;.[ejercicios]

6.1- Introducción

La orientación a objeto tiene, entre otras muchas, la virtud de permitir la integración de bibliotecas de un modo muy natural haciendo que estas puedan percibirse en cierto modo como parte esencial del lenguaje, no como sucede en los lenguajes "tradicionales" en los que las bibliotecas de funciones son elementos que se obtienen adicionalmente.

En Java esto es así de un modo muy significativo, ya que la distribución del lenguaje incluye un núcleo de biblioteca cada vez más amplio. Para la programación en áreas que no están soportadas por la biblioteca estándar, siempre podemos encontrar bibliotecas específicas que se integran del modo más simple. Como vimos en el tema 2.2 la estructura de una biblioteca en Java es una estructura de directorios, y bastará con indicar cual es el directorio raiz de cada nueva biblioteca.

En la actual distribución (1.5 - nov 2004) la biblioteca estándar es la unión de tres bibliotecas (tres estructuras de directorios que se proporcionan dentro de un mismo fichero .jar) que tienen los siguientes directorios raíz:

  • java - Es la más antigua, conteniendo los elementos básicos que se proporcionaron desde las primeras versiones del lenguaje y los añadidos posteriores relacionados.
  • javax - Es una extensión de la anterior que contiene el soporte para todo lo que se refiere a multimedia así como una versión de Interfaces Gráficos de Usuario (Swing) muy superior a la ofrecida en "java" (AWT).
  • org - Contiene clases básicamente orientadas a dar soporte a programación multiplataforma y multisistema.
La siguiente tabla es un listado de clases del núcleo actual de la biblioteca. Cada columna contiene uno de los tres árboles de paquetes, y dentro de cada uno se ha marcado con distinto fondo cada grupo "temático". La amplitud de esta biblioteca, como puede verse es muy grande, y en el presente curso sólo puede abarcarse una mínima parte que está marcada con comentarios en azul.

Antes de continuar, el alumno debe dedicar unos minutos a revisar la información presentada en la tabla para hacerse una idea general del contenido y la funcionalidad de la biblioteca como paso previo a los siguientes apartados en los que se fijará la atención en los elementos más significativos. (Una imagen más estructural del conjunto de la "plataforma" Java se puede estudiar en la imagen que encabeza la documentación oficial, si bien requiere tener más conocimientos de los que manejamos por el momento. Esta estructura coincide sólo parcialmente con la de las bibliotecas que se muestran a continuación).

Pinchando en cada zona de color se obtiene una breve descripción de su contenido, y pinchando en la denominación de cada paquete se enlaza con la documentación estándar del mismo.

java javax org
java.applet  [Tema a ver proximamente]
java.awt  [Tema a ver proximamente]
java.awt.color  
java.awt.datatransfer  
java.awt.dnd  
java.awt.event  
java.awt.font  
java.awt.geom  
java.awt.im  
java.awt.im.spi  
java.awt.image  
java.awt.image.renderable  
java.awt.print  
java.beans  
java.beans.beancontext  
java.io  [Tema a ver proximamente]
java.lang  [Presente tema, y tema posterior]
java.lang.annotation  
java.lang.instrument  
java.lang.management  
java.lang.ref  
java.lang.reflect  
java.math  
java.net  [Tema a ver proximamente]
java.nio  
java.nio.channels  
java.nio.channels.spi  
java.nio.charset  
java.nio.charset.spi  
java.rmi  
java.rmi.activation  
java.rmi.dgc  
java.rmi.registry  
java.rmi.server  
java.security  
java.security.acl  
java.security.cert  
java.security.interfaces  
java.security.spec  
java.sql  
java.text  
java.util  [Presente tema]
java.util.concurrent  
java.util.concurrent.atomic  
java.util.concurrent.locks  
java.util.jar  
java.util.logging  
java.util.prefs  
java.util.regex  
java.util.zip  
javax.accessibility  
javax.activity  
javax.crypto  
javax.crypto.interfaces  
javax.crypto.spec  
javax.imageio  
javax.imageio.event  
javax.imageio.metadata  
javax.imageio.plugins.bmp  
javax.imageio.plugins.jpeg  
javax.imageio.spi  
javax.imageio.stream  
javax.management  
javax.management.loading  
javax.management.modelmbean  
javax.management.monitor  
javax.management.openmbean  
javax.management.relation  
javax.management.remote  
javax.management.remote.rmi  
javax.management.timer  
javax.naming  
javax.naming.directory  
javax.naming.event  
javax.naming.ldap  
javax.naming.spi  
javax.net  
javax.net.ssl  
javax.print  
javax.print.attribute  
javax.print.attribute.standard  
javax.print.event  
javax.rmi  
javax.rmi.CORBA  
javax.rmi.ssl  
javax.security.auth  
javax.security.auth.callback  
javax.security.auth.kerberos  
javax.security.auth.login  
javax.security.auth.spi  
javax.security.auth.x500  
javax.security.cert  
javax.security.sasl  
javax.sound.midi  
javax.sound.midi.spi  
javax.sound.sampled  
javax.sound.sampled.spi  
javax.sql  
javax.sql.rowset  
javax.sql.rowset.serial  
javax.sql.rowset.spi  
javax.swing  
javax.swing.border  
javax.swing.colorchooser  
javax.swing.event  
javax.swing.filechooser  
javax.swing.plaf  
javax.swing.plaf.basic  
javax.swing.plaf.metal  
javax.swing.plaf.multi  
javax.swing.plaf.synth  
javax.swing.table  
javax.swing.text  
javax.swing.text.html  
javax.swing.text.html.parser  
javax.swing.text.rtf  
javax.swing.tree  
javax.swing.undo  
javax.transaction  
javax.transaction.xa  
javax.xml  
javax.xml.datatype  
javax.xml.namespace  
javax.xml.parsers  
javax.xml.transform  
javax.xml.transform.dom  
javax.xml.transform.sax  
javax.xml.transform.stream  
javax.xml.validation  
javax.xml.xpath  
org.ietf.jgss  
org.omg.CORBA  
org.omg.CORBA_2_3  
org.omg.CORBA_2_3.portable  
org.omg.CORBA.DynAnyPackage  
org.omg.CORBA.ORBPackage  
org.omg.CORBA.portable  
org.omg.CORBA.TypeCodePackage  
org.omg.CosNaming  
org.omg.CosNaming.NamingContextExtPackage  
org.omg.CosNaming.NamingContextPackage  
org.omg.Dynamic  
org.omg.DynamicAny  
org.omg.DynamicAny.DynAnyFactoryPackage  
org.omg.DynamicAny.DynAnyPackage  
org.omg.IOP  
org.omg.IOP.CodecFactoryPackage  
org.omg.IOP.CodecPackage  
org.omg.Messaging  
org.omg.PortableInterceptor  
org.omg.PortableInterceptor.ORBInitInfoPackage  
org.omg.PortableServer  
org.omg.PortableServer.CurrentPackage  
org.omg.PortableServer.POAManagerPackage  
org.omg.PortableServer.POAPackage  
org.omg.PortableServer.portable  
org.omg.PortableServer.ServantLocatorPackage  
org.omg.SendingContext  
org.omg.stub.java.rmi  
org.w3c.dom  
org.w3c.dom.bootstrap  
org.w3c.dom.events  
org.w3c.dom.ls  
org.xml.sax  
org.xml.sax.ext  
org.xml.sax.helpers  

Siguiente punto: 6.2- El paquete java.lang


Plataforma de soporte a curso y contenidos (c) German Bordel 2005.