vm JSR 292: soporte para lenguajes de tipado dinámico (InvokeDynamic)
Comprobación estricta de archivos de clase
lang JSR 334: Pequeñas mejoras de idioma (Project Coin)
arquitectura de cargador de clases de actualización básica
Método para cerrar un URLClassLoader
Actualizaciones de simultaneidad y cobranza (jsr166y)
i18n Unicode 6.0
Mejora de la configuración regional
Configuración regional de usuario y configuración regional de interfaz de usuario independientes
ionet JSR 203: más API de E / S nuevas para la plataforma Java (NIO.2)
Proveedor de sistema de archivos NIO.2 para archivos zip / jar
SCTP (Protocolo de transmisión de control de flujo)
SDP (protocolo directo de sockets)
Utilice la pila IPv6 de Windows Vista
TLS 1.2
sec Criptografía de curva elíptica (ECC)
jdbc JDBC 4.1
canalización de cliente XRender para Java 2D
Cree nuevas API de plataforma para funciones de gráficos 6u10
Aspecto y tacto de Nimbus para Swing
Componente Swing JLayer
Sintetizador de sonido Gervill [NUEVO]
web Actualizar la pila XML
MBeans mejorados de mgmt [ACTUALIZADO]
Ejemplos de código para nuevas funciones en Java 1.7
+1 Código para los ejemplos de código difíciles de encontrar. ¿Puedes agregar más?
Zasz
3
La inferencia de tipo mejorada parece ser una copia triste de C # con un cambio extraño donde se escribe una referencia, pero el objeto no es ?? ¡Qué comedia!
Zasz
1
@Zasz, sí claro, está en mejora continua
didxga
Entonces la pregunta es OP, ¿cuál es tu opinión? ¿Son estas mejoras solo del lado de la productividad o realmente pueden mejorar el rendimiento de los programas? Si no cambia el código de bytes, ¿se pueden utilizar nuevas mejoras de idioma con el código de bytes marcado como 1.5?
Dmitriy R
Aunque no es una mejora del lenguaje, existe la nueva Objectsclase, con métodos estáticos para evitar tener que buscar referencias nulas. Ejemplo: se if (obj != null && obj.equals(anotherObj))convierte enif (Objects.equals(obj, anotherObj))
Carcamano
13
Nueva función de Java Standard Edition (JSE 7)
Decora 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.
Cadenas en la instrucción switch :
En el JDK 7, podemos usar un objeto String en la expresión de una declaración de cambio. El compilador de Java genera códigos de bytes generalmente más eficientes a partir de declaraciones de conmutación que utilizan objetos String que a partir de declaraciones encadenadas if-then-else.
Inferencia de tipo para instancia genérica:
Podemos reemplazar los argumentos de tipo requeridos 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 paréntesis angulares se llama informalmente diamante. Java SE 7 admite la inferencia de tipo limitada para la creación de instancias genéricas; solo puede usar la inferencia de tipos si el tipo parametrizado del constructor es obvio por el contexto. Por ejemplo, el siguiente ejemplo no se compila:
List<String> l =newArrayList<>();
l.add("A");
l.addAll(newArrayList<>());
Detectar varios tipos de excepciones y volver a generar excepciones con la verificación de tipo 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ódigos. Considere el siguiente código, que contiene código duplicado en cada uno de los bloques de captura:
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 versiones posteriores, elimina el código duplicado:
La cláusula catch especifica los tipos de excepciones que puede manejar el bloque, y cada tipo de excepción se separa con una barra vertical (|).
El paquete java.nio.file
El java.nio.filepaquete 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.
¡Al punto! Los diez mejores resultados de búsqueda de Google para " características de Java " devuelven la lista (inútil):Simple, Object-Oriented, Portable, Platform independent, Secured...
FYI, esta es una buena presentación pero bastante antigua y algo desactualizada.
Alex Miller
Recibí una página de error en hebreo cuando probé este enlace. ¿Hay una copia más actualizada en alguna parte?
Simon Nickerson
1
Cambios de idioma :
-ProjectCoin(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 recién agregadas de JAVA 7, la explicación es muy clara con los posibles pequeños ejemplos para cada característica:
La siguiente lista contiene enlaces a las páginas de mejoras en Java SE 7.
Swing
IO and New IO
NetworkingSecurityConcurrencyUtilitiesRichInternetApplications(RIA)/DeploymentRequesting and CustomizingAppletDecoration in Dragg able AppletsEmbedding JNLP File in AppletTagDeploying without CodebaseHandlingAppletInitializationStatus with EventHandlersJava2DJava XML – JAXP, JAXB, and JAX-WS
Internationalization
java.lang PackageMultithreadedCustomClassLoaders in Java SE 7JavaProgrammingLanguageBinaryLiteralsStrings in switchStatementsThetry-with-resources StatementCatchingMultipleExceptionTypes and RethrowingExceptions with ImprovedTypeCheckingUnderscores in NumericLiteralsTypeInferenceforGenericInstanceCreationImprovedCompilerWarnings and ErrorsWhenUsingNon-ReifiableFormalParameters with VarargsMethodsJavaVirtualMachine(JVM)JavaVirtualMachineSupportforNon-JavaLanguagesGarbage-FirstCollectorJavaHotSpotVirtualMachinePerformanceEnhancements
JDBC
Respuestas:
Características y mejoras de Java SE 7 de las notas de la versión de JDK 7
Este es el resumen de las nuevas funciones de Java 7 de la página de funciones de OpenJDK 7 :
Ejemplos de código para nuevas funciones en Java 1.7
Declaración de prueba con recursos
esta:
se convierte en:
Puede declarar más de un recurso para cerrar:
Guiones bajos en literales numéricos
Cuerdas en interruptor
Literales binarios
Inferencia de tipo mejorada para la creación de instancias genéricas
se convierte en:
Captura de excepciones múltiples
esta:
se convierte en:
SafeVarargs
esta:
se convierte en:
fuente
Objects
clase, con métodos estáticos para evitar tener que buscar referencias nulas. Ejemplo: seif (obj != null && obj.equals(anotherObj))
convierte enif (Objects.equals(obj, anotherObj))
Nueva función de Java Standard Edition (JSE 7)
Decora 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.
Cadenas en la instrucción switch :
En el JDK 7, podemos usar un objeto String en la expresión de una declaración de cambio. El compilador de Java genera códigos de bytes generalmente más eficientes a partir de declaraciones de conmutación que utilizan objetos String que a partir de declaraciones encadenadas if-then-else.
Inferencia de tipo para instancia genérica:
Podemos reemplazar los argumentos de tipo requeridos 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 paréntesis angulares se llama informalmente diamante. Java SE 7 admite la inferencia de tipo limitada para la creación de instancias genéricas; solo puede usar la inferencia de tipos si el tipo parametrizado del constructor es obvio por el contexto. Por ejemplo, el siguiente ejemplo no se compila:
En comparación, el siguiente ejemplo se compila:
Detectar varios tipos de excepciones y volver a generar excepciones con la verificación de tipo 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ódigos. Considere el siguiente código, que contiene código duplicado en cada uno de los bloques de captura:
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 versiones posteriores, elimina el código duplicado:
La cláusula catch especifica los tipos de excepciones que puede manejar el bloque, y cada tipo de excepción se separa con una barra vertical (|).
El paquete java.nio.file
El
java.nio.file
paquete 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/
fuente
Mejoras en el lenguaje de programación Java @ Java7
Referencia oficial Referencia
oficial con referencia wiki java8
fuente
Simple, Object-Oriented, Portable, Platform independent, Secured...
Además de lo que dijo John Skeet, aquí hay una descripción general del proyecto Java 7 . Incluye una lista y descripción de las funciones.
Nota: JDK 7 se lanzó el 28 de julio de 2011, por lo que ahora debería ir al sitio oficial de Java SE .
fuente
Cambios de idioma :
Cambios en la biblioteca :
Cambios de plataforma :
A continuación se muestra el enlace que explica las características recién agregadas de JAVA 7, la explicación es muy clara con los posibles pequeños ejemplos para cada característica:
http://radar.oreilly.com/2011/09/java7-features.html
fuente
int val 12_15; long phoneNo = 01917_999_720L;
fuente
Creo que ForkJoinPool y la mejora relacionada con Executor Framework es una adición importante en Java 7.
fuente
La siguiente lista contiene enlaces a las páginas de mejoras en Java SE 7.
Referencia 1 Referencia 2
fuente