Logotipo Notebook
Logotipo Tablet
Logo Ciberaula
Teléfono de Contacto
Catálogo de Cursos Cursos bonificados

Cursos de Java Online

fichaCursos relacionados



Formación Bonificada

ticket ciberaulaAcceso al curso las 24 hs. Todos
los días de
la semana

Modalidad Teleformacion Acceso 24 Horas

ticket ciberaulaDiploma acreditativo de FUNDAE

Diploma acreditado por FUNDAE

ticket ciberaulaAula virtual homologada por el SEPE

ticket ciberaulaNos ocupamos de toda la gestión de su bonificación

ticket ciberaulaDiploma acreditativo de CIBERAULA

Diploma acreditativo de Cursos de Java online
700 cursos online

Valore esta página:

Votos: 3.6/5 (6120 votos)

Cursos-de-Java-online
Cursos de Java online

Hemos formado mediante planes de formación online a más de cincuenta mil alumnos españoles y de países de habla hispana, tanto funcionarios de la administración pública como profesionales del sector privado: banca, servicios, sector industrial, etc. Solicite información sobre nuestros servicios y planes de formación flexibles para su empresa. Bonificados por FUNDAE (antes Fundación Tripartita).


Curso de Java Básico

Curso-online-de-Java-Básico
  • Introducción.
  • Entorno Java.
  • El Lenguaje Java.
  • Paquetes estándar en Java.
  • E/S en Java (ficheros).
  • Excepciones.
  • Threads.

Curso-java-basico-online

Curso de Java Avanzado

Curso-online-de-Java-Avanzado
  • Applets.
  • AWT.
  • SWING - JFC.
  • RMI - Métodos Nativos.
  • Trabajo en Red con Java

Curso-java-Avanzado-online

Curso de Java para Internet (J2EE)

Curso-online-de-java-para-Internet(J2EE)
  • Prefacio (Software Necesario).
  • Componentes Web.
  • Servlets.
  • JavaServer Pages (JSP).
  • JavaBeans Enterprise.
  • JDBC (Acceso a Bases de Datos).
  • Proyecto Fin de Curso.

Curso-java-para-Internet(J2EE)

Curso de Lenguaje Java (J2SE)

Curso-online-de-java-para-Internet(J2SE)
  • Introducción.
  • Entorno Java.
  • El Lenguaje Java.
  • Programación Orientada a Objetos.
  • Paquetes estándar en Java.
  • Applets.
  • E/S en Java (ficheros).
  • Excepciones.
  • Threads.
  • AWT.
  • SWING - JFC.
  • RMI - Métodos Nativos.
  • Trabajo en Red con Java.

Curso-java-para-Internet(J2SE)

Curso de Java y XML

Curso-online-de-java-y-XML
  • Entender XML.
  • EAPIs para Procesar XML.
  • El API SAX.
  • El API DOM.
  • Hojas de Estilo (XSLT).
  • El API para Mensajería XML.
  • El API Java para Mensajes RPC basados en XML.
  • El API Java para Registros XML.
  • El API JAXB.

Curso-java-y-XML

Java (lenguaje de programación)

Java es un lenguaje de programación de computadora de propósito general que es concurrente, basado en clases, orientado a objetos y específicamente diseñado para tener la menor cantidad de dependencias de implementación como sea posible. Se pretende que los desarrolladores de aplicaciones "escriban una vez, ejecuten en cualquier lugar" (WORA), lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que soportan Java sin necesidad de recompilación. Las aplicaciones Java normalmente se compilan en bytecode que puede ejecutarse en cualquier máquina virtual Java (JVM) independientemente de la arquitectura del equipo. A partir de 2016, Java es uno de los lenguajes de programación más populares en uso, en particular para las aplicaciones web cliente-servidor, con un informe de 9 millones de desarrolladores. Java fue originalmente desarrollado por  James Gosling en Sun Microsystems (que ya ha sido adquirido por Oracle Corporation) y lanzado en 1995 como un componente básico de la plataforma Java de Sun Microsystems. El lenguaje deriva gran parte de su sintaxis de C y C ++, pero tiene menos instalaciones de bajo nivel que cualquiera de ellos.

