versiones descargar anteriores java-7 java

java-7 - descargar - java version cmd



Nuevas características en java 7 (7)

¿Qué nuevas características en Java 7 se van a implementar? ¿Y qué están haciendo ahora?


Usar el operador Diamond (<>) para la creación genérica de instancias

Map<String, List<Trade>> trades = new TreeMap <> ();

Usar cadenas en instrucciones de cambio

String status= “something”; switch(statue){ case1: case2: default: }

Subrayar en literales numéricos

int val 12_15; teléfono largoNo = 01917_999_720L;

Usar instrucción catch única para arrojar excepciones múltiples usando el operador "|"

catch(IOException | NullPointerException ex){ ex.printStackTrace(); }

No es necesario cerrar los recursos () porque Java 7 proporciona una declaración try-with-resources

try(FileOutputStream fos = new FileOutputStream("movies.txt"); DataOutputStream dos = new DataOutputStream(fos)) { dos.writeUTF("Java 7 Block Buster"); } catch(IOException e) { // log the exception }

literales binarios con el prefijo "0b" o "0B"


Nueva característica de Java Standard Edition (JSE 7)

  1. Decorar componentes con la clase JLayer:

    La clase JLayer es un decorador flexible y potente para componentes Swing. La clase JLayer en Java SE 7 es similar en espíritu al proyecto del proyecto JxLayer en java.net. La clase JLayer se basó inicialmente en el proyecto JXLayer, pero su API evolucionó por separado.

  2. Cadenas en el interruptor Declaración :

    En el JDK 7, podemos usar un objeto String en la expresión de una instrucción switch. El compilador de Java genera bytecode generalmente más eficiente a partir de sentencias switch que usan objetos String que de sentencias if-then-else encadenadas.

  3. Tipo de inferencia para instancia genérica:

    Podemos reemplazar los argumentos de tipo necesarios para invocar el constructor de una clase genérica con un conjunto vacío de parámetros de tipo (<>) siempre que el compilador pueda inferir los argumentos de tipo del contexto. Este par de escuadras angulares se llama informalmente diamante. Java SE 7 admite la inferencia de tipo limitado para la creación de instancias genéricas; solo puede usar la inferencia de tipo si el tipo parametrizado del constructor es obvio desde el contexto. Por ejemplo, el siguiente ejemplo no se compila:

    List<String> l = new ArrayList<>(); l.add("A"); l.addAll(new ArrayList<>());

    En comparación, el siguiente ejemplo compila:

    List<? extends String> list2 = new ArrayList<>(); l.addAll(list2);

  4. Captura de múltiples tipos de excepciones y eliminación de excepciones con comprobación de tipos mejorada:

    En Java SE 7 y posterior, un solo bloque catch puede manejar más de un tipo de excepción. Esta función puede reducir la duplicación de código. Considere el siguiente código, que contiene código duplicado en cada uno de los bloques catch:

    catch (IOException e) { logger.log(e); throw e; } catch (SQLException e) { logger.log(e); throw e; }

    En versiones anteriores a Java SE 7, es difícil crear un método común para eliminar el código duplicado porque la variable e tiene diferentes tipos. El siguiente ejemplo, que es válido en Java SE 7 y posteriores, elimina el código duplicado:

    catch (IOException|SQLException e) { logger.log(e); throw e; }

    La cláusula de captura especifica los tipos de excepciones que puede manejar el bloque y cada tipo de excepción se separa con una barra vertical (|).

  5. El paquete java.nio.file

    El paquete java.nio.file y su paquete relacionado, java.nio.file.attribute, brindan soporte integral para E / S de archivos y para acceder al sistema de archivos. Un proveedor de sistema de archivos zip también está disponible en JDK 7.

Fuente: http://ohmjavaclasses.blogspot.com/


Características y mejoras de Java SE 7 a partir de las notas de la versión de JDK 7

Este es el resumen de las nuevas características de Java 7 de la página de características de OpenJDK 7 :

vm JSR 292: Support for dynamically-typed languages (InvokeDynamic) Strict class-file checking lang JSR 334: Small language enhancements (Project Coin) core Upgrade class-loader architecture Method to close a URLClassLoader Concurrency and collections updates (jsr166y) i18n Unicode 6.0 Locale enhancement Separate user locale and user-interface locale ionet JSR 203: More new I/O APIs for the Java platform (NIO.2) NIO.2 filesystem provider for zip/jar archives SCTP (Stream Control Transmission Protocol) SDP (Sockets Direct Protocol) Use the Windows Vista IPv6 stack TLS 1.2 sec Elliptic-curve cryptography (ECC) jdbc JDBC 4.1 client XRender pipeline for Java 2D Create new platform APIs for 6u10 graphics features Nimbus look-and-feel for Swing Swing JLayer component Gervill sound synthesizer [NEW] web Update the XML stack mgmt Enhanced MBeans [UPDATED]

Ejemplos de código para nuevas características en Java 1.7

Declaración Try-with-resources

esta:

BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); }

