Sunteți pe pagina 1din 21

EN ESTE CAPÍTULO

»Conocer la programación

»De alcance a Java

»La comparación de
Java con otros
lenguajes de
programación
»La comprensión de los
números de versión de
Java incomprensibles

Capítulo 1
Bienvenido a Java
su capítulo es una suave introducción al mundo de Java. En las siguientes

T
páginas, se entera de lo que Java es, de dónde viene y hacia dónde va.
También descubre algunas de las fortalezas únicas de Java, así como
algunos de
sus debilidades. Además, se ve cómo Java compara con otros programas
populares
idiomas, incluyendo C, C ++, C # y Visual Basic.

Por cierto, supongo que en este capítulo que tiene al menos lo suficiente como fondo para saber lo que la
programación informática se trata. Eso no quiere decir que supongo que eres un experto o un
programador profesional. Sólo quiere decir que no me tomo el tiempo para explicar conceptos básicos
tales como lo que es un programa de ordenador, lo que es un lenguaje de programa-ming es, y así
sucesivamente. Si usted no tiene absolutamente ninguna experiencia en programación, puedo sugerir que
usted toma una copia de Java para los maniquíes, 5ª Edición, o Programación Comenzando con Java para
los maniquíes, 3ª edición, tanto por parte de Barry Burd (Wiley).

A lo largo de este capítulo, se encuentran pequeños fragmentos de código


programa Java, además de algunos fragmentos de código escritos en otros
idiomas, incluyendo C, C ++ y básico. Si usted no tiene ni idea de lo que
significa o hace este código, no se asuste. Sólo quiero darle una idea de lo que
se ve como de programación Java y cómo se compara con la programación en
otros idiomas.

7 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 7
Todos los listados de código utilizadas en este libro están disponibles para su descarga en
www.dummies. com / go / javaaiofd5e.

8 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 8
¿Qué es Java, y por qué es tan grande?
Java es un lenguaje de programación en la tradición de C y C ++. Como
resultado, si usted tiene alguna experiencia con C o C ++, a menudo se
encontrará en un territorio familiar a medida que descubre las diversas
características de Java. (Para obtener más información acerca de los ilarities sim-
y diferencias entre Java y C o C ++, consulte la sección “Java frente a otros
idiomas,” más adelante en este capítulo).

Java se diferencia de otros lenguajes de programación en un par de maneras


significativas, sin embargo. Señalo las diferencias más importantes en las
siguientes secciones.

independencia de la
plataforma
Una de las principales razones de Java es tan popular es su independencia de la
plataforma, lo que simplemente significa que los programas Java pueden ejecutarse en
muchos tipos de ordenadores. Un programa Java se ejecuta en cualquier computadora
con un entorno de ejecución de Java, también conocido como un JRE instalado. Un JRE
está disponible para casi cualquier tipo de equipo que se pueda imaginar: ordenadores
que ejecuten cualquier versión de Windows, Macintosh, Unix y Linux, grandes
ordenadores centrales, y los teléfonos celulares pares.

Antes de Java, otros lenguajes de programación prometieron independencia de la


plataforma, proporcionando compiladores compatibles para diferentes
plataformas. (Un compilador es el programa que traduce programas escritos en un
lenguaje de programación en una forma que realmente puede funcionar en un
ordenador.) La idea era que se podía elaborar diferentes versiones de los
programas para cada plataforma. Por desgracia, esta idea nunca trabajó. Los
compiladores nunca fueron idénticas en cada plataforma; cada uno tenía sus
propios pequeños matices. Como resultado de ello, había que mantener una
versión diferente de su programa para cada plataforma que quería apoyar.

independencia de la plataforma de Java no se basa en proporcionar compiladores


compatibles para diferentes plataformas. En su lugar, Java se basa en el concepto
de una máquina virtual. Se puede pensar en la máquina virtual de Java (a veces
llamada la JVM) como una plataforma informática hipotético - un diseño para un
equipo que no existe como hardware real. En su lugar, el JRE es un emulador -
un programa que destina parte de su disco duro para que actúe como un
ordenador (es decir, la JVM) que puede ejecutar programas Java.

9 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 9
El compilador de Java no se traduce Java en el lenguaje de máquina del orde-
nador que el programa se está ejecutando. En su lugar, el compilador de Java
traduce en el lenguaje de máquina de la máquina virtual Java, que se llama código
de bytes. A continuación, el JRE se ejecuta el código de bytes en la JVM. Debido
a la JVM, puede ejecutar un programa Java en cualquier equipo que tiene un JRE
instalado sin volver a compilar el programa.