Los compiladores, máquinas virtuales y bibliotecas de clases de implementación original y de referencia fueron lanzados originalmente por Sun bajo licencias de propiedad. A partir de mayo de 2007, de acuerdo con las especificaciones de Java Community Process, Sun renovó la mayoría de sus tecnologías Java bajo la GNU General Public License. Otros han desarrollado implementaciones alternativas de estas tecnologías de Sun, como el Compilador GNU para Java (compilador de bytecode), GNU Classpath (bibliotecas estándar) e IcedTea-Web (complemento de navegador para applets).

La última versión es Java 8, que es la única versión actualmente soportada de forma gratuita por Oracle, aunque las versiones anteriores son compatibles tanto con Oracle como con otras compañías sobre una base comercial.

Historia de Java 

James Gosling, Mike Sheridan y Patrick Naughton iniciaron el proyecto de lenguaje Java en junio de 1991. Java fue originalmente diseñado para la televisión interactiva, pero estaba demasiado avanzado para la industria de la televisión digital por cable en ese momento. El idioma inicialmente se llamaba Oak ya que había un roble que estaba fuera de la oficina de Gosling. Más tarde el proyecto pasó por el nombre de Green y finalmente fue renombrado Java, del café Java. Gosling diseñó Java con una sintaxis de estilo C / C ++ que los programadores de sistemas y aplicaciones encontrarían familiar.

Sun Microsystems lanzó la primera implementación pública como Java 1.0 en 1995. Prometió "Write Once, Run Anywhere" (WORA), proporcionando tiempos de ejecución sin costo en las plataformas populares. Bastante seguro y con seguridad configurable, permitió restricciones de acceso a la red y archivos. Los principales navegadores web pronto incorporaron la capacidad de ejecutar applets Java dentro de páginas web, y Java rápidamente se hizo popular. El compilador Java 1.0 fue reescrito en Java por Arthur van Hoff para cumplir estrictamente con la especificación de lenguaje Java 1.0. Con el advenimiento de Java 2 (lanzado inicialmente como J2SE 1.2 en diciembre de 1998 - 1999), las nuevas versiones tenían múltiples configuraciones construidas para diferentes tipos de plataformas. Las tecnologías incluidas en J2EE y las API para aplicaciones empresariales se ejecutan normalmente en entornos de servidor, mientras que J2ME incluye APIs optimizadas para aplicaciones móviles. La versión de escritorio fue renombrada J2SE. En 2006, para fines de marketing, Sun renombró las nuevas versiones J2 como Java EE, Java ME y Java SE, respectivamente.

En 1997, Sun Microsystems se acercó al organismo normativo ISO / IEC JTC 1 y posteriormente a Ecma International para formalizar Java, pero pronto se retiró del proceso. Java sigue siendo un estándar de facto, controlado a través de Java Community Process. En un momento dado, Sun hizo la mayor parte de sus implementaciones de Java disponibles sin cargo, a pesar de su estado de software propietario. Sun generó ingresos de Java a través de la venta de licencias para productos especializados como Java Enterprise System.

El 13 de noviembre de 2006, Sun lanzó gran parte de su máquina virtual Java (JVM) como software libre y de código abierto (FOSS), bajo los términos de la GNU General Public License (GPL). El 8 de mayo de 2007, Sun terminó el proceso, haciendo que todo su código básico de JVM estuviera disponible bajo términos de distribución de software libre / fuente abierta, aparte de una pequeña porción de código a la cual Sun no tenía los derechos de autor.

El vicepresidente de Sun, Rich Green, dijo que el papel ideal de Sun con respecto a Java era como un "evangelista". Tras la adquisición de Sun Microsystems por Oracle Corporation en 2009-10, Oracle se ha descrito como el "administrador de la tecnología Java con un compromiso implacable de fomentar una comunidad de participación y transparencia". Esto no impidió que Oracle presentara una demanda contra Google poco después de usar Java dentro del SDK de Android. El software Java funciona en todo, desde computadoras portátiles hasta centros de datos, consolas de juegos y supercomputadoras científicas. El 2 de abril de 2010, James Gosling renunció a Oracle.

