Cableado en Spring: @Autowired, @Resource y @Inject

Cableado en Spring: @Autowired, @Resource y @Inject

1. Información general Este artículo de Spring Framework demostrará el uso de anotaciones relacionadas con la inyección de dependencia, a saber, las anotaciones @Resource , @Inject y @Autowired . Estas anotaciones proporcionan a las clases una forma declarativa de resolver dependencias. Por ejemplo: @Autowired ArbitraryClass arbObject; en lugar de instanciarlos directamente (la forma imperativa), por ejemplo: ArbitraryClass arbObject = new ArbitraryClass(); Dos de las tres anotaciones pertenecen al paquete de extensión de Java: javax.annot

Lee mas

   Cómo matar un hilo de Java

Cómo matar un hilo de Java

1. Introducción En este breve artículo, cubriremos cómo detener un Thread en Java, lo cual no es tan simple ya que el método Thread.stop () está obsoleto. Como se explica en esta actualización de Oracle, stop () puede provocar la corrupción de los objetos monitoreados. 2. Usando una bandera Comencemos con una clase que crea e inicia un hilo. Esta t

Lee mas

   Creación de una anotación personalizada en Java

Creación de una anotación personalizada en Java

1. Introducción Las anotaciones de Java son un mecanismo para agregar información de metadatos a nuestro código fuente. Son una parte poderosa de Java y se agregaron en JDK5. Las anotaciones ofrecen una alternativa al uso de descriptores XML e interfaces de marcadores. Aunque podemos adjuntarlos a paquetes, clases, interfaces, métodos y campos, las anotaciones por sí mismas no tienen ningún efecto en la ejecución de un programa. En es

Lee mas

   Conversión de una lista en cadena en Java

Conversión de una lista en cadena en Java