10 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 10
Así es como Java proporciona independencia de plataforma - y lo creas o no,
funciona bastante bien. Los programas que se ejecutan escriben igual de bien en
un PC con cualquier versión de Windows, Macintosh, una máquina Unix o Linux,
o cualquier otro ordenador con un JRE instalado - incluyendo teléfonos

Bienvenido a
inteligentes u ordenadores tipo tableta.

Java
Mientras yace despierto esta noche ponderar la importancia de la plataforma de Java
inde- pendencia, aquí están algunas ideas adicionales para reflexionar:

» El JRE es independiente del compilador de Java. Como resultado, usted no tiene que instalar
un compilador de Java para ejecutar programas Java compilados. Todo lo que necesita es el
JRE.

» Cuando alguien le pregunta si su equipo “tiene Java,” él o ella por lo general


significa que preguntar, “¿Ha instalado el entorno de ejecución de Java?” (Es
necesario
JRE para que pueda ejecutar programas Java.)

» independencia de la plataforma sólo llega hasta ahí. Si tiene algún tipo de oscura
sistema informático - tales como una antigüedad Olivetti Programma 101 - y un
JRE
No está disponible para ello, no se puede ejecutar programas Java en él.

No hice la Olivetti Programma 101. Era una computadora de escritorio hecho a principios de 1960, y pasó a
ser mi introducción a la computadora pro gramación. (Mi profesor de matemáticas de la escuela secundaria
tenía una en la parte posterior de su clase, y él me dejó jugar con él durante el almuerzo.) Haga una
búsqueda en Google de Olivetti Programma 101 y se pueden encontrar varios sitios web interesantes sobre
ella.

» independencia de la plataforma de Java no es perfecto. Aunque el código de bytes


funciona de forma idéntica en cada equipo que tiene un JRE, algunas partes de Java
utilizan los servicios
proporcionado por el sistema operativo subyacente. Como resultado, las
variaciones menores a veces surgen, sobre todo en aplicaciones que
utilizan las interfaces gráficas.

» Debido a que un sistema de tiempo de ejecución que emula una máquina


virtual Java ejecuta el código de bytes de Java, algunas personas comparan
erróneamente Java con lenguajes interpretados como Basic o
Perl. Esos idiomas no se compilan en absoluto, sin embargo. En su lugar, el intérprete lee e
interpreta cada instrucción que se ejecuta. Java es un lenguaje compilado verdadera; es sólo
compilado para el lenguaje de máquina de JVM en lugar de al lenguaje de máquina de una
plataforma de equipo real.

» Si está interesado, la JVM está completamente orientado a pila; que no tiene registros para
almacenar datos locales. (No voy a explicar lo que significa ese término, por lo que si
no tiene sentido para ti, evitarlo. No es importante. Es sólo interesante
para los empollones que saben de pilas, registros, y cosas de esa calaña.)

11 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 11
La orientación a
objetos
Java está intrínsecamente orientada a objetos, lo que significa que los programas
Java se componen de elementos de programación llamados objetos. En pocas
palabras (no te encanta cuando

12 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 12
has leído en un libro equipo?), un objeto es una entidad de programación que
repre-
senta ya sea un objeto del mundo real o un concepto

abstracto. Todos los objetos tienen dos características

básicas:

» Los objetos tienen datos, también conocido como estado. Un objeto que representa
un libro, por
ejemplo, tiene datos tales como el libro de título, el autor y el editor.

» Los objetos también tienen comportamiento, lo que significa que pueden realizar
ciertas tareas.
En Java, estas tareas se llaman métodos. Un objeto que representa un automóvil podría
tener métodos tales comocomienzo, detener, conduciry choque. Algunos
métodos simplemente le permiten acceder a los datos del objeto. Un objeto puede tener
un librogetTitle método que te dice el título del libro.

Las clases están estrechamente relacionados con los objetos. Una clase es el
código del programa que se escribe en CRE objetos Ate. La clase describe los
datos y métodos que definen el estado y el comportamiento del objeto. Cuando se
ejecuta el programa, las clases se utilizan para crear objetos.

Supongamos que usted está escribiendo un programa de nóminas. Este programa