En enero de 2016, Oracle anunció que los entornos de tiempo de ejecución Java basados en JDK 9 descontinuarán el complemento del navegador.

Principios

Hubo cinco objetivos principales en la creación del lenguaje Java:

Debe ser "simple, orientado a objetos y familiar".

Debe ser "robusto y seguro".

Debe ser "neutral en la arquitectura y portátil".

Debe ejecutarse con "alto rendimiento".

Debe ser "interpretado, roscado y dinámico".

Prácticas

Plataforma Java

Un objetivo de diseño de Java es la portabilidad, lo que significa que los programas escritos para la plataforma Java deben ejecutarse de manera similar en cualquier combinación de hardware y sistema operativo con soporte de tiempo de ejecución adecuado. Esto se logra compilando el código de lenguaje Java en una representación intermedia denominada bytecode Java, en lugar de directamente al código de máquina específico de la arquitectura. Las instrucciones de bytecode de Java son análogas al código de máquina, pero están destinadas a ser ejecutadas por una máquina virtual (VM) escrita específicamente para el hardware del host. Los usuarios finales suelen utilizar un Java Runtime Environment (JRE) instalado en su propia máquina para aplicaciones Java independientes o en un navegador web para applets de Java.

Las bibliotecas estándar proporcionan una forma genérica de acceder a características específicas del host, como gráficos, subprocesos y redes.

El uso del bytecode universal facilita el portado. Sin embargo, la sobrecarga de la interpretación de bytecode en las instrucciones de la máquina hace que los programas interpretados casi siempre se ejecutan más lentamente que los ejecutables nativos. Los compiladores just-in-time (JIT) que compilan bytecodes para codificar máquina durante el tiempo de ejecución se introdujeron desde una etapa temprana. Java en sí es independiente de la plataforma y está adaptado a la plataforma en particular que debe ejecutar una máquina virtual Java para ella, que traduce el bytecode de Java al lenguaje de máquina de la plataforma.

Implementaciones

Oracle Corporation es el actual propietario de la implementación oficial de la plataforma Java SE, tras la adquisición de Sun Microsystems el 27 de enero de 2010. Esta implementación se basa en la implementación original de Java por Sun. La implementación de Oracle está disponible para Microsoft Windows (todavía funciona para XP, mientras que sólo las versiones posteriores actualmente son compatibles oficialmente), macOS, Linux y Solaris. Debido a que Java no tiene ninguna normalización formal reconocida por Ecma International, ISO / IEC, ANSI u otra organización de estándares de terceros, la implementación de Oracle es el estándar de facto.

La implementación de Oracle se empaqueta en dos distribuciones diferentes: El Java Runtime Environment (JRE) que contiene las partes de la plataforma Java SE necesarias para ejecutar programas Java y está destinado a usuarios finales, y el Java Development Kit (JDK) para desarrolladores de software e incluye herramientas de desarrollo como el compilador Java, Javadoc, Jar y un depurador.

OpenJDK es otra implementación notable de Java SE que se licencia bajo la GNU GPL. La implementación comenzó cuando Sun comenzó a liberar el código fuente de Java bajo la GPL. A partir de Java SE 7, OpenJDK es la implementación de referencia oficial de Java.

El objetivo de Java es hacer compatibles todas las implementaciones de Java. Históricamente, la licencia de marca de Sun para el uso de la marca Java insiste en que todas las implementaciones sean "compatibles". Esto resultó en una disputa legal con Microsoft después de que Sun alegara que la implementación de Microsoft no soportaba RMI o JNI y que había añadido características propias de la plataforma. Sun demandó en 1997, y en 2001 ganó un acuerdo de US $ 20 millones, así como una orden judicial que imponía los términos de la licencia a Sun. Como resultado, Microsoft ya no envía Java con Windows.

