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

Austin, TX
In this "Ask the Architects" episode of the Inside Java Podcast, Nicolai Parlog talks to Sean Mullan about the critical importance of security in Java. 🛡️ social.ora.cl/6011BGi3dB
2
12
65
13,251
Come with @JosePaumard as he looks at what an Optional is. (viewing optional, but highly encouraged)
4
20
144
17,500
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
2
7
49
11,860
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,716
What are the primitive types in Java? @JosePaumard lays it all out for you
9
29
278
19,818
See how the reduce() method is working with @JosePaumard.
1
28
245
19,700
22
276
921
115,712
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
9
28
218
24,131
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,937
☕ 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,731
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,961
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,799
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,725
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
98
14,529
Do you remember the heap memory? 🤔 @JosePaumard takes us down memory lane.
4
23
261
20,005
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
217
21,501
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,054
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,050
#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
27
94
13,088
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
29
227
21,534
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
78
12,382
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,195
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
111
537
30,260
How can you read chars from a binary stream? @JosePaumard explains.
1
25
203
19,985
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,985
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,690
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,020
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
20,010
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,396
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,510
Get ready to consume this Java Coding Tip with @JosePaumard! Today’s question: What is a Consumer?
1
17
184
17,779
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,883
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,975
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,897
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,704
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
131
16,176
What is a HashTable? @JosePaumard is here to hash it out.
5
23
217
19,929
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
118
19,564
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,817
Get your Java ready! @JosePaumard is back to break down what an intermediate Collector is.
3
21
185
19,771
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,872
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,228
Join @JosePaumard to learn more about a LinkedHashSet.
5
13
141
21,039
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,702
Get a detailed look into arithmetic expressions and the assignment operator. social.ora.cl/6014BDGIxj
2
12
80
19,794
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,105
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,902
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,755
Can you read a Gzip compressed file? If not, don’t worry—@JosePaumard is here to explain.
3
22
152
19,810
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,410
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,396
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,425
In this course, you'll learn the different ways to incorporate choice in your programs. We'll cover if statements, conditional operator, switch statements and switch expressions. social.ora.cl/6019BEDI2L
15
67
10,921
Learn how to create an object from a class using a simple Dice example. social.ora.cl/6016B8YaK0
14
55
10,621
Explore a brief history of ZGC, Its internal mechanisms, and future development plans in this #JavaOne session. social.ora.cl/6013BD04hh
8
53
10,759
We keep cracking the Java code with @JosePaumard as we explore an anonymous class
16
106
13,955
Want to master boolean expressions in Java? ☕ In this comprehensive Java 101 course, you'll learn how to write, evaluate, and simplify the boolean expressions that power decision-making in your programs. Get started today: social.ora.cl/6012BDLUp6
1
12
80
11,089
How can you skip elements in a stream? @JosePaumard breaks it down.
3
13
140
15,268
In this #JavaOne session replay, you'll get a look at new and upcoming Java features that improve the convenience, reliability, and performance of immutable data, including records, value classes and objects, the lazy constants AP, and more. social.ora.cl/6018BDZhYg
1
14
80
10,199
Ready to take your Java skills to the next level? Dive into methods by exploring a fun example: the Dice class! You’ll learn how to call methods on a Java object, like: 🎲 numSides to check how many sides the dice has 🎲 setSides to change that number on the fly We’ll walk through simple code demonstrations step by step, making it easy for beginners to follow along. social.ora.cl/6014B8imQ2
5
15
99
12,955
In this #JavaOne talk, learn about many recent changes to the Java programming language and look ahead to directions and features that are in development and will appear in future editions. social.ora.cl/6012B8xWW8
3
13
77
11,458
Learn how to create an object from a Java record using a DukeCharacter example, then explore the methods records give you automatically. We’ll instantiate a DukeCharacter record and introduce or practice calling common built-in methods like accessors (component methods), toString(), and equals(). The hashCode() method is out of scope for this tutorial. social.ora.cl/6012B8imP2
17
93
11,979
Write your first Java program with void main! Check out this code snippet from codebysophy, then get the full details on JEP 445: openjdk.org/jeps/445
3
17
101
12,782
Want to learn how to create objects and call methods in Java? 🎓 In this comprehensive course, you'll build a strong foundation in object-oriented programming by working with some of the most commonly used classes in the Java API. Get started today: social.ora.cl/6011BDZCux
1
16
76
9,093
Sit down with @JosePaumard as he examines when you can use finalize().
2
18
153
19,474
In this "Ask the Architect" episode of the Inside Java Podcast, Nicolai Parlog talks to Alex Buckley—the Guardian of the JEP process. Watch them discuss how JEPs are OpenJDK's vehicle for documenting and communicating substantial changes of the Java language and the immense care that goes into writing them. social.ora.cl/6011BDcbzV
2
9
49
8,959
This #JavaOne session shows how to use JFR to build self-improving applications with AI and new JDK features. Using a real-life simulated example, you’ll learn to stream JFR data, integrate JVM events with AI, spot performance bottlenecks and unusual behavior automatically, and build better debugging and monitoring tools. social.ora.cl/6013B8iwPD
10
46
8,049
Learn about Java Text Blocks—a modern feature that makes working with multi-line strings much easier and cleaner. This tutorial is perfect for beginners and anyone looking to write cleaner, more maintainable Java code using newer language features. social.ora.cl/6014BBGdgm
17
68
10,795
Pattern matching for switch in modern Java... Check the type and bind a variable in one step. No casts, no chained instanceof. 🚨 This is just a code snippet from codebysophy! 🚨 Want to learn more about JEP 441? Check out the link 👉 openjdk.org/jeps/441
17
96
21,590
From battling imposter syndrome to keeping up with the rapid pace of technology—our interns open up about the real challenges of breaking into tech. Hear what it’s like entering a field filled with incredibly talented people, learning to embrace growth, asking questions, and accepting that you don’t have to be the smartest person in the room to succeed. social.ora.cl/6010B8DQpA
1
7
53
7,740
Learn how Netflix used Project Leyden to improve startup time of critical services and the software and SDLC we built to make that happen. #JavaOne social.ora.cl/6018B8V49w
2
21
115
9,585
Watch this course to learn all about using the String class and the methods contained in the String class. 🎓🍎 Analyzing String objects is often essential when doing data analysis. These methods can help! social.ora.cl/6014BDGr0e
1
23
109
7,473
Escape sequences allow you to include special characters in your strings—such as new lines (\n), tabs (\t), quotes (\""), and backslashes (\\)—to make your console output cleaner and more readable. This beginner-friendly tutorial goes through practical examples that show how each escape sequence works and when to use them. You’ll also see how proper formatting can improve the user experience and make your programs look more professional. social.ora.cl/6014BBGj7y
1
16
82
8,157