💻 Programming and Technology Blog:

Java v25: Choosing the Right Multithreading for Any Task Introduction The Java world is rapidly evolving, and with each version, new tools are emerging for effectively working with multithreading, collections, and asynchrony. Java 25 brings powerful features to developers: Virtual Threads, Structured Concurrency, Record Patterns, and improved memory and n...
Evolution of Java language v1–v25: key features Legend ✅ — Production (can be used in production) ⚠️ — Preview / Incubator (experimental, not for production, version when it became Production is indicated in parentheses) Version Table Version Main Innovations Comment / Value Super Solution (%) Java 1.0 (1996) - Basic syntax...
Modern approach to parallelism in Java - Fork/Join Framework, CompletableFuture, and virtual threads (Project Loom) Preface The world of software has long ceased to be a calm ocean: today it is a turbulent ecosystem where every millisecond of application response can cost a company customers, reputation, or money. Modern business systems — online stores, banking platforms, analytical services, social networks — o...
Data types in Java Data Types in Java Hello! This is Vitaly Lesnykh. In this lesson of the "Java Basics for Beginners" course, we will discuss what data types are. Data types are the foundation of any programming language. They allow Java to understand what information we are storing and what operations we can perfor...
Variables and Constants in Java Variables in Java — concept, types, scope, and constants Hello everyone! This is Vitaly Lesnykh. In this lesson, we will discuss what variables are in Java, why they are needed, what types there are, how to declare and initialize them, what dynamic initialization is, scope, lifetime, and constants. ...
Loops in Java: for, while, do while, continue and break statements Hello! This is Vitaly Lesnykh. Today we will continue the course “Java Basics for Beginners” and discuss one of the most important topics in programming — loops. A loop is the repetition of code execution as long as a given condition is met. In life, everything is cyclical: day replaces night, s...
Conditional operators in Java Java — Conditional Operators Visual article with examples: if / else / logic / ternary operator / switch In brief — conditional operators allow the program to make decisions: to execute one piece of code or another depending on the expression. Below are compact explanations and examples that you c...
Bitwise Operators in Java Bitwise Operators in Java In the Java programming language, several bitwise operators are defined. These operators are applied to integer data types, such as byte, short, int, long, and char. List of Bitwise Operators & — bitwise AND (AND) | — bitwise OR (OR) ^ — bitwise XOR (XOR) ~ — bitwise N...
Arithmetic operators In this lesson, we will talk about arithmetic operations and operators. In programming, operators are commands that perform specific actions: mathematical, string, logical, or comparison operations. The arithmetic operators in Java include: + (addition), - (subtraction), * (multiplication), / (divis...
How to write Hello World in Java. What is a Statement. How to write Comments in Java Today we will go over the basic elements of Java: Statement (instructions) Code blocks We will create a simple program Hello World! We will analyze each word in the code We will learn to write comments that are not executed What is a Statement Any code in Java consists of statements, which is tran...
By sending an email, you agree to the terms of the privacy policy

Useful Articles:

Java under the Microscope: Stack, Heap, and GC using Code Examples
Diagram - Java Memory Model - Heap / Non-Heap / Stack Heap (memory for objects) Creates objects via new. Young Generation: Eden + Survivor. Old Generation: objects that have survived several GC c...
How to write Hello World in Java. What is a Statement. How to write Comments in Java
Today we will go over the basic elements of Java: Statement (instructions) Code blocks We will create a simple program Hello World! We will analyze each word in the code We will learn to write commen...
Generics, Reflection and Channels - Go vs Java | Types - Language
In this article we will analyze advanced type system features in Go: generics (type parameters), reflection, and channel types for concurrency. We will compare Go and Java approaches, so Java develope...

New Articles:

Concurrency is not about “starting many threads”. It’s about agreements between them. Imagine a restaurant kitchen: — cooks (threads / goroutines) — orders (tasks) — and the main question: how do th...
When HashMap starts killing production: the engineering story of ConcurrentHashMap
Imagine a typical production service. 32 CPU hundreds of threads configuration / session / rate limits cache tens of thousands of operations per second And somewhere inside — a regular Map. At first...
Zero Allocation in Java: what it is and why it matters
Zero Allocation — is an approach to writing code in which no unnecessary objects are created in heap memory during runtime. The main idea: fewer objects → less GC → higher stability and performance. ...