se convierte en:

try (BufferedReader br = new BufferedReader(new FileReader(path)) { return br.readLine(); }

Puede declarar más de un recurso para cerrar:

try ( InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dest)) { // code }

Underscores en literales numéricos

int one_million = 1_000_000;

Cadenas en el interruptor

String s = ... switch(s) { case "quux": processQuux(s); // fall-through case "foo": case "bar": processFooOrBar(s); break; case "baz": processBaz(s); // fall-through default: processDefault(s); break; }

Literales binarios

int binary = 0b1001_1001;

Inferencia de tipos mejorada para la creación de instancias genéricas

Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

se convierte en:

Map<String, List<String>> anagrams = new HashMap<>();

Captura de excepciones múltiples

esta:

} catch (FirstException ex) { logger.error(ex); throw ex; } catch (SecondException ex) { logger.error(ex); throw ex; }

se convierte en:

} catch (FirstException | SecondException ex) { logger.error(ex); throw ex; }

SafeVarargs

esta:

@SuppressWarnings({"unchecked", "varargs"}) public static void printAll(List<String>... lists){ for(List<String> list : lists){ System.out.println(list); } }

se convierte en:

@SafeVarargs public static void printAll(List<String>... lists){ for(List<String> list : lists){ System.out.println(list); } }



La siguiente lista contiene enlaces a las páginas de mejoras en Java SE 7.

Swing IO and New IO Networking Security Concurrency Utilities Rich Internet Applications (RIA)/Deployment Requesting and Customizing Applet Decoration in Dragg able Applets Embedding JNLP File in Applet Tag Deploying without Codebase Handling Applet Initialization Status with Event Handlers Java 2D Java XML – JAXP, JAXB, and JAX-WS Internationalization java.lang Package Multithreaded Custom Class Loaders in Java SE 7 Java Programming Language Binary Literals Strings in switch Statements The try-with-resources Statement Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking Underscores in Numeric Literals Type Inference for Generic Instance Creation Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods Java Virtual Machine (JVM) Java Virtual Machine Support for Non-Java Languages Garbage-First Collector Java HotSpot Virtual Machine Performance Enhancements JDBC

Referencia 1 Referencia 2


Mejoras del lenguaje de programación Java @ Java7

  1. Literales binarios
  2. Cadenas en el interruptor Declaración
  3. Pruebe con Resources o ARM ( Automatic Resource Management )
  4. Manejo de excepciones múltiples
  5. Excepciones suprimidas
  6. guión bajo en literales
  7. Escriba inferencia para la creación de instancia genérica utilizando la sintaxis Diamond
  8. Advertencias y errores mejorados del compilador al usar parámetros formales no recuperables con los métodos Varargs

Referencia oficial
Referencia oficial con java8
referencia wiki


Cambios de idioma :

-Project Coin (small changes) -switch on Strings -try-with-resources -diamond operator

Cambios en la biblioteca :

-new abstracted file-system API (NIO.2) (with support for virtual filesystems) -improved concurrency libraries -elliptic curve encryption -more incremental upgrades

Cambios de plataforma :

-support for dynamic languages

A continuación se muestra el enlace que explica las características recientemente agregadas de JAVA 7, la explicación es clara como el agua con los posibles ejemplos pequeños para cada característica:

http://radar.oreilly.com/2011/09/java7-features.html