Java independiente de la plataforma es esencial para Java EE, y se requiere una validación aún más rigurosa para certificar una implementación. Este entorno permite aplicaciones portátiles del lado del servidor.

Rendimiento

Los programas escritos en Java tienen una reputación de ser más lentos y requieren más memoria que los escritos en C ++. Sin embargo, la velocidad de ejecución de los programas Java mejoró significativamente con la introducción de la compilación just-in-time en 1997/1998 para Java 1.1, la adición de características de lenguaje que soportan un mejor análisis de código (como clases internas, clase StringBuilder, aserciones opcionales, etc.) y optimizaciones en la máquina virtual Java, como HotSpot convirtiéndose en el valor predeterminado para la JVM de Sun en 2000. Con Java 1.5, el rendimiento se mejoró con la adición del paquete java.util.concurrent, incluyendo las implementaciones Lock free de ConcurrentMaps y otras colecciones multi-core, y se mejoró aún más Java 1.6.

Algunas plataformas ofrecen soporte directo de hardware para Java; hay microcontroladores que pueden ejecutar Java en hardware en lugar de una máquina virtual Java de software, y algunos procesadores basados en ARM podrían tener soporte de hardware para ejecutar bytecode Java a través de su opción Jazelle, aunque el soporte ha sido abandonado en implementaciones actuales de ARM.

Gestión automática de la memoria

Java utiliza un recolector de basura automático para administrar la memoria en el ciclo de vida del objeto. El programador determina cuándo se crean los objetos y el tiempo de ejecución de Java es responsable de recuperar la memoria una vez que los objetos ya no están en uso. Una vez que no hay referencias a un objeto, la memoria inalcanzable se vuelve elegible para ser liberada automáticamente por el recolector de basura. Algo similar a una pérdida de memoria puede ocurrir si el código de un programador contiene una referencia a un objeto que ya no es necesario, normalmente cuando los objetos que ya no son necesarios se almacenan en contenedores que todavía están en uso. Si se llaman métodos para un objeto inexistente, se lanzará una "excepción de puntero nulo".

Una de las ideas detrás del modelo de gestión de memoria automática de Java es que los programadores pueden ahorrarse la carga de tener que realizar una gestión de memoria manual. En algunos idiomas, la memoria para la creación de objetos se asigna implícitamente en la pila o se asigna explícitamente y se desasigna de la pila. En este último caso, la responsabilidad de administrar la memoria reside en el programador. Si el programa no desasigna un objeto, se produce una pérdida de memoria. Si el programa intenta acceder o desasignar memoria que ya ha sido desasignada, el resultado es indefinido y difícil de predecir, y es probable que el programa se vuelva inestable o se bloquee. Esto se puede remediar parcialmente con el uso de punteros inteligentes, pero estos añaden sobrecarga y complejidad. Tenga en cuenta que la recolección de basura no evita fugas de memoria "lógicas", es decir, aquellas en las que la memoria todavía se hace referencia pero nunca se usa.

La recolección de basura puede ocurrir en cualquier momento. Lo ideal sería que ocurriera cuando un programa estuviera inactivo. Se garantiza que se activará si no hay suficiente memoria libre en el montón para asignar un nuevo objeto; esto puede hacer que un programa se detenga momentáneamente. La gestión explícita de la memoria no es posible en Java.

Java no admite aritmética de puntero de estilo C / C ++, donde las direcciones de objeto y enteros sin signo (normalmente enteros largos) se pueden usar de forma intercambiable. Esto permite al recolector de basura reubicar los objetos referenciados y asegura la seguridad y seguridad del tipo.

Al igual que en C ++ y algunos otros lenguajes orientados a objetos, las variables de los tipos de datos primitivos de Java se almacenan directamente en campos (para objetos) o en la pila (para métodos) en lugar de en heap, como es común para datos no primitivos tipos (pero vea el análisis de escape). Esta fue una decisión consciente de los diseñadores de Java por razones de rendimiento.

