Características de Java7

RECU-0683 (Recurso Referencia)

Descripción

Java 7 Development Kit (o JDK) es el kit de desarrollo oficial del lenguaje de programación Java. Además de la máquina virtual de Java, indispensable para ejecutar las clases de los programas, cuenta con diversas herramientas, como javac, el compilador de bytecode de Java, javap, el desensamblador de clases, y jdb, el depurador de bugs. Estas herramientas se encuentran en el subdirectorio bin del JDK. Además de estas herramientas, el JDK contiene ejemplos y demostraciones. A continuación se presentan las nuevas caracterísitcas de esta versión

Características

La nueva Java SE 7 ofrece:

Características Principales
Cambios en el lenguaje, para incrementar la productividad del desarrollador y simplificar las tareas comunes de programación disminuyendo la cantidad de código necesario, aclarando la sintaxis y haciendo que el código pueda leerse más fácilmente. (JSR 334: Project Coin)
 Soporte mejorado, para lenguajes dinámicos (entre ellos: Ruby, Python y JavaScript), lo que da como resultado un aumento considerable del desempeño en JVM. (JSR 292: InvokeDynamic)
 Una nueva API preparada para múltiples núcleos, que permite a los desarrolladores convertir fácilmente los problemas en tareas que pueden ejecutarse en paralelo en un número arbitrario de núcleos de procesador. (JSR 166: Fork/Join Framework)
 Un completa interfaz de I/O, para trabajar con sistemas de archivo que pueden acceder a una variedad más amplia de atributos de archivo y ofrecer más información cuando ocurren errores. (JSR 203: NIO.2)
 Nuevas características de redes y seguridad.
 Mayor soporte de la internacionalización, incluido soporte para Unicode 6.0.
 Versiones actualizadas de numerosas bibliotecas.

 

Adicionalmente, la compatibilidad de Java SE 7 con versiones anteriores de la plataforma preserva las habilidades de los actuales desarrolladores de software Java y protege las inversiones en tecnología Java.

La nueva versión permite utilizar otros lenguajes como Ruby. Permite gestionar recursos de forma automática, simplificar la lista de parámetros y mejorar la gestión de excepciones que el usuario desea para su sistema. Java mostrará en la pantalla un breve mensaje cuando se produzca un error durante su inicialización.

Dispone de un nuevo framework denominado Fork/Join que permitirá a los desarrolladores descomponer problemas más fácilmente y ejecutar tareas en paralelo a través de un número arbitrario de núcleos de procesador; y una completa API de Entrada y Salida NIO.2 para trabajar con sistemas de archivos, acceder a una amplia gama de atributos y ofrecer más información cuando se producen errores.

Buenas prácticas y recomendaciones de uso

A continuación se muestran recomendaciones de uso y buenas prácticas sobre los cambios que introduce Java 7:

  • Project Coin: pequeños cambios dirigidos a la mejora de la productividad de los desarrolladores. Dentro de estas novedades caben destacar:

    • Switch con Cadenas: posibilita poner cadenas en la estructura de control switch.

      String color="black";
      switch(color){
             case "black": System.out.println("#000000");
                         break
             case "white": System.out.println("#FFFFFF");
                          break;
             case "red":    System.out.println("#FF0000");
                          break;
              default:          System.out.println("Unknown");
      } 
    • Inferencia de tipos u operador diamante para simplificar el uso de generics: no es necesario tener que indicar los objetos en la inicialización.

      List<String> list=new ArrayList<>();
      Map<String, Object> map=new HashMap<>();  
    • Número en literales binarios: con Java7 es posible declarar literales en formato binario.

      System.out.println("numero "+ 0b1010);
      System.out.println("numero2: "+0b10100);  
    • Números con guiones: java proporciona la opción de poder escribir separando con guiones para facilitar la lectura al programador.

      System.out.printf("number: %d%n",1_000_00); 
    • Multicatch: útil para evitar código duplicado de manejo de errores.

      try{
            System.out.println(10/Integer.parseInt("0"));
      }catch(ArithmeticException | NumberFormatException ex){
             //manejar excepción
      }
    • Cierre automático de recursos: permite que se cierren los recursos una vez abiertos, si se especifican dichos recursos dentro del try, de tal forma que si sucede algún error, la aplicación es capaz de cerrar el recurso.

      try(BufferedWriter writer=new BufferedWriter(new FileWriter("c:\\temp\\archivoTemporal.txt"))){
           writer.write("Hola, mundo!");
           writer.newLine();
           writer.write("Hola, mundo2!");
      }catch(IOException ex){
             ex.printStackTrace();
      }
  • Fork/Join framework: facilita el paralelismo para procesadores multi-core.

  • The New File System API (NIO.2): ofrece la posibilidad de realizar muchas de las operaciones básicas del sistema de archivos de forma nativa.

  • InvokeDynamic: hace que sea más fácil ejecutar otros lenguajes como Ruby en la máquina virtual de Java.

Contenidos relacionados

Pautas
Área: Desarrollo » Aplicaciones Java
Código Título Tipo Carácter
PAUT-0289 Uso de Java7 Pauta Directriz Recomendada