probablemente necesita para representar objetos empleados de la compañía. Por lo
que el programa incluye una clase (probablemente llamada Empleado) Que define
los datos y métodos para cada Empleado objeto. Cuando el programa se ejecuta,
se utiliza esta clase para crear un objeto para cada uno de los empleados de su
empresa.

El API Java
El lenguaje Java en sí es muy simple, pero Java viene con una biblioteca de clases
que proporcionan funciones de utilidad de uso común que la mayoría de los
programas Java no se puede prescindir. Esta biblioteca de clases, llamada a la API
de Java (abreviatura de interfaz de programación de aplicaciones), es tanto una
parte de Java como el lenguaje mismo. De hecho, el verdadero reto de encontrar la
manera de utilizar Java no es el dominio de la lengua; que es maestro-ing la API.
El lenguaje Java tiene sólo alrededor de 50 palabras clave, pero la API de Java
tiene varios miles de clases, con decenas de miles de métodos que se pueden
utilizar en sus programas.

13 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 13
La API Java tiene clases que le permiten hacer la trigonometría, escribir datos en
archivos, crea- comieron ventanas en pantalla y recuperar información de una base de
datos, entre otras cosas. Muchas de las clases en la API son de uso general y de uso
común. Toda una serie de clases almacena colecciones de datos, por ejemplo. Sin
embargo, muchos son oscuros, que se utiliza sólo en situaciones especiales.

14 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 14
Afortunadamente, usted no tiene que aprender cualquier lugar cerca de la
totalidad de la API de Java. La mayoría de los programadores son fluidos con
sólo una pequeña parte de ella: la porción que se aplica más directamente a los
tipos de programas que escriben. Si usted encuentra la necesidad de utilizar

Bienvenido a
alguna clase de la API que aún no está familiarizado con, usted puede buscar lo
que hace la clase en la documentación de la API de Java
enhttp://download.java.net/jdk9/docs/api.

Java
La Internet
Java es a menudo asociada con la Internet, y con razón, porque Al Gore inventó
Java tan sólo unos días después de haber inventado Internet. Está bien, Java no
fue realmente inventado por Al Gore. Fue desarrollado correcto en el momento
de la World Wide Web se estaba convirtiendo en un fenómeno, y Java fue
diseñado específicamente para sacar ventaja de la web. En particular, todo el
concepto detrás de la JVM es permitir a cualquier ordenador conectado a
Internet para ejecutar programas Java, independientemente del tipo de ordenador
o el sistema operativo que se ejecuta.

Se pueden encontrar tres tipos distintos de programas de Java en Internet:

» servlets: servlets son programas Java basadas en la Web que se ejecutan en


un ordenador servidor de Internet en lugar de en el navegador web de un
usuario de Internet. Los servlets son el verdadero
de manera que muchos, si no la mayoría, de los sitios web comerciales funcionan. Un
servlet genera una página de HTML que se envía a la computadora de un usuario que se
muestra en el navegador web del usuario. Si solicita información sobre un producto en
una tienda online, el servidor web de la tienda se ejecuta un servlet para generar la página
HTML que contiene la información del producto que ha solicitado.

» applets: applets son programas Java que se ejecutan directamente en un


navegador web. Para ejecutar un applet, el navegador se inicia una JVM,
y que la máquina virtual se le da una
parte de la página Web para trabajar con ellos. A continuación, la
máquina virtual se ejecuta el código de bytes del applet.

» aplicaciones Web Start: Un Web Start es una aplicación Java que está diseñado para ser
lanzado desde una página web, pero ejecutar directamente en la computadora de un usuario en vez
que dentro de un navegador web.

Applets han caído recientemente en desgracia, ya que a menudo experimentan


problemas compatibi- lidad con diferentes versiones de navegadores. Como
resultado, aplica- ciones Web Start han sustituido en gran medida applets.
Encontrará la manera de crear servlets y aplicaciones Web Start en el libro 7.

15 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 15
Java frente a otros idiomas
Superficialmente, Java se parece mucho a muchos de los lenguajes de
programación que precedieron la misma, sobre todo C y C ++. Por ejemplo, aquí
está el clásico¡Hola Mundo! programa, escrito en el lenguaje de programación
C:

principal()
{
printf ( "Hola, mundo!");
}

Este programa simplemente muestra el texto "¡Hola Mundo!" en con- del


