The official page of the #1 programming language and development platform.

Austin, TX
In this "Input/Output" episode of the Inside Java Podcast, Nicolai Parlog talks to Martin Chalupa and John Rose about Java's ahead-of-time capabilities and how Netflix's training run approach is the ideal one. social.ora.cl/6013BGVOfl
7
47
11,240
The deadline for the call for papers for JavaOne is coming soon! Submit your proposal ASAP and tell us about the ideas, experiences, and insights you want to bring to #JavaOne 2027. social.ora.cl/6013BGgeAS
1
14
62
11,248
What are the primitive types in Java? @JosePaumard lays it all out for you
8
29
273
19,248
See how the reduce() method is working with @JosePaumard.
1
28
244
19,479
22
275
920
114,240
Is Java wasteful because it uses too much memory—or are other languages wasteful because they use too little? 🤔 In this #JavaOne 2026 talk, Ron Pressler explores this question, as well as why the JDK’s garbage collectors work the way they do and how Java memory management affects application performance. social.ora.cl/6012BGyMEs
7
29
216
21,680
You can always count on @JosePaumard to have something brewing. ☕ In today’s Java Coding Tip, he breaks down what a Cyclic Barrier is.
1
28
231
19,834
☕ How Java programs can reach close-to-native performance for matrix-multiply computations on hardware with accelerated MMA support, such as NVIDIA GPUs ☕ How the same Java Tensor API can be mapped across different parallel programming models and vendors while remaining portable for source code and runtime scheduling parameters This article examines both: social.ora.cl/6011BEbmLc
3
44
293
19,664
Java 27 is coming up fast. As with every JDK release, there are plenty of changes that'll impact developers. In this episode of the Inside Java Newscast, we "declassify" all the developer-impacting changes in Java 27. social.ora.cl/6016BGzukj
1
41
236
19,905
Java 27 is almost here! 🕐 Join our team on September 15 for a celebration of our latest launch, including a breakdown of key enhancements and platform changes and the latest developments at the intersection of Java and AI. Subscribe today to stay up to date and get notified when the party starts. 🥳 social.ora.cl/6017BGJvft
15
87
382
22,728
Helidon 4.4 was released in April and stands out from other web frameworks by embracing new Java features as early as possible, particularly virtual threads and ahead-of-time computation. 🤗 Learn more in this episode of the Inside Java Podcast with Joe Di Pol. social.ora.cl/6013B1KuEx
1
19
94
12,687
Ready to share your Java expertise with the #JavaOne community? Submit your proposal and tell us about the ideas, experiences, and insights you want to bring to JavaOne. social.ora.cl/6018B1Ceew
1
16
97
14,486
Do you remember the heap memory? 🤔 @JosePaumard takes us down memory lane.
4
23
262
19,946
During a #JavaOne keynote, several speakers showed how innovations in the Java language and platform are relevant for AI—from libraries and model integration to retrieval and workflow patterns. One example was a larger end-to-end support system built from several cooperating Java services: a patient fills in a complaint via a web application, that request becomes a helpdesk ticket, and an AI-based triage pipeline speeds up its solution. The Model Context Protocol server for urgency scoring only appeared briefly in the presentation, so this article covers the design decisions behind that MCP server and its possible role in the triage workflow: Given a complaint message, how urgent is it? social.ora.cl/6018B1KRnk
2
28
215
21,447
With unnamed variables, you don’t have to name a variable you don't plan to use. You can write _ instead. Nothing goes into scope, so nobody can read it later. Works on locals, catch parameters, lambda parameters, and patterns. Not fields. codebysophy shares the details. Learn more here: social.ora.cl/6015B11ypU
2
11
87
15,018
Want to test your Java debugging skills? Introducing Duke's Debugging Challenge—a series of five Java debugging challenges designed to help you practice finding and fixing errors in your code! 📅 New challenge every Tuesday ✅ Solutions released every Thursday 🏆 Complete all 5 challenges to earn your badge Follow our LearnJava YouTube to stay up to date: social.ora.cl/6015B10hHT
1
15
68
13,020
#JavaOne is coming back in 2027! 🥳 Save the date, mark your calendars, and get ready to join the Java community for three days of technical sessions, hands-on labs, and insights from the experts shaping Java. Details: social.ora.cl/6014B1CdSo
1
28
94
13,055
Want to master `ArrayList` in Java? This comprehensive Java 101 course teaches you how to create, populate, access, modify, search, and iterate through `ArrayList` objects! Build your skills step-by-step as you explore the most important methods and techniques for working with dynamic lists of data in Java. social.ora.cl/6013B1sgCU
4
30
229
21,502
Put your Java knowledge to the test with Multiple-Choice Mondays—a new, weekly Java challenge to test your programming skills one question at a time! 📆 New question every Monday 💡 Solution + explanation every Wednesday 🏆 Get it right and download the weekly badge ☕ Build your Java skills one question at a time Follow our LearnJava YouTube to follow along: social.ora.cl/6018B1FX20
1
14
79
12,376
In this "Ask the Architects" episode of the Inside Java Podcast, Nicolai Parlog talks to Joe Darcy about Project Valhalla and how Java may support limited operator overloading—allowing custom value types to be added or multiplied with plus or multiplication signs instead of annoying method calls. Watch: social.ora.cl/6018B1L6bi
1
18
126
19,177
Java 27 is about to be released! 🥳 Join our team on the Java YouTube channel on September 15 to celebrate the latest launch, cover key enhancements and platform changes, and discuss the latest developments at the intersection of Java and AI. Details: social.ora.cl/6012B1siHa
9
112
538
30,209
How can you read chars from a binary stream? @JosePaumard explains.
1
25
204
19,969
While Java programs are deployed as bytecode, performance-relevant code will be compiled to machine code whose performance rivals that of any other platform. In the HotSpot JVM, this is the job of the JIT compilers. This episode of the Inside Java Podcast with Roberto Lozano dives into it. social.ora.cl/6011B1KPsV
1
28
156
17,970
When we play games or run simulations, there's often an element of randomness involved—making each play through the game unique and more interesting. The Random class is one way that we can generate random values. 🎲 Learn more: social.ora.cl/6014BDGFma
9
117
17,679
Still writing switch statements with repeated assignments and break after every case? There must be a better way! Well, there is! And codebysophy is here to show you how. Full details on JEP 361: openjdk.org/jeps/361
5
25
142
17,007
Spring AI 2.0 released in June and is one of several projects ensuring Java's continued strength in enterprise AI development. Listen to this episode of the Inside Java Podcast with Dan Vega for some tips on deterministic agents, MCP servers and skills, prompt engineering, and where Java's richness for AI solutions stems from. social.ora.cl/6015B1KOSV
7
24
188
19,993
It's time to revisit Java Records. 📔 This tutorial highlights how records help group related immutable data into a single object—improving readability and maintainability compared to managing multiple independent variables. If you haven't adopted records yet, they're one of the simplest ways to write cleaner, more expressive Java. Learn more: social.ora.cl/6012BDGFKM
3
31
246
22,297
JSON API, Project Valhalla, post-quantum cryptography... This edition of the Inside Java Newscast has it all! Check it out: social.ora.cl/6016B1nVY8
2
24
137
17,500
Get ready to consume this Java Coding Tip with @JosePaumard! Today’s question: What is a Consumer?
1
17
184
17,763
This master's thesis investigates the overhead of weak reference processing in generational ZGC and whether it could be reduced with targeted modifications to the pipeline—or avoided altogether through a different representation of weak semantics. See the results: social.ora.cl/6017BEbYhJ
23
220
19,871
Still setting up a build tool before even running your code once? codebysophy shares how to run a Java program with multiple files without Maven or Gradle. No javac, no class files, no build tool. Full details on JEP 458: openjdk.org/jeps/458
3
18
132
16,954
JDK 27 entered Ramp-Down-Phase 1 in early June, so we can go over its features. This episode of the Inside Java Newscast looks at Valhalla's first JEP (401) and the "Modern Java in the Wild" hackathon. social.ora.cl/6010B1KOwe
3
29
150
18,892
Want to allow users to interface with the program and allow them to enter values? We show you how to use the IO class to accept input into the program. social.ora.cl/6010BDGLWK
4
25
193
19,697
Learn how to design and write your own classes in Java in this comprehensive Java 101 course. Get started now and start exploring the building blocks of creating classes and using them to model data and behavior in object-oriented programs. social.ora.cl/6013B1E2wB
1
14
130
16,168
What is a HashTable? @JosePaumard is here to hash it out.
5
23
217
19,903
Are you still building multiline strings with \n and + on every line in Java? codebysophy is here to explain how JEP 378 fixes that. Triple quotes at the top and bottom, paste your string inside as is, and you’re all set! Learn more about JEP 378: openjdk.org/jeps/378
5
7
119
19,542
A very useful reference type is String, which is a collection of characters. It is implemented using the String class. Check out this tutorial on declaring and initializing String variables. social.ora.cl/6010BDGaLA
1
10
102
19,789
Get your Java ready! @JosePaumard is back to break down what an intermediate Collector is.
3
21
185
19,766
Want to master searching and sorting algorithms in Java? This comprehensive course teaches you how to efficiently search for data and organize arrays using some of the most important algorithms in computer science. Whether you're learning Java for the first time or preparing for exams, this course will help you understand how these algorithms work and how to trace their execution step-by-step. social.ora.cl/6011BEIoOf
5
32
203
20,854
In cases where you're assigning a variable to a value that's the result of this value and an arithmetic operator, a compound assignment operator can be used. Learn more about the compound assignment operator: social.ora.cl/6018BDGLH0
3
15
100
20,224
Join @JosePaumard to learn more about a LinkedHashSet.
5
13
141
21,032
Meet Schinnel Small from University of South Florida—our July Teacher Spotlight. Watch Schinnel share how she uses AI to enhance teaching, streamline everyday tasks, and create more meaningful learning experiences for her students. She also discusses how she teaches students to use AI as a tool for learning, emphasizing that strong communication skills, thoughtful prompting, and critical thinking are essential for getting the best results. social.ora.cl/6015BEIStv
12
48
9,699
Get a detailed look into arithmetic expressions and the assignment operator. social.ora.cl/6014BDGIxj
2
12
80
19,791
Get a clearer view of the performance work happening across the Java platform as we break down notable performance-related improvements in JDK 26, grouped into four major areas: ☕ JDK Libraries ☕ Garbage Collectors ☕ Compiler ☕ Runtime social.ora.cl/6013B8FmQU
6
27
155
21,097
One does not simply store immutable data. Check out this precious introduction to records—a reference type that allows you to create your own immutable data type where multiple pieces of related data are stored together. social.ora.cl/6015BDGIrB
1
7
70
18,900
Want to master iteration in Java? In this comprehensive Java 101 course, you'll learn how to use loops to execute code repeatedly and solve a wide variety of programming problems. You'll also explore the three primary looping structures in Java: while loops, do-while loops, and for loops. Get started: social.ora.cl/6019BEnde5
2
20
110
17,748
Can you read a Gzip compressed file? If not, don’t worry—@JosePaumard is here to explain.
3
22
152
19,806
This session from Voxxed Days Zürich 2026 looks at recent improvements to the HotSpot JVM, including updates introduced in JDK 26, and explains what they mean for Java developers who care about performance. social.ora.cl/6015BDN3NS
2
13
82
19,408
In this "Ask the Architect" episode of the Inside Java Podcast, Nicolai Parlog spoke to Mikael Vidsted about Project Detroit—recently resurrected by OpenJDK in an effort to ease Java's interoperability with Python and JavaScript. social.ora.cl/6013BEnZ3c
6
62
11,392
Records allow you to represent immutable data simply. 📊 Check out this code snippet from codebysophy, then get the full details on JEP 395: openjdk.org/jeps/395
2
22
146
18,409