Entradas

Mostrando las entradas con la etiqueta java

¿Qué son los Virtual Threads ?

Imagen
Ya se ha leído "Virtual Threads" por aquí y por allá desde Java 19, pero ¿realmente, qué son? En este post trataré de explicar su definición, por qué deberíamos usarlos y cómo podríamos ir cambiando nuestros proyectos a los Virtual Threads. Vamos a ello

Conociendo las Expresionas Lambdas: desde lo simple hasta lo avanzado.

Imagen
Veamos las expresiones Lambda, desde lo simple hasta lo complejo, para saber cómo aplicarlo y por qué aplicarlo. Vamos

Liferay 7.2: Preparando nuestro entorno de desarrollo con Eclipse

Imagen
Comenzaremos una serie de vídeos (adicional a la de Jakarta EE 8) para aprender a desarrollar con Liferay 7.2 En este vídeo veremos cómo configurar nuestro Eclipse IDE junto con nuestro Liferay 7.2.

Jakarta EE 8 | JSF: Validación básica con JSF

Imagen
Seguimos con los vídeos de JSF. Ahora veremos cómo validar unos campos en JSF: que no sea blanco que sea un campo email. Sin utilizar algún widget de Javascript, y sin agregar mucho más código. Finalmente, seguiremos teniendo un .war totalmente liviano. Si gustó el vídeo dale like ; si te es útil, compártelo .. es gratis.

Inicializadores en Java

Imagen
La inicialización es el asignar un valor inicial cuando se declara una variable. Esto se puede poner en los atributos de las clases: //... public class OrdenCompra{ private java.util.Date fecha=new java.util.Date(); //... Este ejemplo clásico, significa que cuando se instancie un nuevo objeto de OrdenCompra se le asignará un valor inicial (la fecha y hora actual) a la propiedad fecha . De eso estamos de acuerdo todos. Pero un inicializador va más allá de una simple asignación en tiempo de ejecución.

Probando NetBeans 11 en Ubuntu Linux con Corretto 11

Imagen
Acabo de bajar Apache NetBeans 11 , y en este vídeo muestro (sin pruebas anteriores) cómo ejecuto mi IDE favorito. Ya tenía instalado Corretto 11 , y simplemente descomprimí el IDE y lo ejecuté.

Midiendo el rendimiento con JMH - Java Microbenchmark Harness

Imagen
JMH es una herramienta tipo arnés de Java que permite medir el rendimiento en la construcción, ejecución, y análisis de aplicaciones hechas Java y otros lenguajes hechos para JVM El proyecto se encuentra aquí: http://openjdk.java.net/projects/code-tools/jmh/ En este post veremos un poco de su funcionamiento

Un vistazo a jshell: Read Eval Print Loop (REPL)

Imagen
Una de las novísimas características que tendrá Java 9, es la de permitir evaluar expresiones Java pero como rutinas. Me explico: Con JavaEE 7 se pueden crear cadenas y permitirlas evaluar y obtener resultados, pero con jshell, se podrán crear rutinas, con for, if, try/catch, import, etc y poderlas ejecutar como si fuera un Java dentro de otro java. Existe una implementación de Java REPL (Read-Eval-Print Loop) llamada Proyecto Kulla . Podemos ver una implementación en línea de este característica aquí mismo:

Java Web MVC - Sesión 01.01: Cargando un archivo

Imagen
Si vieron el vídeo y post anterior, habrán visto que propongo cargar la foto del usuario que se está registrando.. pero no aparece en el tutorial. Y si no lo han visto, ahora ya lo saben. Pues bien, este post es un anexo a la sesión anterior sobre Java Web MVC.

Snippet: Conversión de String a LocalDate y a Date, y viceversa

Imagen
Aquí dejo un snippet que me sirve y también les podrá ser de ayuda para manipular Cadenas con Fechas. Resulta que, por cosas de la vida, es necesario agregar días o meses a una fecha que fue ingresada en una cadena, y que debe ser guardada como tipo java.util.Date ¡A que no te pasa lo mismo! Pues bien, la manipulación de días, meses, semanas, etc es más efectivo y cómodo con el nuevo tipo de Java 8 llamado java.time.LocalDate como lo mencioné en un post anterior: Paquete java.time de Java 8: Fechas y Horas . En este snippet (fragmento de código) hice un pequeño ejemplo de cómo convertir desde una cadena, a un tipo java.time.LocalDate . Una vez en este tipo, se puede manipular las fechas como mayor se plazca, y luego se puede convertir a java.util.Date . La segunda parte del código es al revés: se tiene un objeto java.util.Date , y queremos convertirlo a java.time.LocalDate para poderlo manipular, y luego lo convertimos a cadena para mostrárselo al usuario. Si te

Java Web MVC - Sesión 01