ordenador
único. Aquí está el clásico¡Hola Mundo! programa escrito en Java:

public class HelloApp


{
void main (String [] args) public static
{
System.out.println ( "Hola, mundo!");
}
}

Aunque la versión de Java es un poco más detallado, los dos tienen varias
similitudes:

» Ambos requieren cada instrucción ejecutable para terminar con un punto y coma (;).

» Ambos aparatos ortopédicos (uso{}) Para la caracterización de secuencias de código.

» Ambos utilizan una rutina llamada principal como el principal punto de entrada para el
programa.

Muchas otras similitudes no son evidentes en estos ejemplos simples, pero los
ejemplos traer la principal diferencia entre C y delante de Java y el centro de:
Programación orientada a objetos asoma su fea cabeza incluso en ejemplos sencillos.
Tenga en cuenta los siguientes puntos:

» En Java, aunque el programa más simple es una clase, así que hay que proporcionar una
línea que dice que el nombre de la clase. En este ejemplo, la clase se llamaHelloApp.
HelloApp tiene un método denominado principal, Que la JVM llama
automáticamente cuando
se ejecuta un programa.

16 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 16
» En el ejemplo C, printf es una función de la biblioteca se llama para imprimir la
información de la consola. En Java, se utiliza elPrintStream clase para escribir
información en la consola.

17 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 17
PrintStream? No hayPrintStream en este programa! Espera un minuto - Sí, lo hay.
Cada programa Java tiene a su disposición unaPrintStream objeto que escribe
información a la consola. Usted puede obtener estaPrintStream objeto
llamando al afuera método de otra clase, llamada Sistema. Asísystem.out

Bienvenido a
obtiene el PrintStream objeto que escribe en la consola. losPrintStream
clase a su vez tiene un método denominado println que escribe una línea a

Java
la consola.
Asi que System.out.println Realmente hace dos cosas, en el siguiente orden:

1. Utiliza el afuera Campo de la Sistema clase para obtener una PrintStream objeto.

2. Se llama a la println método de ese objeto para escribir una línea en

la consola. ¿Confuso? Usted apuesta. Todo tiene sentido, sin embargo,

cuando se lee
acerca de la programación orientada a objetos en el libro 3, capítulo 1.

» vacío luce familiar. Aunque no se muestra en el ejemplo C, que podría haber


codificadovacío en la declaración de la función principal para indicar que la función
principal no devuelve un valor. vacío tiene el mismo significado en Java. Pero
estático? Qué significa eso? Eso, también, es evidencia de Java ción objeto de
orientación. Es un poco pronto para explicar lo que significa en este capítulo, pero se
puede encontrar en el Libro 2, Capítulo 7.

Características importantes del lenguaje Java


Si cree que el bombo de la comercialización difundida por Oracle y otros, usted piensa que Java es el
mejor que puede pasar a los ordenadores desde la invención de la memoria. Java no puede ser que
revolucionaria, pero tiene muchas características integradas que lo distinguen de otros idiomas. Las
siguientes secciones describen sólo tres de las muchas las distintas prestaciones que hacen de Java tan
popular.

La verificación
de tipos
Todos los lenguajes de programación tienen que hacer frente de un modo u otro con la comprobación de
tipos - la forma en que una lengua maneja las variables que almacenan diferentes tipos de datos. Los
números, cadenas y fechas, por ejemplo, se utilizan comúnmente tipos de datos disponibles en la
mayoría de los lenguajes de programación. La mayoría de los lenguajes de programación también tienen
varios tipos de números, como los números enteros y números reales.

13 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 13
All languages must check data types, so make sure that you don’t try to do things that don’t make sense
(such as multiplying the gross national product by your last name). The question is, does the language
require you to declare every variable’s type so you can do type checking when it compiles your
programs, or does the language do type checking only after it runs your program?

14 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 14
Some languages, such as Pearl, are not as rigid about type checking as Java. For
example, Pearl does not require that you indicate whether a variable will contain
an integer, a floating point number, or a string. Thus, all the following statements
are allowed for a single variable named $a:

$a = 5
$a = "Strategery"
$a = 3.14159

Here three different types of data — integer, string, and double — have been
assigned to the same variable.

Java, on the other hand, does complete type checking at runtime. As a result,
you must declare all variables as a particular type so that the compiler can make
sure you use the variables correctly. The following bit of Java code, for
example, won’t compile:

