T
TechChatterBox
Sign inGet started
AboutPrivacy PolicyRSS FeedContact
© 2026 TechChatterBox · Built for curious minds
Home/Java
Java

Java articles & tutorials

In-depth Java tutorials, Spring Boot guides, JVM internals, and best practices for backend developers.

58 stories

javaJun 13
1 min read

JDK 27 Rampdown Begins: G1 as Default GC, Post-Quantum TLS, and the OpenJDK AI Code Ban

JDK 27 locked its feature set in June 2026 with G1 as the default GC, post-quantum TLS 1.3, and a controversial ban on AI-generated code contributions.

H
hemant-kumar
0
securityJun 12
1 min read

Post-Quantum Cryptography Is No Longer Optional: A Developer's Migration Guide for 2026

NIST finalized three post-quantum standards in 2024 and adversaries are already stockpiling your encrypted traffic. Here's how to start migrating your apps now.

H
hemant-kumar
0
JavaMay 15
1 min read

MongoDB Sharding: The Mistake That Cost Us a Weekend

We sharded on the wrong key and spent a weekend firefighting. Here's exactly what went wrong and how we picked a better shard key.

H
hemant-kumar
0
JavaMay 15
1 min read

Hibernate Was Slowing Us Down. Here's What We Did About It.

We had N+1 queries everywhere and didn't know it until production fell over. Switching wasn't the answer — understanding the ORM was.

H
hemant-kumar
0
JavaApr 13
1 min read

Lombok – Reduce Boilerplate in Java

Lombok – Reduce Boilerplate in Java body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e50; } pr

H
hemant-kumar
0
JavaApr 13
1 min read

Building a Recommendation System in Spring Boot

Building a Recommendation System in Spring Boot body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { background: #2d2d2d

H
hemant-kumar
0
JavaApr 13
1 min read

Java Records in Functional Programming

Java Records in Functional Programming body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e50; }

H
hemant-kumar
0
JavaApr 13
1 min read

Java 25 Features (Preview) – What’s New in the Upcoming LTS Release

Java 25 Features (Preview) – What’s New in the Upcoming LTS Release body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333;

H
hemant-kumar
0
JavaApr 13
1 min read

Java 21 Features

Java 21 Features: The Complete Guide for Developers body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { colo

H
hemant-kumar
0
JavaApr 13
1 min read

Lombok vs Records: When to Use What?

Lombok vs Records: When to Use What? body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e50; } p

H
hemant-kumar
0
JavaApr 13
1 min read

Java Streams: A Modern Way to Process Data

Java Streams: A Modern Way to Process Data body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e5

H
hemant-kumar
0
JavaApr 13
1 min read

JBang – Scripting with Java Like Never Before

JBang – Scripting with Java Like Never Before body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #fdfdfd; color: #333; line-height: 1.7; margin: 2rem auto; padding: 0 1.5

H
hemant-kumar
0
JavaApr 13
1 min read

JBang vs JShell vs Kotlin Scripting

JBang vs JShell vs Kotlin Scripting body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; line-height: 1.7; color: #333; background: #fefefe; padding: 0 1.5rem; } h1, h2, h3 { color: #2c3e50;

H
hemant-kumar
0
JavaApr 13
1 min read

Java Streams: map() vs flatMap()