Imagen
Con este tutorial comienzo una nueva serie en este humilde blog. Aprenderemos a conocer todas las funcionalidades de Java EE en una aplicación. En este primer post haremos una aplicación MVC básico, usando las siguientes tecnologías de Java EE7: JSP (para la capa de presentación) Servlet (para la controladora) EJB (Para el manejo del modelo) JPA (La persistencia de datos) La base de datos es indiferente, podemos usar PostgreSQL, MySQL, Oracle, etc. Pero para este ejemplo estoy usando Apache Derby.

Java cumple 20 años

Imagen
Celebramos 20 años desde que salió a la luz la primera versión de Java y puesta para uso público. Desde entonces más de 9 millones de desarrolladores de Java lo trabajan en la mayoría de las industrias. La comunidad Java constantemente está innovando y cambiando nuestros días normales.

Conociendo RegEx (Parte 1/2)

Imagen
Este post tiene por objetivo aprender un poco sobre las expresiones regulares. Conoceremos al menos lo más básico como para que uno pueda dar el examen de certificación, y - con la práctica y experiencia - pueda uno llegar a ser tan experto como este tipo: (Indios)

Maven: Crear app .jar ejecutable con bibliotecas dependientes

Imagen
Lo que me gusta de NetBeans es que - al usar su propia creación de proyectos basado en Apache Ant  - es que crea una carpeta llamada dist que tiene todo lo necesario para que pueda ser distribuido y ejecutado en cualquier computador que tenga JVM. Hace un tiempo hice un post que ampliaba esta funcionalidad para que al final quedara todo empaquetado en un archivo zip: Empaquetar una aplicación para distribuir, desde NetBeans . Ahora que estoy usando un poco más de Maven , noté que eso prepara los archivos como lo hacía con Ant. No los culpo... pero quiero hacer algo igual!.

Paquete java.time de Java8: Fechas y horas

Imagen
En este artículo veremos sobre un nuevo paquete que existe en Java 8, se trata del paqueta java.time . Este paquete es una extensión a las clases java.util.Date y java.util.Calendar que vemos un poco limitado para manejo de fechas, horas y localización.

Video: Expresiones Lambda con Java 8 en NetBeans 8

Imagen
Después de tiempo publico un vídeo sobre Java. Esta vez demostraré el uso de las expresiones Lambda usando NetBeans IDE 8, ya que éste permite corregir una expresión común Java a una expresión Lambda. Me he basado del tutorial " Lambda Expressions ". Allí podrán encontrar más explicación de esta nomenclatura. Enlace al vídeo:  http://youtu.be/An-VogqQBj0

Tutorial JSF 2.2 - Sesión 4: Facelets (Parte I)

Imagen
Los facelets es una declaración bastante ligera de declaración de páginas web. En los JSP, el lenguaje era Java dentro de los JSP, y estos fragmentos se llamaban scriptlets. En cambio, en JSF, se llama facelets. Los facelets son un tema extenso, así que - como no va a entrar todo en un post - lo haré por partes. No tengo idea de cuantas partes tomará, creo que serán algo de diez. Glup! Pero veremos todo lo que concierne al JSF 2.2, incluyendo al HTML5. Comencemos...

Configurando NetBeans con contenedores web / javaee

Imagen
Por la mala experiencia que tengo con los instaladores en Windows, prefiero que los aplicativos sean unos archivos que se puedan descomprimir. Si no hay más remedio que instalarlos, pues lo hago. NetBeans tiene una versión "portable" siendo el instalador un archivo .zip con todo el IDE dentro. Lo bueno de esto es que el mismo .zip puede ser ejecutado en cualquier plataforma que tenga instalado el JDK. (Ese es el gran motivo por lo que uso poco el Eclipse). Lo malo de esto es que no incluye los servidores Java EE. Es algo obvio el motivo, ya que el instalador nativo genera todos los archivos y configuraciones necesarias para que el IDE funcione.... en cambio un .zip solo contiene el contenido. Pero no hay de qué preocuparse, porque podemos configurar el NB con un Tomcat, GlassFish y demás servidores, sean nuevos, o existentes. Aquí hablaremos un poco de esto.

Java API JSON en Java EE 7 (JSR 353)

Imagen
El JSON es un formato bastante usado para el envío de datos por internet. Es más ligero que los XML, y es usado en el API de las redes sociales tales como Twitter , Google , Flickr , Facebook , etc. En Java, para poder procesar ( parsing ) un texto JSON, existen varias bibliotecas (revisar al pie de la página de http://json.org/json-es.html ). Personalmente me gusta el GSon de Google. Pero es tiempo que el mismo Java tenga incorporado su propio API para manejar JSON. En este post hablaremos un ejemplo de cómo consumir un JSON, usando otro ejemplo usado anteriormente.

¿Por valor o por referencia?

Imagen
Esta es una pregunta existencial para todo programador Java. Cada uno encuentra una respuesta satisfactoria. Pero ahora veremos, basándonos en el libro para Certificación SCJP 1.5 de Katty Sierra, sobre la respuesta correcta.