int a = 5;
String b = "Strategery";
String c = a * b;

If you try to compile these lines, you get an error message saying that Java can’t multiply an integer and
a string.

In Java, every class you define creates a new type of data for the language to work
with. Thus, the data types you have available to you in Java aren’t just simple
predefined types, such as numbers and strings. You can create your own types. If
you’re writing a payroll system, you might create an Employee type. Then you
can declare variables of type Employee that can hold only Employee objects.
This
capability prevents a lot of programming errors. Consider this code
snippet:

Employee newHire;
newHire = 21;

This code creates a variable (newHire) that can hold only Employee objects. Then
it tries to assign the number 21 to it. The Java compiler won’t let you run this
program because 21 is a number, not an employee.

An important object-oriented programming feature of Java called inheritance adds an interesting — and
incredibly useful — twist to type checking. Inheritance is way too complicated to dive into just yet, so
I’ll be brief here: In Java, you can create your own data types that are derived from other data types.
Employees are people, for example, and customers are people too, so you might create a Person

15 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 15
class and then create Employee and Customer classes that both inherit the
Person

Welcome to Java
class. Then you can write code like this:

Person p;
Employee e;
Customer c;
p = e; // this is allowed because an Employee is also a
Person.
c = e; // this isn't allowed because an Employee is not a
Customer.

Confused yet? If so, that’s my fault. Inheritance is a pretty heady topic for Chap- ter
1 of a Java book. Don’t panic if it makes no sense just yet. It will all be clear by the
time you finish reading Book 3, Chapter 4, which covers all the subtle nuances of
using inheritance.

Automatic memory management


Memory management is another detail that all programming languages have to
deal with. All programming languages let you create variables. When you
create a variable, the language assigns a portion of the computer’s memory to
store the data referred to by the variable. Exactly how this memory is allocated
is a detail that you usually can safely ignore, no matter which language you’re
working with. But a detail that many languages do not let you safely ignore is
what happens to that memory when you no longer need the data that was stored
in it.

In C++ and similar languages, you must write code that explicitly releases that
memory so that other programs can access it. If you don’t do this, or if you do
it wrong, your program might develop a memory leak. In a memory leak, your
pro- gram slowly but surely sucks memory away from other programs until the
oper- ating system runs out of memory and the computer grinds to a halt.

In Java, you don’t have to explicitly release memory when you’re done with it;
instead, memory is freed automatically when it’s no longer needed. The JVM
includes a special process called the garbage collector that snoops around the vir-
tual machine’s memory; determines when data is no longer being used; and auto-
matically deletes that data, freeing the memory that it occupied.

A feature related to garbage collection is bounds checking, which guarantees that programs can’t access
memory that doesn’t belong to them. Languages such as C and C++ don’t have this type of safety net. As
a result, programming errors in C or C++ can cause one program to trample over memory that’s being
used by another program, which in turn can cause your computer to crash.

15 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 15
Exception handling
As Robert Burns said, “The best-laid schemes o’ mice an’ men gang oft agley, an’ lea’e us nought but
grief an’ pain, for promis’d joy!” When you tinker with computer programming, you’ll quickly discover
what he meant. No matter how carefully you plan and test your programs, errors happen, and when they
do, they threaten to bring your whole program to a crashing halt.

Java has a unique approach to error handling that’s superior to that of any other
language (except C#, which just copies Java’s approach, as I mention earlier in
the chapter). In Java, the JRE intercepts and folds errors of all types into a
special type of object called an exception object. After all, Java is object-
oriented through and through, so why shouldn’t its exception-handling features
be object-oriented?

Java requires any statements that can potentially cause an exception to be brack -
eted by code that can catch and handle the exception. In other words, you, as the
programmer, must anticipate errors that can happen while your program is run-
ning and make sure that those errors are dealt with properly. Although this neces -
sity can be annoying, it makes the resulting programs more reliable.

On the Downside: Java’s Weaknesses


Hasta ahora, he estado haciendo sonar la bocina de Java bastante alto. Para que no piense que encontrar
la manera de usarlo es un paseo por el parque, los siguientes párrafos señalan algunas de las deficiencias
de Java (muchos de los cuales tienen que ver con la API en lugar de la propia lengua):