Java contiene varios tipos de recolectores de basura. De forma predeterminada, HotSpot utiliza el recolector de recolección paralelo de recolección. Sin embargo, también hay varios otros recolectores de basura que se pueden utilizar para administrar el montón. Para el 90% de las aplicaciones en Java, el recolector de basura concurrente Mark-Sweep (CMS) es suficiente.Oracle tiene como objetivo reemplazar CMS con el recolector Garbage-First (G1).

Sintaxis

La sintaxis de Java está en gran medida influenciada por C ++. A diferencia de C ++, que combina la sintaxis de la programación estructurada, genérica y orientada a objetos, Java fue construido casi exclusivamente como un lenguaje orientado a objetos. Todo el código se escribe dentro de clases, y cada elemento de datos es un objeto, con excepción de los tipos de datos primitivos, (es decir, enteros, números de coma flotante, valores booleanos y caracteres) que no son objetos por razones de rendimiento. Java reutiliza algunos aspectos populares de C ++ (como el método printf ()).

A diferencia de C ++, Java no admite la sobrecarga del operador o la herencia múltiple para las clases, aunque la herencia múltiple es compatible con las interfaces. Esto simplifica el lenguaje y ayuda a prevenir posibles errores y diseño anti-patrón.

Java utiliza comentarios similares a los de C ++. Hay tres estilos diferentes de comentarios: un estilo de una sola línea marcado con dos barras diagonales (//), un estilo de línea múltiple abierto con / * y cerrado con * / y el estilo de comentario Javadoc abierto con / ** y cerrado con * / . El estilo de comentario de Javadoc permite al usuario ejecutar el ejecutable de Javadoc para crear documentación para el programa y puede ser leído por algunos entornos de desarrollo integrados (IDE) como Eclipse para permitir a los desarrolladores acceder a la documentación dentro del IDE.

Código de ejemplo en Java

Ejemplo de "Hola mundo"

El tradicional “¡Hola, mundo!" programa se puede escribir en Java como:

Código de ejemplo en Java

Los archivos de origen deben tener el nombre de la clase pública que contienen, añadiendo el sufijo .java, por ejemplo, HelloWorldApp.java. Primero debe ser compilado en bytecode, usando un compilador Java, produciendo un archivo llamado HelloWorldApp.class. Sólo entonces puede ser ejecutado, o "lanzado". El archivo de origen Java sólo puede contener una clase pública, pero puede contener varias clases que no sean de acceso público y cualquier número de clases públicas internas. Cuando el archivo de origen contiene varias clases, haga una clase "pública" y nombre el archivo de origen con ese nombre de clase pública.

Una clase que no se declara pública puede almacenarse en cualquier archivo .java. El compilador generará un archivo de clase para cada clase definida en el archivo de origen. El nombre del archivo de clase es el nombre de la clase, con .class añadido. Para la generación de archivos de clase, las clases anónimas se tratan como si su nombre fuera la concatenación del nombre de su clase de inclusión, un $ y un entero.

La palabra clave public indica que un método se puede llamar desde el código de otras clases, o que una clase puede ser utilizada por clases fuera de la jerarquía de clases. La jerarquía de clases está relacionada con el nombre del directorio en el que se encuentra el archivo .java. Esto se denomina modificador de nivel de acceso. Otros modificadores de nivel de acceso incluyen las palabras clave privadas y protegidas.

La palabra clave estática delante de un método indica un método estático, que está asociado sólo con la clase y no con ninguna instancia específica de esa clase. Sólo se pueden invocar métodos estáticos sin una referencia a un objeto. Los métodos estáticos no pueden acceder a ningún miembro de clase que no sea también estático. Los métodos que no están designados como static son métodos de instancia y requieren que una instancia específica de una clase funcione.

La palabra clave void indica que el método principal no devuelve ningún valor al llamador. Si un programa Java debe salir con un código de error, debe llamar explícitamente a System.exit ().

El nombre del método "main" no es una palabra clave en el lenguaje Java. Es simplemente el nombre del método que el lanzador de Java llama para pasar el control al programa. Las clases Java que se ejecutan en entornos administrados como applets y Enterprise JavaBeans no utilizan o necesitan un método main (). Un programa Java puede contener varias clases que tienen métodos principales, lo que significa que la máquina virtual tiene que ser explícitamente dicho desde qué clase, para iniciar.

El método principal debe aceptar una matriz de objetos String. Por convención, se hace referencia como args, aunque puede utilizarse cualquier otro nombre de identificador legal. Desde Java 5, el método principal también puede usar argumentos variables, en forma de public static void main (String ... args), permitiendo que el método principal sea invocado con un número arbitrario de argumentos String. El efecto de esta declaración alternativa es semánticamente idéntico (el parámetro args sigue siendo una matriz de objetos String), pero permite una sintaxis alternativa para crear y pasar la matriz.

El lanzador Java inicia Java cargando una clase dada (especificada en la línea de comandos o como un atributo en un JAR) y comenzando su método public static void principal (String []). Los programas autónomos deben declarar este método explícitamente. El parámetro String [] args es una matriz de objetos String que contiene cualquier argumento pasado a la clase. Los parámetros de main a menudo se pasan por medio de una línea de comandos.

La impresión es parte de una biblioteca estándar de Java: La clase System define un campo estático público llamado. El objeto out es una instancia de la clase PrintStream y proporciona muchos métodos para imprimir datos a out estándar, incluyendo println (String) que también agrega una nueva línea a la cadena pasada.

La cadena "Hello World!" se convierte automáticamente en un objeto String por el compilador.

Clases especiales

Applet

Los applets Java son programas incrustados en otras aplicaciones, normalmente en una página Web que se muestra en un navegador web.

Código de ejemplo en Java

Las instrucciones de importación dirigen al compilador Java para incluir las clases javax.swing.JApplet y java.awt.Graphics en la compilación. La instrucción import permite que estas clases sean referenciadas en el código fuente usando el nombre de clase simple (es decir, JApplet) en lugar del nombre de clase totalmente calificado (FQCN, es decir, javax.swing.JApplet).

La clase Hello extiende (subclases) la clase JApplet (Java Applet); la clase JApplet proporciona el marco para que la aplicación host muestre y controle el ciclo de vida del applet. La clase JApplet es un JComponent (Java Graphical Component) que proporciona al applet la capacidad de mostrar una interfaz gráfica de usuario (GUI) y responder a los eventos del usuario.

La clase Hello reemplaza al método paintComponent (Graphics) (además indicado con la anotación, admitida desde JDK 1.5, Override) heredada de la superclase Container para proporcionar el código para mostrar el applet. El método paintComponent () pasa un objeto Graphics que contiene el contexto gráfico utilizado para mostrar el applet. El método paintComponent () llama al método drawString del contexto gráfico (String, int, int) para mostrar el "Hello, world!" (65, 95) desde la esquina superior izquierda de la pantalla del applet.

Código de ejemplo en Java

Un applet se coloca en un documento HTML utilizando el elemento applet HTML. La etiqueta applet tiene tres atributos definidos: code = "Hello" especifica el nombre de la clase JApplet y width = "200" height = "200" establece el ancho y la altura del píxel del applet. Los applets también se pueden incrustar en HTML usando el objeto o el elemento incorporado, aunque el soporte para estos elementos por los navegadores web es inconsistente. Sin embargo, la etiqueta de applet está obsoleta, por lo que se prefiere la etiqueta de objeto donde se admite.

La aplicación host, normalmente un navegador Web, crea una instancia del applet Hello y crea un AppletContext para el applet. Una vez que el applet se ha inicializado, se agrega a la jerarquía de visualización AWT. El método paintComponent () es llamado por el hilo de envío de eventos AWT cada vez que la pantalla necesita que el applet se dibuje a sí mismo.

Servlet

La tecnología Java Servlet proporciona a los desarrolladores web un mecanismo sencillo y consistente para extender la funcionalidad de un servidor Web y para acceder a los sistemas empresariales existentes. Los servlets son componentes Java EE del lado del servidor que generan respuestas (normalmente páginas HTML) a las solicitudes (normalmente solicitudes HTTP) de los clientes. Un servlet casi se puede pensar como un applet que se ejecuta en el lado del servidor, sin una cara.

Código de ejemplo en Java

Las instrucciones de importación dirigen al compilador Java para incluir todas las clases públicas e interfaces de los paquetes java.io y javax.servlet en la compilación. Los paquetes hacen que Java sea adecuado para aplicaciones a gran escala.

La clase Hello extiende la clase GenericServlet; la clase GenericServlet proporciona la interfaz para que el servidor envíe solicitudes al servlet y controle el ciclo de vida del servlet.

La clase Hello reemplaza el método de servicio (ServletRequest, ServletResponse) definido por la interfaz Servlet para proporcionar el código para el controlador de solicitud de servicio. Se pasa el método service (): un objeto ServletRequest que contiene la solicitud del cliente y un objeto ServletResponse utilizado para crear la respuesta devuelta al cliente. El método service () declara que lanza las excepciones ServletException e IOException si un problema impide que responda a la solicitud.

El método setContentType  (String) en el objeto de respuesta se llama para establecer el tipo de contenido MIME de los datos devueltos a "text / html". El método getWriter () en la respuesta devuelve un objeto PrintWriter que se utiliza para escribir los datos que se envían al cliente. El método println (String) se llama para escribir el "Hello, world!" string a la respuesta y luego se llama al método close () para cerrar el print writer, lo que hace que los datos que se han escrito en el flujo se devuelvan al cliente.

Páginas JavaServer

JavaServer Pages (JSP) son componentes Java EE del lado del servidor que generan respuestas, normalmente páginas HTML, a solicitudes HTTP de clientes. Los JSP incorporan código Java en una página HTML utilizando los delimitadores especiales <% y%>. Un JSP se compila a un servlet Java, una aplicación Java por derecho propio, la primera vez que se accede a él. Después de eso, el servlet generado crea la respuesta.

Aplicación Swing

Swing es una biblioteca gráfica de interfaz de usuario para la plataforma Java SE. Es posible especificar un aspecto y una sensación diferentes a través del sistema enchufable de look and feel de Swing. Los clones de Windows, GTK + y Motif son suministrados por Sun. Apple también ofrece una apariencia de Aqua para macOS. Donde las implementaciones anteriores de estas apariencias pueden considerarse carentes, Swing en Java SE 6 soluciona este problema usando más rutinas nativas de dibujo de widgets GUI de las plataformas subyacentes.

Este ejemplo de aplicación Swing crea una sola ventana con "Hello, world!" dentro:

Código de ejemplo en Java

La primera importación incluye todas las clases públicas e interfaces del paquete javax.swing.

La clase Hello amplía la clase JFrame; la clase JFrame implementa una ventana con una barra de título y un control de cierre.

El constructor Hello () inicializa el cuadro llamando primero al constructor de la superclase, pasando el parámetro "hello", que se utiliza como título de la ventana. A continuación, llama al método setDefaultCloseOperation (int) heredado de JFrame para establecer la operación por defecto cuando el control de cierre en la barra de título está seleccionado para WindowConstants.EXIT_ON_CLOSE - esto hace que el JFrame sea eliminado cuando el marco está cerrado oculto), que permite que la máquina virtual Java salga y el programa termine. A continuación, se crea una JLabel para la cadena "Hello, world!" y el método add (Component) heredado de la superclase Container se llama para agregar la etiqueta al marco. El método pack () heredado de la superclase Window se llama para dimensionar la ventana y distribuir su contenido.

