Tutoriales y Manuales
Entradas Mensuales
- ► 2021 (Total: 730 )
- ► 2020 (Total: 212 )
- ► 2019 (Total: 102 )
- ► 2018 (Total: 150 )
- ► 2017 (Total: 231 )
- ► 2016 (Total: 266 )
-
▼
2015
(Total:
445
)
-
▼
marzo
(Total:
16
)
- Estafados 15.000 alumnos por un artículo falso de ...
- Nueva versión de la herramienta Tinfoleak 1.5 con ...
- Guía de Seguridad en Aplicaciones para CISOs de OW...
- Saltarse el inicio de sesión en Windows y OSX con ...
- Apple no quiere antivirus en la App Store
- Millones de ordenadores vulnerables por culpa de l...
- El desbloquear constantemente tu móvil Android se ...
- No habrá más actualizaciones de seguridad para Java 7
- Fallo épico de Google: filtrados por error los dat...
- Descubren un grave fallo de seguridad en el SDK de...
- Tras 10 años cierra Google Code
- Virus usando Macros en ficheros XML maliciosos
- Investigadores del Proyecto Google Zero consiguen ...
- 0day en Adobe Flash Player: BEDEP usa anuncios de ...
- Mundo Hacker Day 2015: Madrid 28 y 29 abril
- La Wikipedia demanda a la NSA por espionaje masivo
-
▼
marzo
(Total:
16
)
- ► 2014 (Total: 185 )
- ► 2013 (Total: 100 )
- ► 2012 (Total: 8 )
- ► 2011 (Total: 7 )
Blogroll
Etiquetas
noticias
(
396
)
seguridad
(
336
)
privacidad
(
243
)
vulnerabilidad
(
191
)
software
(
183
)
ransomware
(
178
)
android
(
166
)
google
(
165
)
Malware
(
153
)
tutorial
(
153
)
Windows
(
149
)
manual
(
138
)
cve
(
134
)
hardware
(
130
)
linux
(
93
)
herramientas
(
70
)
ddos
(
63
)
hacking
(
63
)
Wifi
(
62
)
sysadmin
(
57
)
cifrado
(
56
)
WhatsApp
(
53
)
app
(
49
)
twitter
(
33
)
firmware
(
31
)
adobe
(
30
)
eventos
(
30
)
Networking
(
29
)
contraseñas
(
28
)
nvidia
(
27
)
antivirus
(
26
)
flash
(
26
)
office
(
26
)
ssd
(
25
)
cms
(
24
)
firefox
(
24
)
MAC
(
23
)
hack
(
22
)
programación
(
22
)
youtube
(
20
)
apache
(
18
)
juegos
(
18
)
javascript
(
17
)
SeguridadWireless
(
16
)
documental
(
16
)
exploit
(
16
)
multimedia
(
16
)
ssl
(
16
)
anonymous
(
15
)
Kernel
(
14
)
conferencia
(
14
)
Debugger
(
13
)
Forense
(
13
)
técnicas hacking
(
13
)
auditoría
(
12
)
lizard squad
(
12
)
delitos
(
11
)
Virtualización
(
10
)
metasploit
(
10
)
adamo
(
9
)
reversing
(
9
)
Ehn-Dev
(
7
)
Rootkit
(
7
)
antimalware
(
6
)
MAC Adress
(
5
)
oclHashcat
(
5
)
Entradas populares
-
-
Reportan la detección de una nueva "técnica" para recopilar credenciales de usuarios robadas abusando de las características de l...
-
¿Vale la pena seguir usando banda 2.4GHz o mejor usar sólo Banda 5GHz? Diferencias, ventajas y desventajasLa forma de conectarnos a Internet en nuestra casa suele ser la conectividad WiFi, por este motivo es tan importante tener un router WiFi...
martes, 24 de marzo de 2015


Publicado por
el-brujo


Editar entrada
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.
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.
» Guía de adopción de JDK 8
» Compatibilidad de JDK 8
» Guía de solución de problemas de JDK 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() {En Java 8 podemos hacer:
public int compare(Persona p1, Persona p2) {
return p1.getAltura().compareTo(p2.getAltura());
}
});
Collections.sort(personas, (Persona u1, Persona u2) -> {
p2.getAltura().compareTo(p2.getAltura())
});