» El API es demasiado grande. Incluye tantas clases y métodos que es probable que nunca
uso ni la mitad de ellos. Además, el gran tamaño de la API de Java no hace
le permiten pasear a través de él por su cuenta, con la esperanza de descubrir la clase que
es perfecta para el problema que está trabajando.

» La API está sobredimensionado. En algunos casos, parece que el ERS Java diseño- salen
de su manera de complicar las cosas que deben ser simples de usar. los
API clase que define un área de entrada de texto de varias líneas no tiene una barra de
desplazamiento, por ejemplo. En su lugar, una clase separada define un panel que tiene una barra
de desplazamiento. Para crear un área de texto de varias líneas con una barra de desplazamiento,
usted tiene que utilizar ambas clases. Eso está bien si alguna vez desea crear un área de texto que
no tiene una barra de desplazamiento, pero nunca se podrá. Los diseñadores de Java complican el
diseño de las clases del área de texto y del panel de desplazamiento para prever un caso que nadie
utiliza o querría usar.

16 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 16
» Algunas esquinas de la API están diseñados sin orden ni concierto. La
mayoría de los problemas se remontan a la primera versión de Java, que fue trasladado de
urgencia al mercado
so that it could ride the crest of the World Wide Web wave in the late 1990s. Since then,
many parts of the API have been retooled more thoughtfully, but the API is still riddled

Bienvenido a
with remnants of Java’s early days.

» In my opinion, the biggest weakness of Java is that it doesn’t directly support true

Java
decimal data. This issue is a little too complicated to get into
right now, but the implication is this: Without special coding (which few Java books
explain and few Java programmers realize), Java doesn’t know how to add. Consider
this bit of code:

double x = 5.02;
double y = 0.01;
double z = x + y;
System.out.println(z);

This little program should print 5.03, right? It doesn’t. Instead, it prints
5.029999999999999. Este pequeño error puede no parecer mucho, pero puede sumar. Si alguna vez
se realiza una compra en una tienda online y el aviso de que el impuesto sobre las ventas es un centavo
fuera, esta es la razón. La explicación de por qué estos errores ocurren - y cómo prevenirlos - es bastante
técnica, pero es algo que todos los mer programa- Java tiene que entender.

Versión de Java locura


Como la mayoría de los productos, Java recibe actualizaciones y mejoras
periódicas. Desde su lanzamiento en 1996 ini- cial, Java se ha sometido a las
siguientes actualizaciones de versión:

» Java 1.0: Esta versión fue la versión original de Java, lanzado en 1996. La mayor parte
de la lengua sigue siendo más o menos la misma que en la versión 1.0, pero el
API ha cambiado mucho desde esta versión.

» Java 1.1: Esta versión fue la primera actualización a Java, lanzado en 1997. Este
liberación es importante porque la mayoría de los navegadores de Internet
incluyen soporte integrado para los applets basados en Java 1.1. Para
ejecutar applets basados en versiones posteriores de Java, en la mayoría de
los casos hay que descargar e instalar un JRE actual.

» Java 1.2: Esta versión, lanzada a finales de 1998, fue una gran mejora con respecto

17 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 17
la versión anterior - tanto es así, de hecho, que Sun lo llamó Java 2. Se
incluye una nueva API denominada oscilación para crear interfaces gráficas
de usuario, así como otras características importantes.

18 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 18
» Java 1.3: Esta versión, publicado en 2000, fue sobre todo acerca de la mejora de Mance
perfor- cambiando la forma en que funciona el sistema de ejecución. Curiosamente, sin
embargo esto
versión es técnicamente Java 1.3, también se llama Java 2 versión 1.3. Imagínate.

» Java 1.4: Publicado en 2001, esta versión ofrece una serie de mejoras. Como
se puede adivinar, se llama Java 2 versión 1.4. Mantener cálculos. . . .

» Java 1.5: Publicado en 2004, esta versión incluye más cambios y mejoras que
cualquier otra versión. Para añadir a la aparente imprevisibilidad del Sol en su
numeración de versiones, esta versión tiene oficialmente dos números de versión. El
sol de
web oficial de Java lo explica así:

Ambos números de versión “1.5.0” y “5.0” se utilizan para identificar esta versión de
la plataforma Java 2 Standard Edition. Versión “5.0” es la versión del producto,
mientras que “1.5.0” es la versión de desarrollo.

Que borra todo a la derecha hacia arriba, ¿verdad?