El método main () es llamado por la máquina virtual Java cuando se inicia el programa. Instancia un nuevo cuadro Hello y hace que se muestre llamando al método setVisible (boolean) heredado de la superclase Component con el parámetro booleano true. Una vez que se muestra el marco, salir del método principal no hace que el programa termine porque el hilo de envío de eventos AWT permanece activo hasta que todas las ventanas de nivel superior de Swing hayan sido eliminadas.

Genéricos

En 2004, los genéricos se agregaron al lenguaje Java, como parte de J2SE 5.0. Antes de la introducción de los genéricos, cada declaración de variable tenía que ser de un tipo específico. Para las clases de contenedor, por ejemplo, esto es un problema porque no hay forma fácil de crear un contenedor que acepta sólo tipos específicos de objetos. El contenedor funciona en todos los subtipos de una clase o interfaz, normalmente Object, o se debe crear una clase contenedora diferente para cada clase contenida. Los genéricos permiten la comprobación de tipo de tiempo de compilación sin tener que crear muchas clases de contenedores, cada una con código casi idéntico. Además de permitir un código más eficiente, se impiden ciertas excepciones de tiempo de ejecución al emitir errores en tiempo de compilación. Si Java evitó que se produjeran todos los errores de tipo de tiempo de ejecución (ClassCastException), sería de tipo seguro.