1. Introducción En este artículo rápido, veremos cómo convertir una lista de elementos en una cadena . Esto puede resultar útil en determinados escenarios, como imprimir el contenido en la consola en un formato legible por humanos para su inspección / depuración. 2. Standard toString () en una lista Una de las formas más sencillas es simplemente llamar al método toString () en la Lista : @Test public void whenListToString_thenPrintDefault() { List intLIst = Arrays.asList(1,

Lee mas

   Guía de codificación / decodificación de URL de Java

Guía de codificación / decodificación de URL de Java

1. Introducción En pocas palabras, la codificación de URL traduce los caracteres especiales de la URL a una representación que se adhiere a la especificación y se puede entender e interpretar correctamente. En este artículo, nos centraremos en cómo codificar / decodificar la URL o los datos del formulario para que se adhiera a las especificaciones y se transmita a través de la red correctamente. 2. An

Lee mas

   Introducción a JAX-WS

Introducción a JAX-WS

1. Información general La API de Java para servicios web XML (JAX-WS) es una API estandarizada para crear y consumir servicios web SOAP (Protocolo simple de acceso a objetos). En este artículo, crearemos un servicio web SOAP y nos conectaremos a él mediante JAX-WS. 2. JABÓN SOAP es una especificación XML para enviar mensajes a través de una red. Los m

Lee mas

   Adjuntar valores a Java Enum

Adjuntar valores a Java Enum

1. Introducción El tipo de enumeración de Java proporciona una forma compatible con el lenguaje de crear y utilizar valores constantes. Al definir un conjunto finito de valores, la enumeración es más segura para los tipos que las variables literales constantes como String o int . Sin embargo, los valores de enumeración deben ser identificadores válidos y, por convención, se recomienda utilizar SCREAMING_SNAKE_CASE. Dadas

Lee mas

   Tutorial de Apache Maven

Tutorial de Apache Maven

1. Introducción La construcción de un proyecto de software generalmente consiste en tareas tales como descargar dependencias, colocar archivos jar adicionales en una ruta de clases, compilar el código fuente en código binario, ejecutar pruebas, empaquetar código compilado en artefactos implementables como archivos JAR, WAR y ZIP, y desplegar estos artefactos. a un

Lee mas

   Número de dígitos en un entero en Java

Número de dígitos en un entero en Java

1. Introducción En este tutorial rápido, exploraremos diferentes formas de obtener el número de dígitos en un entero en Java. También analizaremos esos diferentes métodos y averiguaremos qué algoritmo encajaría mejor en nuestra situación. 2. Número de dígitos en un entero Para los métodos discutidos aquí, solo estamos considerando números enteros positivos. Si esperamos

Lee mas

   Formas de iterar sobre una lista en Java

Formas de iterar sobre una lista en Java

1. Introducción Iterar los elementos de una lista es una de las tareas más comunes en un programa. En este tutorial, revisaremos diferentes formas de hacer esto en Java. Nos centraremos en recorrer la lista en orden, aunque ir al revés también es simple. 2. para Loop En primer lugar, repasemos algunas de las opciones de bucle. Co

Lee mas

   Guía de java.util.concurrent.Future

Guía de java.util.concurrent.Future

1. Información general En este artículo, aprenderemos sobre Future . Una interfaz que existe desde Java 1.5 y que puede ser bastante útil cuando se trabaja con llamadas asincrónicas y procesamiento concurrente. 2. Creando futuros En pocas palabras, la clase Future representa un resultado futuro de un cálculo asincrónico, un resultado que eventualmente aparecerá en Future después de que se complete el procesamiento. Veamos

Lee mas

   Descripción general de los tipos de cascada JPA / Hibernate

Descripción general de los tipos de cascada JPA / Hibernate

1. Introducción En este tutorial, discutiremos qué es la cascada en JPA / Hibernate. Luego, cubriremos los distintos tipos de cascada que están disponibles, junto con su semántica. 2. ¿Qué es la cascada? Las relaciones entre entidades a menudo dependen de la existencia de otra entidad, por ejemplo, la relación Persona - Dirección . Sin la

Lee mas

   Métodos estáticos y predeterminados en interfaces en Java

Métodos estáticos y predeterminados en interfaces en Java

1. Información general Java 8 trajo a la mesa algunas características nuevas, incluidas expresiones lambda, interfaces funcionales, referencias de métodos, flujos, métodos opcionales y estáticos y predeterminados en interfaces. Algunos de ellos ya se han tratado en este artículo. No obstante, los métodos estáticos y predeterminados en las interfaces merecen una mirada más profunda por sí mismos. En este

Lee mas

   Leer y escribir entradas de usuario en Java

Leer y escribir entradas de usuario en Java

1. Introducción En este tutorial rápido, demostraremos varias formas de usar una consola para la entrada y salida del usuario en Java . Echaremos un vistazo a algunos métodos de la clase Scanner para manejar la entrada, y luego mostraremos una salida simple usando System.out . Finalmente, veremos cómo usar la clase Console , disponible desde Java 6, tanto para la entrada como para la salida de la consola. 2.

Lee mas

   Introducción a Spring Batch

Introducción a Spring Batch

1. Introducción En este artículo, nos centraremos en una introducción práctica y centrada en el código de Spring Batch. Spring Batch es un marco de procesamiento diseñado para la ejecución robusta de trabajos. Es la versión actual 3.0, que admite Spring 4 y Java 8. También se adapta a JSR-352, que es una nueva especificación de Java para el procesamiento por lotes. A contin

Lee mas

   Comprensión de las pérdidas de memoria en Java

Comprensión de las pérdidas de memoria en Java

1. Introducción Uno de los principales beneficios de Java es la administración de memoria automatizada con la ayuda del recolector de basura integrado (o GC para abreviar). El GC se encarga implícitamente de asignar y liberar memoria y, por lo tanto, es capaz de manejar la mayoría de los problemas de pérdida de memoria. Si

Lee mas

   Una guía para las expresiones Cron

Una guía para las expresiones Cron

1. Información general En pocas palabras, cron es una utilidad básica disponible en sistemas basados ​​en Unix. Permite a los usuarios programar tareas para que se ejecuten periódicamente en una fecha / hora específicas. Y, naturalmente, es una gran herramienta para automatizar muchas ejecuciones de procesos que de otra manera requerirían la intervención humana. Cron se

Lee mas

   Excepciones marcadas y no marcadas en Java

Excepciones marcadas y no marcadas en Java

1. Información general Las excepciones de Java se dividen en dos categorías principales: excepciones marcadas y excepciones no marcadas . En este artículo, proporcionaremos algunos ejemplos de código sobre cómo usarlos. 2. Excepciones marcadas En general, las excepciones marcadas representan errores fuera del control del programa. Por

Lee mas

   Encontrar el máximo divisor común en Java

Encontrar el máximo divisor común en Java

1. Información general En matemáticas, el MCD de dos enteros, que no son cero, es el entero positivo más grande que divide cada uno de los enteros de manera uniforme. En este tutorial, veremos tres enfoques para encontrar el máximo divisor común (MCD) de dos números enteros. Además, veremos su implementación en Java. 2. Fue

Lee mas

   Guía para CompletableFuture

Guía para CompletableFuture

1. Introducción Este tutorial es una guía de la funcionalidad y los casos de uso de la clase CompletableFuture que se introdujo como una mejora de la API de simultaneidad de Java 8. 2. Computación asincrónica en Java Es difícil razonar sobre la computación asincrónica. Por lo general, queremos pensar en cualquier cálculo como una serie de pasos, pero en el caso del cálculo asincrónico, las acciones representadas como devoluciones de llamada tienden a estar dispersas en el código o profundamente anidadas entre sí . Las cosas e

Lee mas

   Guía rápida de los visores Spring Bean

Guía rápida de los visores Spring Bean

1. Información general En este tutorial rápido, aprenderá sobre los diferentes tipos de ámbitos de frijol en el marco de Spring. El alcance de un bean define el ciclo de vida y la visibilidad de ese bean en los contextos en los que se utiliza. La última versión del marco Spring define 6 tipos de ámbitos: único prototipo solicitud sesión solicitud websocket Los últimos cuatro ámbitos mencionados solicitud, sesión, aplicación y websocket solo están disponibles en una aplicación compatible con web. 2. Alcance Si

Lee mas

   Evite la comprobación de declaración nula en Java

Evite la comprobación de declaración nula en Java

1. Información general Generalmente, las variables, referencias y colecciones nulas son difíciles de manejar en código Java. No solo son difíciles de identificar, sino que también son complejos de tratar. De hecho, cualquier error al tratar con null no se puede identificar en tiempo de compilación y da como resultado una NullPointerException en tiempo de ejecución. En es

Lee mas

   Actuador de arranque de resorte

Actuador de arranque de resorte

1. Información general En este artículo, presentamos el actuador Spring Boot. Primero cubriremos los conceptos básicos, luego discutiremos en detalle qué está disponible en Spring Boot 2.x vs 1.x. Aprenderemos a usar, configurar y extender esta herramienta de monitoreo en Spring Boot 2.xy WebFlux, aprovechando el modelo de programación reactiva. Luego

Lee mas

   Caché de segundo nivel de hibernación

Caché de segundo nivel de hibernación

1. Información general Una de las ventajas de las capas de abstracción de bases de datos, como los marcos ORM (mapeo relacional de objetos), es su capacidad para almacenar en caché de forma transparente los datos recuperados del almacén subyacente. Esto ayuda a eliminar los costos de acceso a la base de datos para los datos de acceso frecuente. La

Lee mas

   Agregar un carácter a una cadena en una posición determinada

Agregar un carácter a una cadena en una posición determinada

1. Introducción En este tutorial rápido, demostraremos cómo agregar un carácter en cualquier posición dada en una cadena en Java . Presentaremos tres implementaciones de una función simple que toma el String original , un carácter y la posición donde necesitamos agregarlo. Dado que la clase String es final e inmutable, la función debería devolver una nueva String con el carácter agregado. 2. Usando

Lee mas

   Introducción a los servlets de Java

Introducción a los servlets de Java

1. Información general En este artículo, veremos un aspecto central del desarrollo web en Java: Servlets. 2. El servlet y el contenedor En pocas palabras, un Servlet es una clase que maneja solicitudes, las procesa y responde con una respuesta. Por ejemplo, podemos usar un Servlet para recopilar información de un usuario a través de un formulario HTML, consultar registros de una base de datos y crear páginas web de forma dinámica. Los

Lee mas

   JSON en Java

JSON en Java

Jackson Top Acabo de anunciar el nuevo curso Learn Spring , centrado en los fundamentos de Spring 5 y Spring Boot 2: >> VER EL CURSO 1. Información general Trabajar con datos JSON en Java puede ser fácil , pero, como casi todo en Java, hay muchas opciones y bibliotecas entre las que podemos elegir.

Lee mas

   Sobrecarga y anulación de métodos en Java

Sobrecarga y anulación de métodos en Java

1. Información general La sobrecarga y anulación de métodos son conceptos clave del lenguaje de programación Java y, como tales, merecen una mirada en profundidad. En este artículo, aprenderemos los conceptos básicos de estos conceptos y veremos en qué situaciones pueden resultar útiles. 2. Sobreca

Lee mas

   Introducción a las propiedades de Java

Introducción a las propiedades de Java

1. Información general La mayoría de las aplicaciones Java necesitan usar propiedades en algún momento, generalmente para almacenar parámetros simples como pares clave-valor, fuera del código compilado. Y así, el lenguaje tiene soporte de primera clase para propiedades, java.util.Properties , una clase de utilidad diseñada para manejar este tipo de archivos de configuración. Eso es

Lee mas

   Una guía sencilla para la agrupación de conexiones en Java

Una guía sencilla para la agrupación de conexiones en Java

1. Información general La agrupación de conexiones es un patrón de acceso a datos bien conocido, cuyo objetivo principal es reducir la sobrecarga involucrada en la realización de conexiones de base de datos y operaciones de base de datos de lectura / escritura. En pocas palabras, un grupo de conexiones es, en el nivel más básico, una implementación de caché de conexión de base de datos , que se puede configurar para adaptarse a requisitos específicos. En este

Lee mas

   Conceptos básicos de validación de Java Bean

Conceptos básicos de validación de Java Bean

1. Información general En este tutorial rápido, cubrimos los conceptos básicos de la validación de un bean Java con el marco estándar: JSR 380, también conocido como Bean Validation 2.0 . Validar la entrada del usuario es un requisito muy común en la mayoría de las aplicaciones. Y el marco de Java Bean Validation se ha convertido en el estándar de facto para manejar este tipo de lógica. 2. JSR 3

Lee mas

   Tutorial de anotación de muchos a muchos de Hibernate

Tutorial de anotación de muchos a muchos de Hibernate

1. Introducción En este tutorial rápido, veremos rápidamente cómo se puede usar la anotación @ManyToMany para especificar este tipo de relaciones en Hibernate. 2. Un ejemplo típico Comencemos con un diagrama de relación de entidades simple, que muestra la asociación de muchos a muchos entre dos entidades empleado y proyecto: En este escenario, cualquier empleado puede asignarse a varios proyectos y un proyecto puede tener varios empleados trabajando para él, lo que lleva a una asociación de varios a varios entre los dos. Tenemos

Lee mas

   Uso del operador Not en condiciones If en Java

Uso del operador Not en condiciones If en Java

1. Introducción En las declaraciones if-else de Java, podemos realizar una determinada acción cuando una expresión es verdadera y una alternativa cuando es falsa . En este tutorial, aprenderemos cómo invertir la lógica usando el operador not . 2. La declaración if-else Comencemos con una simple declaración if-else : boolean isValid = true; if (isValid) { System.out.pri

Lee mas

   Prueba una API REST con curl

Prueba una API REST con curl

1. Información general Este tutorial ofrece una breve descripción general de cómo probar una API REST con curl. curl es una herramienta de línea de comandos para transferir datos y admite aproximadamente 22 protocolos, incluido HTTP. Esta combinación la convierte en una muy buena herramienta ad-hoc para probar nuestros servicios REST. 2.

Lee mas

   Convertir fecha a LocalDate o LocalDateTime y viceversa

Convertir fecha a LocalDate o LocalDateTime y viceversa

1. Información general Comenzando con Java 8, tenemos una nueva API de fecha: java.time . Sin embargo, a veces todavía necesitamos realizar conversiones entre las API nuevas y antiguas, y trabajar con representaciones de fechas de ambas. 2. Conversión de java.util.Date en java.time.LocalDate Comencemos por convertir la antigua representación de fecha a la nueva. Aq

Lee mas

   La anotación Spring @Qualifier

La anotación Spring @Qualifier

1. Información general En este artículo, exploraremos en qué nos puede ayudar la anotación @Qualifier , qué problemas resuelve y cómo usarlo. También explicaremos en qué se diferencia de la anotación @Primary y del cableado automático por nombre. 2. Necesidad de desambiguación del cableado automático La anotación @Autowired es una excelente manera de hacer explícita la necesidad de inyectar una dependencia en Spring. Y aunque es ú

Lee mas

   Guía de la interfaz de cola de Java

Guía de la interfaz de cola de Java

1. Introducción En este tutorial, discutiremos la interfaz de cola de Java . Primero, echaremos un vistazo a lo que hace una cola y algunos de sus métodos principales . A continuación, profundizaremos en una serie de implementaciones que Java proporciona como estándar. Por último, hablaremos sobre la seguridad de los subprocesos antes de terminar con todo. 2.

Lee mas

   Introducción al uso de Thymeleaf en Spring

Introducción al uso de Thymeleaf en Spring

1. Introducción Thymeleaf es un motor de plantillas Java para procesar y crear HTML, XML, JavaScript, CSS y texto. En este artículo, discutiremos cómo usar Thymeleaf con Spring junto con algunos casos de uso básicos en la capa de vista de una aplicación Spring MVC. La biblioteca es extremadamente extensible y su capacidad natural de creación de plantillas garantiza que las plantillas se puedan crear prototipos sin un back-end, lo que hace que el desarrollo sea muy rápido en comparación con otros motores de plantillas populares como JSP. 2. Int

Lee mas

   Patrón abstracto de fábrica en Java

Patrón abstracto de fábrica en Java

1. Información general En este artículo, discutiremos el patrón de diseño de Abstract Factory. El libro Design Patterns: Elements of Reusable Object-Oriented Software afirma que una fábrica abstracta "proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas". En o

Lee mas

   Cómo copiar un archivo con Java

Cómo copiar un archivo con Java

1. Información general En este artículo, cubriremos formas comunes de copiar archivos en Java. Primero, usaremos las API estándar IO y NIO.2 , y dos bibliotecas externas: commons-io y guava. 2. API IO (antes de JDK7) En primer lugar, para copiar un archivo con la API java.io , debemos abrir una secuencia, recorrer el contenido y escribirlo en otra secuencia: @Test public void givenIoAPI_whenCopied_thenCopyExistsWithSameContents() throws IOException { File copied = new File("src/test/resources/copiedWithIo.txt

Lee mas

   Dividir una cadena en Java

Dividir una cadena en Java

1. Introducción Dividir cuerdas es una operación muy frecuente; este tutorial rápido se centra en algunas de las API que podemos usar para hacer esto simplemente en Java. 2. String.split () Comencemos con la biblioteca principal, la clase String en sí misma ofrece un método split () , que es muy conveniente y suficiente para la mayoría de los escenarios. Simpl

Lee mas

   La estructura de datos de Trie en Java

La estructura de datos de Trie en Java

1. Información general Las estructuras de datos representan un activo crucial en la programación de computadoras, y saber cuándo y por qué usarlas es muy importante. Este artículo es una breve introducción a la estructura de datos trie (pronunciado "try"), su implementación y análisis de complejidad. 2. Pru

Lee mas

   Primavera con Maven

Primavera con Maven

Tabla de contenido Visión general Dependencias básicas de Spring con Maven Persistencia primaveral con Maven Spring MVC con Maven Spring Security con Maven Prueba de primavera con Maven Usando hitos Usar instantáneas Conclusión 1. Información general Este tutorial ilustra cómo configurar las dependencias de Spring a través de Maven . Los úl

Lee mas

   Una guía rápida de Spring @Value

Una guía rápida de Spring @Value

1. Información general En este tutorial rápido, vamos a echar un vistazo a la anotación de @Value Spring. Esta anotación se puede usar para inyectar valores en campos en beans administrados por Spring, y se puede aplicar a nivel de parámetro de campo o constructor / método. 2. Configuración de la aplicación Para describir los diferentes tipos de uso de esta anotación, necesitamos configurar una clase de configuración de aplicación Spring simple. Naturalme

Lee mas

   Composición, agregación y asociación en Java

Composición, agregación y asociación en Java

1. Introducción Los objetos tienen relaciones entre ellos, tanto en la vida real como en la programación. A veces es difícil comprender o implementar estas relaciones. En este tutorial, nos centraremos en la versión de Java de tres tipos de relaciones que a veces se mezclan fácilmente: composición, agregación y asociación. 2. Com

Lee mas

   Compruebe si dos cadenas son anagramas en Java

Compruebe si dos cadenas son anagramas en Java

1. Información general Según Wikipedia, un anagrama es una palabra o frase formada reordenando las letras de una palabra o frase diferente. Podemos generalizar esto en el procesamiento de cadenas diciendo que un anagrama de una cadena es otra cadena con exactamente la misma cantidad de cada carácter, en cualquier orden . E

Lee mas

   Concurrencia de Java

Concurrencia de Java

Conceptos básicos de la concurrencia de Java Descripción general de java.util.concurrent Guía para la palabra clave sincronizada en Java Guía de palabras clave volátiles en Java Guía de java.util.concurrent.Future Introducción a ThreadLocal en Java Ciclo de vida de un hilo en Java Cómo matar un hilo de Java Introducción a los grupos de subprocesos en Java Implementar un ejecutable frente a extender un hilo esperar y notificar () Métodos en Java Ejecutable frente a invocable en Java Diferencia entre esperar y dormir en Java El método Thread.join () en

Lee mas

   Eliminar o reemplazar parte de una cadena en Java

Eliminar o reemplazar parte de una cadena en Java

1. Información general En este tutorial, veremos varios medios para eliminar o reemplazar parte de una cadena en Java. Exploraremos eliminar y / o reemplazar una subcadena usando una API String , luego usando una API StringBuilder y finalmente usando la clase StringUtils de la biblioteca Apache Commons.

Lee mas

   Introducción al algoritmo Minimax con una implementación de Java

Introducción al algoritmo Minimax con una implementación de Java

1. Información general En este artículo, analizaremos el algoritmo Minimax y sus aplicaciones en IA. Como es un algoritmo de teoría de juegos, implementaremos un juego simple usándolo. También discutiremos las ventajas de usar el algoritmo y veremos cómo se puede mejorar. 2. Introducción Minimax es un algoritmo de toma de decisiones, generalmente utilizado en juegos de dos jugadores por turnos . El obj

Lee mas

   Prueba en Spring Boot

Prueba en Spring Boot

1. Información general En este tutorial, veremos cómo escribir pruebas utilizando el soporte del marco en Spring Boot. Cubriremos las pruebas unitarias que se pueden ejecutar de forma aislada, así como las pruebas de integración que arrancarán el contexto de Spring antes de ejecutar las pruebas. Si

Lee mas

   BigDecimal y BigInteger en Java

BigDecimal y BigInteger en Java

1. Información general En este tutorial, demostraremos BigDecimal y las clases BigInteger . Describiremos los dos tipos de datos, sus características y sus escenarios de uso. También cubriremos brevemente las diversas operaciones que utilizan las dos clases. 2. BigDecimal BigDecimal representa un número decimal con signo de precisión arbitraria inmutable . Está

Lee mas

   Guía del Framework Fork / Join en Java

Guía del Framework Fork / Join en Java

1. Información general El marco de bifurcación / unión se presentó en Java 7. Proporciona herramientas para ayudar a acelerar el procesamiento paralelo al intentar utilizar todos los núcleos de procesador disponibles, lo que se logra mediante un enfoque de dividir y conquistar . En la práctica, esto significa que el marco primero se "bifurca" , dividiendo recursivamente la tarea en subtareas independientes más pequeñas hasta que sean lo suficientemente simples como para ejecutarse de forma asincrónica. Después

Lee mas

   Ejemplos prácticos de Java de la notación Big O

Ejemplos prácticos de Java de la notación Big O

1. Información general En este tutorial, hablaremos sobre lo que significa Big O Notation. Revisaremos algunos ejemplos para investigar su efecto en el tiempo de ejecución de su código. 2. La intuición de la notación Big O A menudo escuchamos el desempeño de un algoritmo descrito usando Big O Notation. El e

Lee mas

   Convertir String a JsonObject con Gson

Convertir String a JsonObject con Gson

1. Información general Cuando trabajamos con JSON en Java usando la biblioteca Gson, tenemos varias opciones a nuestra disposición para convertir JSON sin procesar en otras clases o estructuras de datos con las que podemos trabajar más fácilmente. Por ejemplo, podemos convertir cadenas JSON en un mapa o crear una clase personalizada con asignaciones. A

Lee mas

   Introducción a ThreadLocal en Java

Introducción a ThreadLocal en Java

1. Información general En este artículo, veremos la construcción ThreadLocal del paquete java.lang . Esto nos da la capacidad de almacenar datos individualmente para el hilo actual y simplemente envolverlos dentro de un tipo especial de objeto. 2. API ThreadLocal La construcción TheadLocal nos permite almacenar datos que serán accesibles solo por un hilo específico . Diga

Lee mas

   Una guía para ConcurrentMap

Una guía para ConcurrentMap

1. Información general Los mapas son, naturalmente, uno de los estilos más extendidos de la colección de Java. Y, lo que es más importante, HashMap no es una implementación segura para subprocesos, mientras que Hashtable proporciona seguridad para subprocesos al sincronizar operaciones. Aunque Hashtable es seguro para subprocesos, no es muy eficiente. Otro

Lee mas

   Expresiones regulares \ sy \ s + en Java

Expresiones regulares \ sy \ s + en Java

1. Información general La sustitución de cadenas es una operación estándar cuando procesamos cadenas en Java. Gracias al práctico método replaceAll () en la clase String , podemos realizar fácilmente la sustitución de cadenas con expresiones regulares. Sin embargo, a veces las expresiones puede ser confuso, por ejemplo, \ s y \ s +. En est

Lee mas

   Herencia y composición (relación Is-a vs Has-a) en Java

Herencia y composición (relación Is-a vs Has-a) en Java

1. Información general La herencia y la composición, junto con la abstracción, la encapsulación y el polimorfismo, son piedras angulares de la programación orientada a objetos (OOP). En este tutorial, cubriremos los conceptos básicos de herencia y composición, y nos enfocaremos fuertemente en detectar las diferencias entre los dos tipos de relaciones. 2. Co

Lee mas

   Una guía para la API de expresiones regulares de Java

Una guía para la API de expresiones regulares de Java

1. Información general En este artículo, discutiremos la API de Java Regex y cómo se pueden usar las expresiones regulares en el lenguaje de programación Java. En el mundo de las expresiones regulares, hay muchos sabores diferentes para elegir, como grep, Perl, Python, PHP, awk y muchos más. Esto significa que una expresión regular que funciona en un lenguaje de programación puede no funcionar en otro. La sin

Lee mas

   Formateo de números en Java

Formateo de números en Java

1. Información general En este tutorial, veremos diferentes enfoques para el formato de números en Java y cómo implementarlos. 2. Formato de número básico con formato de cadena # El método de formato String # es muy útil para formatear números. El método toma dos argumentos. El primer argumento describe el patrón de cuántos lugares decimales queremos ver, y el segundo argumento es el valor dado: double value = 4.2352989244d

Lee mas

   Manejo de errores para REST con Spring

Manejo de errores para REST con Spring

DESCANSO Arriba Acabo de anunciar el nuevo curso Learn Spring , centrado en los fundamentos de Spring 5 y Spring Boot 2: >> VER EL CURSO 1. Información general Este tutorial ilustrará cómo implementar el manejo de excepciones con Spring para una API REST. También obtendremos una descripción general histórica y veremos qué nuevas opciones introdujeron las diferentes versiones. Antes

Lee mas

   Carga ansiosa / perezosa en hibernación

Carga ansiosa / perezosa en hibernación

Top de persistencia Acabo de anunciar el nuevo curso Learn Spring , centrado en los fundamentos de Spring 5 y Spring Boot 2: >> VER EL CURSO 1. Introducción Cuando se trabaja con un ORM, la búsqueda / carga de datos se puede clasificar en dos tipos: ansiosos y perezosos. En este artículo rápido, vamos a señalar las diferencias y mostrar que se pueden usar en Hibernate. 2.

Lee mas

   Descargar un archivo desde una URL en Java

Descargar un archivo desde una URL en Java

1. Introducción En este tutorial, veremos varios métodos que podemos usar para descargar un archivo. Cubriremos ejemplos que van desde el uso básico de Java IO hasta el paquete NIO y algunas bibliotecas comunes como Async Http Client y Apache Commons IO. Finalmente, hablaremos sobre cómo podemos reanudar una descarga si nuestra conexión falla antes de que se lea todo el archivo. 2.

Lee mas

   La excepción Tomcat java.net.BindException: Error de dirección ya en uso en Java

La excepción Tomcat java.net.BindException: Error de dirección ya en uso en Java

1. Información general En este tutorial rápido, veremos qué causa el error común de java.net.BindingException: Dirección ya en uso y cómo podemos solucionarlo. 2. ¿Cuándo ocurre el error? Como sabemos, el servidor Apache Tomcat, por defecto, usa el puerto 8080. Los números de puerto van de 0 a 65535, sin embargo, un puerto solo puede ser ocupado por una sola aplicación en cualquier momento . La excep

Lee mas

   ¿Qué es Thread-Safety y cómo lograrlo?

¿Qué es Thread-Safety y cómo lograrlo?

1. Información general Java admite subprocesos múltiples listos para usar. Esto significa que al ejecutar código de bytes simultáneamente en subprocesos de trabajo separados, la JVM es capaz de mejorar el rendimiento de la aplicación. Aunque el subproceso múltiple es una característica poderosa, tiene un precio. En ent

Lee mas

   ¿Cuándo lanza Java el error ExceptionInInitializerError?

¿Cuándo lanza Java el error ExceptionInInitializerError?

1. Información general En este tutorial rápido, veremos qué hace que Java lance una instancia de la excepción ExceptionInInitializerError . Empezaremos con un poco de teoría. Luego veremos algunos ejemplos de esta excepción en la práctica. 2. El error ExceptionInInitializerError El ExceptionInInitializerError indica que una excepción inesperado se ha producido en un inicializador estático. Básicame

Lee mas

   Configuración de la versión de Java en Maven

Configuración de la versión de Java en Maven

1. Información general En este tutorial rápido, mostraremos cómo configurar la versión de Java en Maven . Antes de seguir adelante, podemos verificar la versión JDK predeterminada de Maven . La ejecución del comando mvn -v mostrará la versión de Java en la que se ejecuta Maven. 2. Utilice el complemento del compilador Podemos especificar la versión de Java deseada en el complemento del compilador. 2.1. Co

Lee mas

   El StackOverflowError en Java

El StackOverflowError en Java

1. Información general StackOverflowError puede ser molesto para los desarrolladores de Java, ya que es uno de los errores de tiempo de ejecución más comunes que podemos encontrar. En este artículo, veremos cómo puede ocurrir este error al observar una variedad de ejemplos de código y cómo podemos solucionarlo. 2. St

Lee mas

   Operadores bit a bit de Java

Operadores bit a bit de Java

1. Información general Los operadores se utilizan en el lenguaje Java para operar con datos y variables. En este tutorial, exploraremos los operadores bit a bit y cómo funcionan en Java. 2. Operadores bit a bit Los operadores bit a bit funcionan con dígitos binarios o bits de valores de entrada. Po

Lee mas

   Una guía de la API de Java para WebSocket

Una guía de la API de Java para WebSocket

1. Información general WebSocket proporciona una alternativa a la limitación de la comunicación eficiente entre el servidor y el navegador web al proporcionar comunicaciones bidireccionales, full-duplex y en tiempo real entre el cliente y el servidor. El servidor puede enviar datos al cliente en cualquier momento. De

Lee mas

   Escaneo de componentes de resorte

Escaneo de componentes de resorte

1. Información general En este tutorial, cubriremos el escaneo de componentes en Spring. Cuando trabajamos con Spring, podemos anotar nuestras clases para convertirlas en Spring beans. Pero, además de eso, podemos decirle a Spring dónde buscar estas clases anotadas ya que no todas deben convertirse en beans en esta ejecución en particular. Po

Lee mas

   Guía de java.util.GregorianCalendar

Guía de java.util.GregorianCalendar

1. Introducción En este tutorial, vamos a echar un vistazo rápido a la clase GregorianCalendar . 2. Calendario Gregoriano GregorianCalendar es una implementación concreta de la clase abstracta java.util.Calendar . No es sorprendente que el calendario gregoriano sea el calendario civil más utilizado en el mundo. 2.

Lee mas

   Escáner de Java

Escáner de Java

1. Descripción general del escáner En este tutorial rápido, ilustraremos cómo usar la clase Java Scanner para leer la entrada, buscar y omitir patrones con diferentes delimitadores. 2. Escanear un archivo Primero, veamos cómo leer un archivo usando Scanner . En el siguiente ejemplo, leemos que un archivo contiene " Hola mundo " en tokens: @Test public void whenReadFileWithScanner_thenCorrect() throws IOException{ Scanner scanner = new Scanner(new File("test.txt")

Lee mas

   Matrices en Java: una guía de referencia

Matrices en Java: una guía de referencia

1. Introducción En este tutorial, profundizaremos en un concepto central en el lenguaje Java: matrices. Primero veremos qué es una matriz, luego cómo usarlos; en general, cubriremos cómo: Empiece con matrices Leer y escribir elementos de matrices Bucle sobre una matriz Transforme matrices en otros objetos como List o Streams Ordenar, buscar y combinar matrices 2. ¿Qu

Lee mas

   Obtener subcadena de cadena en Java

Obtener subcadena de cadena en Java

1. Información general En este tutorial rápido, nos centraremos en la funcionalidad de subcadena de Strings en Java. Usaremos principalmente los métodos de la clase String y pocos de la clase StringUtils de Apache Commons . En todos los siguientes ejemplos, usaremos esta cadena simple: String text = "Julia Evans was born on 25-09-1984. "

Lee mas

   Varargs en Java

Varargs en Java

1. Introducción Los varargs se introdujeron en Java 5 y proporcionan una forma abreviada de métodos que admiten una cantidad arbitraria de parámetros de un tipo. En este artículo, veremos cómo podemos usar esta característica principal de Java. 2. Antes de Varargs Antes de Java 5, siempre que queríamos pasar un número arbitrario de argumentos, teníamos que pasar todos los argumentos en una matriz o implementar N métodos (uno para cada parámetro adicional): public String format() { ... } public

Lee mas

   Spring Boot con Hibernate

Spring Boot con Hibernate

1. Información general En este artículo, veremos cómo usar Spring Boot con Hibernate. Construiremos una aplicación Spring Boot simple y veremos lo fácil que es integrarla con Hibernate. 2. Bootstrapping de la aplicación Usaremos Spring Initializr para arrancar nuestra aplicación Spring Boot. Para e

Lee mas

   Spring @Pathvariable Anotación

Spring @Pathvariable Anotación

1. Información general En este tutorial rápido, exploraremos la anotación @PathVariable de Spring . En pocas palabras, la anotación @PathVariable se puede usar para manejar variables de plantilla en la asignación de URI de solicitud y usarlas como parámetros de método. Veamos cómo usar @PathVariable y sus diversos atributos. 2. Un

Lee mas

   Creación de archivos PDF en Java

Creación de archivos PDF en Java

1. Introducción En este artículo rápido, nos centraremos en crear un documento PDF desde cero basado en la popular biblioteca iText y PdfBox. 2. Dependencias de Maven Echemos un vistazo a las dependencias de Maven, que deben incluirse en nuestro proyecto: com.itextpdf itextpdf 5.5.10 org.apache.pdf

Lee mas

   Ordenar una cadena alfabéticamente en Java

Ordenar una cadena alfabéticamente en Java

1. Información general En este tutorial, mostraremos cómo ordenar cadenas alfabéticamente. Puede haber muchas razones por las que nos gustaría hacerlo: una de ellas podría ser la validación si dos palabras están compuestas por el mismo conjunto de caracteres. De esa forma, verificaremos si son anagramas. 2. Or

Lee mas

   Guía rápida de controladores de resorte

Guía rápida de controladores de resorte

1. Introducción En este artículo nos centraremos en un concepto central en Spring MVC: Controladores. 2. Resumen Comencemos por dar un paso atrás y echar un vistazo al concepto de controlador frontal en la arquitectura típica de Spring Model View Controller . En un nivel muy alto, estas son las principales responsabilidades que estamos analizando: Intercepta solicitudes entrantes Convierte la carga útil de la solicitud en la estructura interna de los datos. Env

Lee mas

   Diferencias entre Oracle JDK y OpenJDK

Diferencias entre Oracle JDK y OpenJDK

1. Introducción En este artículo, exploraremos las diferencias entre Oracle Java Development Kit y OpenJDK. Primero echaremos un vistazo rápido a cada uno de ellos y luego haremos una comparación. Después de eso, veremos una lista de otras implementaciones de JDK. 2. Historial de Oracle JDK y Java SE JDK (Java Development Kit) es un entorno de desarrollo de software utilizado en la programación de la plataforma Java. Conti

Lee mas

   Cómo encontrar un elemento en una lista con Java

Cómo encontrar un elemento en una lista con Java

1. Información general Encontrar un elemento en una lista es una tarea muy común con la que nos encontramos como desarrolladores. En este tutorial rápido, cubriremos diferentes formas en las que podemos hacer esto con Java. 2. Configuración Primero comencemos definiendo un POJO de cliente : public class Customer { private int id; private String name; // getters/setters, custom hashcode/equals } Luego, una ArrayList de clientes: List customers = new ArrayList(); customers.add(

Lee mas

   Implementación de A * Pathfinding en Java

Implementación de A * Pathfinding en Java

1. Introducción Los algoritmos de búsqueda de caminos son técnicas para navegar por mapas , lo que nos permite encontrar una ruta entre dos puntos diferentes. Los diferentes algoritmos tienen diferentes pros y contras, a menudo en términos de la eficiencia del algoritmo y la eficiencia de la ruta que genera. 2.

Lee mas

   Semáforos en Java

Semáforos en Java

1. Información general En este tutorial rápido, exploraremos los conceptos básicos de semáforos y mutex en Java. 2. Semáforo Comenzaremos con java.util.concurrent.Semaphore. Podemos usar semáforos para limitar la cantidad de subprocesos concurrentes que acceden a un recurso específico. En el siguiente ejemplo, implementaremos una cola de inicio de sesión simple para limitar la cantidad de usuarios en el sistema: class LoginQueueUsingSemaphore { private Semaphore semaphore; public LoginQueueUsingSemaphore(int slotLimit) { semaphore = new Semaphore(slotLimit); } boolean tryLogin() { return se

Lee mas

   El patrón de adaptador en Java

El patrón de adaptador en Java

1. Información general En este tutorial rápido, veremos el patrón del Adaptador y su implementación de Java. 2. Patrón de adaptador Un patrón de adaptador actúa como un conector entre dos interfaces incompatibles que, de lo contrario, no se pueden conectar directamente. Un adaptador envuelve una clase existente con una nueva interfaz para que sea compatible con la interfaz del cliente. El mo

Lee mas

   Cómo encontrar JAVA_HOME

Cómo encontrar JAVA_HOME

1. Introducción En esta publicación rápida, aprenderemos cómo encontrar JAVA_HOME en Windows, Mac y Linux. Como todos sabemos, JAVA_HOME es una variable de entorno que usamos comúnmente para ubicar ejecutables java como java y javac . 2. Formas específicas de Windows para encontrar JAVA_HOME Si usamos Windows como sistema operativo, primero debemos abrir nuestra línea de comando ( cmd ) y escribir: echo %JAVA_HOME% Si JAVA_HOME está definido en nuestro entorno, entonces el comando anterior lo imprimirá. O podrí

Lee mas

   El Java HashMap bajo el capó

El Java HashMap bajo el capó

1. Información general En este artículo, vamos a explorar la implementación más popular de la interfaz de mapa del marco de colecciones de Java con más detalle, retomando donde lo dejó nuestro artículo de introducción. Antes de comenzar con la implementación, es importante señalar que las interfaces principales de la colección List y Set extienden Collection, pero Map no. En pocas

Lee mas

   Ocultación de variables y métodos en Java

Ocultación de variables y métodos en Java

1. Introducción En este tutorial, aprenderemos sobre la ocultación de variables y métodos en el lenguaje Java . Primero, entenderemos el concepto y el propósito de cada uno de estos escenarios. Después de eso, nos sumergiremos en los casos de uso y examinaremos diferentes ejemplos. 2. Ocultación variable La ocultación de variables ocurre cuando declaramos una propiedad en un ámbito local que tiene el mismo nombre que el que ya tenemos en el ámbito externo. Antes d

Lee mas

   Una guía para descansar asegurado

Una guía para descansar asegurado

Jackson Top Acabo de anunciar el nuevo curso Learn Spring , centrado en los fundamentos de Spring 5 y Spring Boot 2: >> VER EL CURSO 1. Introducción REST-secure fue diseñado para simplificar las pruebas y la validación de las API REST y está muy influenciado por las técnicas de prueba utilizadas en lenguajes dinámicos como Ruby y Groovy. La b

Lee mas

   Conectar Java a una base de datos MySQL

Conectar Java a una base de datos MySQL

Parte superior de Java Acabo de anunciar el nuevo curso Learn Spring , centrado en los fundamentos de Spring 5 y Spring Boot 2: >> VER EL CURSO 1. Información general Hay muchas formas en que podemos conectarnos a una base de datos MySQL desde Java y, en este tutorial, exploraremos varias opciones para ver cómo lograrlo.

Lee mas

   FileNotFoundException en Java

FileNotFoundException en Java

1. Introducción En este artículo, hablaremos sobre una excepción muy común en Java: FileNotFoundException . Cubriremos los casos en los que puede ocurrir, las posibles formas de tratarlo y algunos ejemplos. 2. ¿Cuándo se lanza la excepción? Como se indica en la documentación de la API de Java, esta excepción se puede lanzar cuando: Un archivo con el nombre de ruta especificada no no existe Un archivo con el nombre de ruta especificada hace existir , pero es inaccesible por alguna razón (por escrito solicitado un archivo de sólo lectura, o permisos no permiten acceder al archivo) 3. ¿C

Lee mas

   Trabajar con Microsoft Excel en Java

Trabajar con Microsoft Excel en Java

1. Introducción En este tutorial, demostraremos el uso de las API de Apache POI y JExcel para trabajar con hojas de cálculo de Excel . Ambas bibliotecas se pueden utilizar para leer, escribir y modificar dinámicamente el contenido de una hoja de cálculo de Excel y proporcionar una forma eficaz de integrar Microsoft Excel en una aplicación Java. 2.

Lee mas

   Preguntas y respuestas de la entrevista de cadena de Java

Preguntas y respuestas de la entrevista de cadena de Java

1. Introducción La clase String es una de las clases más utilizadas en Java, lo que llevó a los diseñadores de lenguajes a tratarla de forma especial. Este comportamiento especial lo convierte en uno de los temas más candentes en las entrevistas de Java. En este tutorial, repasaremos algunas de las preguntas de entrevista más comunes sobre String . 2. F

Lee mas

   Capturar un volcado de subprocesos de Java

Capturar un volcado de subprocesos de Java

1. Información general En este tutorial, discutiremos varias formas de capturar el volcado de subprocesos de una aplicación Java. Un volcado de subprocesos es una instantánea del estado de todos los subprocesos de un proceso Java . El estado de cada hilo se presenta con un seguimiento de pila, que muestra el contenido de la pila de un hilo. Un

Lee mas

   Introducción a SLF4J

Introducción a SLF4J

1. Información general Fachada de registro simple para Java (abreviado SLF4J): actúa como fachada para diferentes marcos de registro (por ejemplo, java.util.logging, logback, Log4j). Ofrece una API genérica que hace que el registro sea independiente de la implementación real. Esto permite que coexistan diferentes marcos de registro. Tam

Lee mas

   Libro de cocina de Mockito Verify

Libro de cocina de Mockito Verify

1. Información general Este libro de cocina ilustra cómo usar Mockito verify en una variedad de casos de uso. El formato del libro de cocina se centra en el ejemplo y es práctico: no se necesitan detalles ni explicaciones superfluos. Vamos a burlarnos de una implementación de lista simple : public class MyList extends AbstractList { @Override public String get(final int index) { return null; } @Override public int size() { return 0; } } 2. El

Lee mas

   Recursión en Java

Recursión en Java

1. Introducción En este artículo, nos centraremos en un concepto central en cualquier lenguaje de programación: la recursividad. Explicaremos las características de una función recursiva y mostraremos cómo usar la recursividad para resolver varios problemas en Java. 2. Comprender la recursividad 2.1. La

Lee mas

   Una guía para HashSet en Java

Una guía para HashSet en Java

1. Información general En este artículo, nos sumergiremos en HashSet. Es una de las implementaciones de Set más populares , así como una parte integral de Java Collections Framework. 2. Introducción a HashSet HashSet es una de las estructuras de datos fundamentales en la API de colecciones de Java . Rec

Lee mas