» Java 1.6: Publicado en diciembre de 2006 (justo a tiempo para las


vacaciones!), Esta versión de Java ofrece mejoras menores y una mayor
eficiencia.

Para Java 1.6, la versión del producto es de 6 (no 6.0). Recuerde que el extra de 2
mágicamente apareció en 1998? Pues bien, el 2 se ha ido en Java 1.6. Así que a diferencia
de las versiones entre 1998 y 2006, Java 1.6 es el nombre oficial de la plataforma Java (no
la plataforma Java 2). En lo personal, creo que alguien en Sun ha estado hablando con
George Lucas. Me totalmente de esperar la próxima versión de Java para ser una precuela
llamada Java 0 Episodio 1.

» Java 1.7: Publicado a mediados de 2011, esta era una actualización


relativamente menor que añadió
algunas mejoras a la API y algunos retoques a la lengua misma.

» Java 1.8: Publicado en febrero de 2014, Java 8 (como se le conoce) añade


algunas nuevas características importantes y de larga anticipado a Java.
Uno de los más
es importante expresiones lambda, una característica del lenguaje que
simplifica algunos aspectos de la programación orientada a objetos. Otras
nuevas características incluyen una API totalmente renovada para trabajar
con fechas y horas, y un nuevo marco para trabajar con grandes conjuntos
de datos en una forma que puede tomar ventaja de los procesadores
multinúcleo.

» Java 1.9: Lanzado en 2017, Java 9 añade una característica importante y


largamente esperado
llamado Sistema Módulo de Java, que ofrece una nueva y mejorada forma
de gestión de las colecciones de código Java que componen una completa

19 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 19
apli- cación de Java. Se aprende acerca de esta nueva característica en el
libro 3, capítulo 8.

Es posible que tenga que ser conscientes de las diferencias de versión si usted está escribiendo
aplicaciones que desea ser capaz de funcionar en las versiones anteriores de Java. Tenga en cuenta, sin
embargo, que uno de los principales beneficios de Java es que el sistema de tiempo de ejecución es libre
y puede ser fácilmente descargado e instalado por los usuarios finales. Como resultado de ello, no se
debe dudar en utilizar las características de Java 9 cuando los necesite.

20 LIBRO 1 CAPÍTULO 1 Bienvenido a Java


Fundamentos de Java 20
¿Lo que hay en un nombre?
El último tema que quiero tratar en este capítulo son los nombres de las

Bienvenido a
diferentes piezas que componen la tecnología de Java - específicamente, las
siglas que con- constantemente vienen a través de cada vez que lee o habla de
Java, como JVM, JRE, JDK, y J2EE. Aquí están, en ningún orden de

Java
importancia:

» JDK: Java Development Kit - es decir, el conjunto de herramientas para desarrolladores que incluye el
compilador de Java y el entorno de ejecución. Para escribir programas Java, se necesita el
JDK. Este término se utilizó con las versiones originales de Java (1.0 y 1.1) y abandonado
con la versión 1.2 a favor de SDK. Pero con las versiones 5.0, 6 y 7,
el término JDK es oficialmente de nuevo en boga.

» SDK: Kit de desarrollo de software - Sun lo llamó el JDK para las versiones 1.2, 1.3,
y 1.4.

» JRE: Java Runtime Environment - el programa que emula la JVM para que
los usuarios pueden ejecutar programas Java. Para ejecutar programas
Java, sólo tiene que descargar e instalar el JRE.

» JVM: máquina virtual de Java - la máquina independiente de la plataforma que


está emulado por el JRE. Todos los programas de Java se ejecutan en una
JVM.

» Java SE: Java Standard Edition - un término que describe el lenguaje Java y
el conjunto básico de las bibliotecas de API que se utilizan para crear
programas Java que se pueden ejecutar en Windows, Linux y otras
plataformas, tales como Macintosh. Java SE también puede crear
programas, llamados applets, que se ejecutan en una ventana del
navegador. La mayor parte de este libro se centra en Java SE.

» J2SE: Java 2 Standard Edition - un término más antiguo para el lenguaje Java y básica
bibliotecas (para las versiones de Java 1.2 a 1.5).

» Java EE: Java Enterprise Edition, también conocido como J2EE (Java 2 Enterprise Edition) -
un conjunto ampliado de las bibliotecas de API que proporcionan funciones
especiales, tales como los servlets.

CAPÍTULO 1 Bienvenido a Java


19

S-ar putea să vă placă și