En 2016, se demostró que el sistema de tipo no era seguro en absoluto, se demostró que no era correcto.

Uso fuera de la plataforma Java

El lenguaje de programación Java requiere la presencia de una plataforma de software para ejecutar programas compilados. Oracle suministra la plataforma Java para su uso con Java. El SDK de Android es una plataforma de software alternativa, utilizada principalmente para desarrollar aplicaciones de Android.

Android

El lenguaje Java es un pilar clave en Android, un sistema operativo móvil de código abierto. Aunque Android, construido sobre el kernel de Linux, está escrito principalmente en C, el SDK de Android utiliza el lenguaje Java como base para las aplicaciones de Android. El lenguaje de bytecode soportado por el SDK de Android es incompatible con el bytecode de Java y se ejecuta en su propia máquina virtual, optimizada para dispositivos de baja memoria como smartphones y tabletas. Dependiendo de la versión de Android, el bytecode es interpretado por la máquina virtual de Dalvik o compilado en código nativo por el Android Runtime.

Android no proporciona la biblioteca completa de Java SE, aunque el SDK para Android incluye una implementación independiente de un gran subconjunto de la misma. Soporta Java 6 y algunas características de Java 7, ofreciendo una implementación compatible con la biblioteca estándar (Apache Harmony).

Controversia

