Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon No habrá más actualizaciones de seguridad para Java 7




Los usuarios de Oracle Java 7 no tendrán más actualizaciones de seguridad a partir de abril 2015, a menos que se concluya un acuerdo especial. Esto conlleva el riesgo de un gran número de usuarios de tener  una versión no compatible, a menos que se actualicen a Java 8.







Información de Java 7

Aviso de fin de las actualizaciones públicas de Java SE 7

A partir de abril de 2015, Oracle no publicará actualizaciones de Java SE 7 en sus sitios de descarga pública. Las descargas de Java SE 7 que se hayan publicado hasta esa fecha seguirán estando disponibles en la página de Archivos Java en Oracle Technology Network. Se recomienda tanto a los desarrolladores como a los usuarios finales que actualicen a las versiones más recientes de Java SE aún disponibles para descarga pública con el fin de continuar recibiendo actualizaciones públicas y mejoras de seguridad.

En enero proveedor PaaS Jelastic publicó un resumen de las diferentes versiones de Java que están en uso. Luego resulta que el 83% de los usuarios que siguen utilizando la versión Java 7. Java 6 ya está instalado en el 14% de los usuarios, mientras que la última versión de Java, Java 8, se encontró en sólo el 3% de los usuarios de Java. Al igual que las organizaciones de Microsoft Windows XP la oportunidad de continuar recibiendo actualizaciones mientras que el apoyo dejado para los consumidores, Oracle también lo permite.

Si mi sistema Windows tiene Java 7, ¿se actualiza a Java 7 o Java 8?

A partir de la versión de CPU de enero de 2015, los usuarios con la función de actualización automática activada serán migrados de Java 7 a Java 8.


Desarrolladores de aplicaciones Java

¿Dónde puedo conseguir información sobre cómo activar mi aplicación para Java 8?

Si crea o mantiene aplicaciones Java, dispone de información en Oracle Technology Network.
» Guía de adopción de JDK 8
» Compatibilidad de JDK 8
» Guía de solución de problemas de JDK 8



Funciones de Java 8

 A continuación se muestra un breve resumen de las mejoras que se incluyen en Java 8:

  • Métodos de extensión virtual y expresión lambda
    Una de las funciones destacables de Java SE 8 es la implantación de expresiones lambda y funciones adyacentes a la plataforma y el lenguaje de programación Java.
  • API de fecha y hora
    Esta nueva API permitirá a los administradores gestionar datos de fecha y hora de forma mucho más natural y fácil de comprender.
  • Motor de JavaScript Nashhorn
    Nueva implantación ligera de alto rendimiento del motor de JavaScript integrada en JDk y disponible en las aplicaciones Java mediante las API existentes.
  • Seguridad mejorada
    Sustitución de la lista de métodos sensibles al emisor mantenida a mano existente por un mecanismo que identifica con mayor precisión dichos métodos y permite detectar a los emisores de forma fiable.
Java 8 incorporará varias novedades siguiendo la tendencia de otros lenguajes como la incorporación de lambdas o closures o una demandada nueva API para el manejo de fechas entre otras muchas 
características más. La lista completa de novedades es bastante amplia, a continuación pondré lo que me ha parecido más destacable: 

  • Se añaden las expresiones lambda o closures y se adapta la API para usarlas en los sitios que se pueda.
  • Se definen nuevos perfiles compactos para dispositivos que no necesitan toda la API Java, esto es una alternativa a la modularización. Inicialmente la modularización era una característica que estaba planificada para Java 8 pero finalmente se ha aplazado a posteriores versiones.
  • Incluido nuevo motor de Javascript Nashorn que implementa ECMAscript 5.1 y es más rápido que su predecesor Rhino.
  • Eliminación de espacio de memoria Permanent Generation (PermGen) que pasa a llamarse Metaspace. Su tamaño será dinámico pero no evitará fugas de memoria.
  • Soporte para la creación de una máquina virtual menor a 3 MB.
  • Acceso mediante reflection a los nombres de los parámetros. Mejorará la legibilidad del código que use reflection y permitirá mejorar el soporte en los IDE.
  • Ordenación en java.util.Arrays de forma paralela.
  • Operaciones masivas sobre colecciones tales como filter/map/reduce (streams) de forma serializada o paralela.
  • Soporte de forma estándar para la codificación y decodificación Base64.
  • Nueva API para Date y Time.
  • Varias mejoras de seguridad.
  • Se incorporan en la máquina virtual Java HotSpot características que estaban en JRockit, convergiendo ambas máquinas virtuales. Se incorpora Mission Control.
  • Mejoras en JDBC la base para el acceso en bases de datos en Java.
  • Otras novedades.

Streams


Los streams no son un nuevo tipo de colección son una nueva forma de recorrer las colecciones distinta a los Iterator. La ventaja de los streams es que pueden procesarse de forma serializada o paralela y proporcionan un estilo de operaciones más funcionales. Un flujo consiste un una fuente (una colección), varias operaciones intermedias (de filtrado o transformación) y una operación final que produce un resultado (suma, cuenta...). Los streams son lazy de modo que las operaciones solo se realizan cuando se llama a la operación final, también son eficientes no necesitando en algunos casos procesar todos los elementos del stream para devolver el resultado final.

Tradicionalmente en la API de colecciones la iteración sobre los elementos debíamos proporcionarla de forma externa. Con Java 8 podemos expresarla de la siguiente forma.


int alturaMedia = personas.stream()
.mapToInt((Persona p) –> { return p.getAltura(); })
.average();

Lambda

Esta es una de las principales novedades y que más se estaba echando de menos en Java de otros lenguajes como Groovy o Python. Las expresiones lambda son funciones que no está asociadas a un determinado nombre y que pueden pasarse como argumento a otras funciones. Tienen el siguiente aspecto:


(Persona persona) –> { return persona.getAltura(); }


El uso de expresiones lambdas junto con el stream API proporciona a Java 8 características de programación funcional, pero sobre todo hace el código más sencillo, menos extenso, más expresivo y más legible. En las expresiones lambda de Java podemos seguir aprovechándonos de la compilación estática y del tipado fuerte.

Referencias de métodos


Todo el código desarrollado previamente a Java 8 no hace uso de las lambdas, pero con las referencias a métodos podemos usar esos métodos ya implementados como si se tratasen de funciones lambdas. Hay diferentes formas de hacer referencias a métodos:

  •  métodos estáticos
  •  un método de una instancia concreta
  •  un método de instancia de una instancia arbitraria de un tipo
  •  un constructor

// Método estático
Persona::compareAltura
// Método de una instancia concreta
persona::getAltura
// Método de instancia de una instancia arbitraria de un tipo
Persona::getAltura
// Constructor
Persona::new

Interfaces funcionales

Una interfaz funcional es aquella que solo tiene un método abstracto (sin implementación). Algunos ejemplos de interfaces funcionales son Runnable, ActionListener, Comparator y Callable. Para definir una interfaz funcional se puede usar la anotación @FunctionalInterface y pueden representarse con una expresión lambda. En el siguiente ejemplo puede apreciarse que con las interfaces funcionales y las lambdas podemos hacer lo mismo de forma más clara, menos verbosa y con código más legible.


Collections.sort(personas, new Comparator() {
public int compare(Persona p1, Persona p2) {
return p1.getAltura().compareTo(p2.getAltura());
}
});
 En Java 8 podemos hacer:

Collections.sort(personas, (Persona u1, Persona u2) -> {
p2.getAltura().compareTo(p2.getAltura())
});




 
 


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.