Java Streams: map() vs flatMap() body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e50; } pre {

H
hemant-kumar
0
JavaApr 13
1 min read

Java 17 Features

Java 17 Features: A Complete Guide for Developers body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color:

H
hemant-kumar
0
JavaApr 13
1 min read

Using OpenAI API in Spring Boot

Using OpenAI API in Spring Boot – Multi-Step Conversation body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2c3e50; line-height: 1.6; } h1, h2, h3 { color: #1a2

H
hemant-kumar
0
JavaApr 13
1 min read

Java with AI

Java with AI – How Java Developers Can Leverage Artificial Intelligence body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #333; line-hei

H
hemant-kumar
0
JavaApr 13
1 min read

Java 8 Features: The Evolution of Modern Java

Java 8 Features: The Evolution of Modern Java body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c

H
hemant-kumar
0
JavaApr 13
1 min read

Reactive Programming – with Project Reactor or RxJava

Reactive Programming – with Project Reactor or RxJava body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #333; line-height: 1.6; } h1, h2

H
hemant-kumar
0
JavaApr 13
1 min read

Java 11 Features: What Every Developer Should Know

Java 11 Features: What Every Developer Should Know body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color

H
hemant-kumar
0
JavaApr 13
1 min read

Building a Reactive REST API with Spring WebFlux and Project Reactor

Building a Reactive REST API with Spring WebFlux and Project Reactor body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #333; line-height

H
hemant-kumar
0
JavaApr 13
1 min read

Spring Boot with AI

Spring Boot with AI – Bringing Intelligence to Your Backend body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #333; line-height: 1.6; }

H
hemant-kumar
0
JavaApr 13
1 min read

Virtual Threads (Project Loom)

Virtual Threads (Project Loom) – Lightweight Concurrency in Java body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { ba

H
hemant-kumar
0
JavaApr 13
1 min read

Sentiment Analysis Using Hugging Face API in Spring Boot

Sentiment Analysis Using Hugging Face API in Spring Boot body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { background

H
hemant-kumar
0
JavaApr 13
1 min read

Voice & Chatbots – AI-Assisted Conversational Apps

Voice & Chatbots – AI-Assisted Conversational Apps body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { background: #2d2

H
hemant-kumar
0
JavaApr 13
1 min read

Real-Time Camera Input for Image Recognition

Real-Time Camera Input for Image Recognition body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { background: #2d2d2d; c

H
hemant-kumar
0
JavaApr 13
1 min read

Image Recognition with Deep Learning Frameworks

Image Recognition with Deep Learning Frameworks body { font-family: 'Segoe UI', sans-serif; margin: 2rem auto; padding: 0 1.5rem; color: #2d3748; } h1, h2 { color: #1a202c; } pre { background: #2d2d2d

H
hemant-kumar
0
JavaApr 13
1 min read

Testing Lombok-based Classes in Java

Testing Lombok-based Classes in Java body { font-family: Arial, sans-serif; line-height: 1.6; margin: 2rem auto; padding: 0 1rem; background-color: #f9f9f9; color: #333; } h1, h2 { color: #2c3e50; } p

H
hemant-kumar
0
JavaFeb 25
1 min read

Index MySQL datadase table in Solr

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaJun 26
1 min read

Change MYSQL Database Directory Path in Linux

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaDec 7
1 min read

Deep Copy

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaDec 7
1 min read

Shallow Copy

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaApr 8
1 min read

Match Rating Algorithm (Phonetic Match)

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 7
1 min read

Serializable

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 6
1 min read

Marker Interface

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 6
1 min read

Cloneable

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 6
1 min read

Singleton

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 5
1 min read

Hibernate Demo Annotation Example

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 5
1 min read

Hibernate Demo Example

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 5
1 min read

Shallow Copy vs Deep Copy

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 4
1 min read

Serialization

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 4
1 min read

Comparable vs Comparator

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0…

H
hemant-kumar
0
JavaSep 2
1 min read

Hibernate Many to Many Annotation Mapping

Relationship Diagram Project Structure File Name Use Language.java Pojo class with mapping for Language. Person.java Pojo class with mapping for Person. hibernate.cfg.xml Hibernate Configuration File. Main.java It will…

H
hemant-kumar
0
JavaSep 2
1 min read

Hibernate Many to Many Mapping

Relationship Diagram Project Structure File Name Use Language.java Pojo class for Language. Person.java Pojo class for Person. Language.hbm.xml Mappings file for Language class. Person.hbm.xml Mappings file for Person…

H
hemant-kumar
0
JavaAug 22
1 min read

File Upload (Using Struts)

Project Structure web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"…

H
hemant-kumar
0
JavaAug 22
1 min read

Spring AOP Example

It’s a simple implementation of Spring AOP. Project Contents: File Name Use service.xml Configuration File. ServiceClass Target Class on which we will apply AOP. AdviceClass Advisor class which will be applied on target…

H
hemant-kumar
0
JavaAug 22
1 min read

MongoDB Sharding

Here A, B and C are shards respectively running on port no 20000, 20001 and 20002. mongod --shardsvr --dbpath E:\Mongo\A --port 20000 mongod --shardsvr --dbpath E:\Mongo\B --port 20001 mongod --shardsvr --dbpath…

H
hemant-kumar
0
JavaAug 21
1 min read

Security Algorithms (JAVA)

Encryption: It is the process of transforming human readable plaintext to unreadable cipher text. RSA Encryption\Decryption package asymmetric; import java.io.BufferedReader; import java.io.File; import…

H
hemant-kumar
0
JavaAug 21
1 min read

Excel Writer (JAVA)

package writer; import java.io.File; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Colour; import jxl.format.UnderlineStyle; import jxl.write.Label; import jxl.write.WritableCellFormat; import…

H
hemant-kumar
0
JavaAug 21
1 min read

Excel Reader (JAVA)

package reader; import java.io.File; import java.io.IOException; import java.util.HashMap; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class ExcelReader { public…

H
hemant-kumar
0
JavaAug 20
1 min read

Bootable USB for Windows 7

Requirements: USB flash drive (4GB or above) & Windows 7 Setup. Step 1 : Plug-in your USB drive and open Command Prompt with administrator rights. Step 2: Now type followig commands: DISKPART LIST DISK SELECT DISK 1…

H
hemant-kumar
0
JavaJul 30
1 min read

Mongo DB Viewer

Features of Mongo DB viewer: Tabular view of mongo db data. Text view of mongo db data. Tree view (Document view) of mongo db data. Refine option for filtering our search. Paging facility to limit no of records shown…

H
hemant-kumar
0
JavaJul 24
1 min read

Hibernate Sharding Example

It is a simple implementation of Hibernate Sharding in java. In this we are using two databases i.e. shard1 and shard2. All data related to "India" goes to shard1 where as others go to shard2. Project Contents: File…

H
hemant-kumar
0
JavaJul 23
1 min read

Image Scaler...By Hemant Kumar

It is a software for scaling of the images. Using this software images can be scaled up or down in terms of their width, height and quality. Download Link: http://www.4shared.com/file/7uL7ILHa/ImageScaler.html Retain…

H
hemant-kumar
0
JavaJul 23
1 min read

CURD Operations in Mongo DB

Syntax and exampless in Interactive shell with its equivalent code in java. Use Database In order to operate over a database we first have to connect to that database. Type : use <database name> Suppose we have to…

H
hemant-kumar
0
JavaJul 23
1 min read

Connecting to Mongo DB

Starting up Database Server (mongod.exe) Step 1: Download the “mongod.exe” binary. Step 2: Extract it. Step 3: Open Command prompt. Step 4: Traverse to the folder containing the “mongod.exe” binary. Step 5: Now type…

H
hemant-kumar
0
JavaJul 23
1 min read

Introduction to Mongo DB

Mongo DB is an open source document-oriented No SQL database system. No SQL Database System 1. It does not use SQL as its query language. 2. It may not give full ACID guarantees. RDBMS vs. Mongo RDBMS Mongo Table, View…

H
hemant-kumar
0
JavaJul 20
1 min read

Large Scale Deployment Scenario of MongoDB

Here in this example we will use Mongo DB for large scale deployment scenario. In this example if the primary node of any shard will go down then it would be automatically replaced by its secondary node (now secondary…

H
hemant-kumar
0
← Browse all stories