El uso de la tecnología relacionada con Java en Android llevó a una disputa legal entre Oracle y Google. El 7 de mayo de 2012, un jurado de San Francisco encontró que, si las API podían tener derechos de autor, entonces Google había infringido los derechos de autor de Oracle mediante el uso de Java en dispositivos Android. El juez de distrito William Haskell Alsup falló el 31 de mayo de 2012, que las API no pueden ser protegidas por derechos de autor, pero esto fue revertido por la Corte de Apelaciones de los Estados Unidos para el Circuito Federal en mayo de 2014. El 26 de mayo de 2016, el tribunal de distrito decidió a favor de Google, la decisión de la infracción de derechos de autor de la API de Java en Android constituye un uso justo.

Documentación

Javadoc es un sistema de documentación completo, creado por Sun Microsystems, utilizado por muchos desarrolladores de Java. Proporciona a los desarrolladores un sistema organizado para documentar su código. Los comentarios de Javadoc tienen un asterisco adicional al principio, es decir, los delimitadores son / ** y * /, mientras que los comentarios normales de varias líneas en Java se establecen con los delimitadores / * y * /.

Las clases en las API de Java se organizan en grupos separados llamados paquetes. Cada paquete contiene un conjunto de interfaces, clases y excepciones relacionadas. Consulte las plataformas separadas para obtener una descripción de los paquetes disponibles. Relevantes para esta sección - discutir.

Sun también proporcionó una edición llamada PersonalJava que ha sido reemplazada por pares de configuración de perfil Java ME más tarde.



contacto_express

Respondemos en aproximadamente 3 horas promedio en días laborables.

Nombre:

Email:

Comentario:

Nuestra Sede

Ciberaula

Dirección:
Paseo de la Castellana 91, Planta 4,
Madrid, MAD 280016
España
Teléfono de Contacto: 915303387
Email: