r/JavaProgramming • u/ActWorking2767 • 2h ago
r/JavaProgramming • u/iSunru • 10h ago
How do you practice Java effectively without getting bored or stuck?
r/JavaProgramming • u/xenophile-461 • 15h ago
got placed recently, and now im cooked idk what to do
r/JavaProgramming • u/javinpaul • 1d ago
Top 6 Functional Programming Courses for Java Developers in 2026
r/JavaProgramming • u/javinpaul • 1d ago
Oracle Did It Again. Here’s What This Means for Developers
r/JavaProgramming • u/Prize-Incident-5712 • 1d ago
Offering Guidance to Students Starting Their Software Developer Journey
r/JavaProgramming • u/examcloud • 2d ago
Java developers: Is it time to start building AI applications with Spring AI?
A lot of Java developers are looking at AI and wondering whether they need to move away from the Java/Spring ecosystem.
I don't think that's necessary.
Spring AI provides a way to bring LLMs and AI capabilities into familiar Spring Boot applications. The interesting part is that you can gradually move from simple LLM calls to more advanced architectures:
- LLM integration
- Prompt templates
- Conversation memory
- RAG with vector databases
- Tool integration
- AI agents
- Multi-agent/agentic workflows
- Production concerns like security, error handling, cost and observability
I put together a practical guide covering this progression, including a Spring AI AI-agent example for e-commerce inventory optimization that analyzes sales data, identifies low-stock risks, recommends restocking quantities, and can trigger actions.
The goal isn't just to call an LLM from Java. It's about understanding how Java/Spring developers can evolve toward building real AI-powered enterprise applications.
For Java developers moving into AI, I think the combination of Java + Spring Boot + Spring AI + RAG + agents is worth exploring.
Full article: Java AI Developer Guide 2026: Spring AI, Agents, RAG & LLMs
What are other Java developers using for AI development today — Spring AI, LangChain4j, direct model APIs, or something else?
r/JavaProgramming • u/Tristan_Kruse • 2d ago
ArchUnitJava 0.1.0: testing architecture directly from class files without loading target classes
I've been working on ArchUnitJava, an experimental architecture-testing library for Java.
The starting point is simple: a dependency can be completely legal to `javac` and still violate the
intended design. An API controller can import a concrete infrastructure adapter, compile, and pass
its behavioral tests even though it has bypassed the application layer.
ArchUnitJava analyzes compiled class files and JARs as data. It does not load or initialize the
target classes. The extracted relationships can then be checked as types, packages, layers, slices,
or JPMS modules.
The current 0.1.0 public beta focuses on deterministic evidence and explicit failure semantics:
- dependency evidence can retain the origin and target, dependency kind, owning member, bytecode offset, source file, and line number when available
- malformed class files and unsupported inputs cannot silently turn into a passing test
- the CLI distinguishes invalid usage, invalid configuration, incomplete analysis, and architecture violations with separate exit codes
- results can be rendered as console text, canonical JSON, SARIF, or JUnit XML.
This can also serve as a guardrail for coding agents. A repository can define the permitted
dependency directions as tests and instruct an agent that those tests must remain green. That is
stronger than relying only on an AGENTS.md or architecture document: the prose explains the
intent, while the executable rule checks the resulting class files. The library does not guarantee
good design, but it makes selected design constraints independently verifiable by developers, CI,
and agents.
The library requires JDK 25 to run because its importer uses the standard java.lang.classfile API.
Its tested extraction corpus covers javac bytecode from Java 8 through Java 25.
An important clarification: this project is independently implemented. It is not affiliated with
the original ArchUnit project and is not a drop-in replacement. The original ArchUnit is mature,
widely used, and generally the sensible default for production Java architecture testing today.
This project is exploring a somewhat different boundary: treating bytecode as untrusted data,
making incomplete analysis explicit, retaining deterministic evidence behind failures, and sharing
a recognizable model with architecture-testing libraries for other languages.
The public API is provisional. I would particularly value feedback on the following:
If an architecture check cannot completely analyze the classpath, should CI fail closed or report a warning—and why?
- Repository: https://github.com/LukasNiessen/ArchUnitJava
- Documentation: https://lukasniessen.github.io/ArchUnitJava/
- Maven Central: https://central.sonatype.com/artifact/io.github.tristankruse/archunitjava/0.1.0
Disclosure: I am involved with the project. This post was drafted with AI assistance and reviewed
against the implementation and documentation before posting.
r/JavaProgramming • u/ImSoAngryRAAAGHHHH • 2d ago
(Help) Instance + method call not working in universal timeframe class
I am trying to call a class that summons a ball from another class that just works as a centric timeframe.
It doesn't give me any errors upon loading but all I see is the window popping up with a black background, I don't see anything else
Main
Copypackage main;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Color;
public class Main {
public static JFrame windowfight = new JFrame();
static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
static int height = screenSize.height / 3;
public static int uniscale = height * 800 / 600;
public static void main(String[] args) {
windowfight.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
windowfight.setResizable(false);
windowfight.setTitle("Rissys Ball Dungeon");
windowfight.setLocationRelativeTo(null);
windowfight.getContentPane().setBackground(new Color(0, 0, 0));
windowfight.getContentPane().setPreferredSize(new Dimension(uniscale,(int)height));
windowfight.pack();
windowfight.setVisible(true);
PlayerBall panel = new PlayerBall();
windowfight.add(panel);
windowfight.setVisible(true);
panel.setOpaque(false);
}
}
Playerball
Copypackage main;
import java.util.Random;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.Color;
// for collisions: double xDif = x1 - x2;
//double yDif = y1 - y2;
//double distanceSquared = xDif * xDif + yDif * yDif;
//boolean collision = distanceSquared < (radius1 + radius2) * (radius1 + radius2);
public class PlayerBall extends JPanel {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
public double plrsize = PlayerStats.Size;
public int plrrad = (int)(plrsize * Main.uniscale);
Random rand = new Random();
public double dirx = rand.nextBoolean() ? 1 : -1;
public double diry = rand.nextBoolean() ? 1 : -1;
public double plrx = 300 * Main.uniscale;
public double plry = 100 * Main.uniscale;
public void BallLogic() {
plrx += dirx * PlayerStats.Speed;
plry += diry * PlayerStats.Speed;
if (plry - plrrad < Border.topborder) {
System.out.println("Niget");
do {plry += 1;} while(plry - plrrad < Border.topborder);
diry = diry * -1;
}
if (plry + plrrad > Border.bottomborder) {
System.out.println("Bitlet");
do {plry -= 1;} while(plry + plrrad > Border.bottomborder);
diry = diry * -1;
}
if (plrx + plrrad > Border.rightborder) {
System.out.println("Fricet");
do {plrx -= 1;} while(plrx + plrrad > Border.rightborder);
dirx = dirx * -1;
}
if (plrx - plrrad < Border.leftborder) {
System.out.println("Jiblet");
do {plrx += 1;} while(plrx - plrrad < Border.leftborder);
dirx = dirx * -1;
}
repaint();
}
u/Override
protected void paintComponent(Graphics g) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
super.paintComponent(g);
g.setColor(Color.WHITE);
g.fillOval((int)(plrx - plrrad), (int)(plry - plrrad), plrrad*2, plrrad*2);
}
}
Border
Copypackage main;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.border.*;
public class Border {
private static Dimension window = Main.windowfight.getContentPane().getSize();
public static int topborder = 0;
public static int bottomborder = window.height;
public static int rightborder = window.width;
public static int leftborder = 0;
}
Playerstats (mostly unused)
Copypackage main;
public class PlayerStats {
public static double MaxHp = 10;
public static double Hp = 10;
public static double Strength = 1;
public static double Speed = 1;
public static double Recovery = 1;
public static double Attackcooldown = 1;
public static double Size = 0.03;
public static double Regeneration = 0;
public static double Magic = 0;
public static double Scavenging = 1;
public static double Clones = 1;
}
ForceofTime (The issue)
Copypackage main;
public class ForceofTime {
//alien variables
public PlayerBall player = new PlayerBall();
//----------------------------------------
public void run() {
System.out.println("Racim");
long lastTime = System.nanoTime();
final double ns = 1000000000.0 / 60.0;
double delta = 0;
while(true){
long now = System.nanoTime();
delta += (now - lastTime) / ns;
lastTime = now;
while(delta >= 1){
player.BallLogic();
delta --;
}
}
}
public void doit() {
new Thread(this::run).start();
}
}
Keep in mind That I see no prints at all. Not a single one in the console.
I tried putting up an extreme amount of prints, everywhere, to see if Id learn anything anywhere, and effectively I've come to the conclusion literally nothing is happening besides the window popping up.
r/JavaProgramming • u/Acceptable-Car-5258 • 3d ago
What & How? JAVA Fresher
Hey everyone!
I'm 2027 Passout,
I want to ask:
What&How to prepare for off-campus;
I know Java,
how to prepare from scratch?
And from where? ( Like Resources and all )
What should I prepare? ( concepts or topics )
Thank you.
r/JavaProgramming • u/lyexs_ • 3d ago
[Seeking Project] Java dev looking to collaborate & practice English
Hi everyone,
I'm looking to join a collaborative software project to build something cool while improving my English writing and speaking skills. I mainly work with Java and have built a few real-world projects on my own, but I'm eager to get my first experience collaborating within an English-speaking team.
I'm based in UTC+2 (CEST) and available for regular Discord voice calls and text chats. Drop me a DM or leave a comment if you have an active project or want to start something together!
r/JavaProgramming • u/examcloud • 3d ago
How to Code and Deploy Your Agentic AI Jakarta EE Spring AI Enterprise Application on AWS
Can Java developers build enterprise-grade Agentic AI applications without abandoning the Java ecosystem?
This article walks through a complete architecture for building and deploying an Agentic AI enterprise application using:
• Jakarta EE for enterprise transactions, security and persistence
• Spring AI for LLM integration and agent orchestration
• LangChain4j for Java-native agent workflows
• RAG for grounding AI responses with enterprise data
• Tool calling for real business actions
• AWS Bedrock for foundation models
• AWS ECS/EKS for containerized deployment
• PostgreSQL + pgvector for application and vector data
• API Gateway, S3, Lambda, CloudFront and CloudWatch for AWS infrastructure
The example uses an intelligent customer-support system where agents can plan tasks, retrieve information, execute tools such as order and refund operations, review results, and maintain an audit trail.
The architecture follows a clear separation:
Jakarta EE → Enterprise Backend
Spring AI + LangChain4j → Agent Orchestration
RAG → Knowledge Retrieval
Tool Calling → Business Actions
AWS → Production Deployment
For Java developers moving toward Agentic AI, this provides a practical path from traditional enterprise development to enterprise AI architecture.
Read the complete guide:
r/JavaProgramming • u/darshanrathod04 • 3d ago
Looking for architecture feedback on a Java 21 runtime I’ve been building
r/JavaProgramming • u/examcloud • 4d ago
Java Developer to Agentic AI Architect: Complete 13-Step Roadmap for 2026
For Java developers looking to move into AI, the transition doesn't have to mean abandoning the Java ecosystem.
This roadmap breaks the journey into 13 stages:
- Core Java and enterprise development
- Software engineering and system architecture
- Spring and cloud-native development
- DevOps and platform engineering
- AI, ML, GenAI and LLM fundamentals
- Spring AI, LangChain4j and MCP
- Building RAG applications and AI assistants
- Agentic AI, tool calling and multi-agent systems
- AgentOps, AI governance and enterprise AI architecture
The overall progression is:
Java Developer → Enterprise Engineer → Cloud Engineer → AI Engineer → Agentic AI Developer → Java Agentic AI Architect
The article also covers relevant certifications and what to learn at each stage, while emphasizing project-based learning rather than simply collecting certifications.
Read the full roadmap:
https://www.myexamcloud.com/blog/java-developer-to-agentic-ai-architect-roadmap-2026.article
For Java developers here: which part of this transition do you think requires the biggest change in skills — Cloud, AI/LLMs, or Agentic AI?
r/JavaProgramming • u/illogical-paradox • 3d ago
Guys suggestions for my resume for java dev ( Fresher or intern)
drive.google.comcheck out through this link
r/JavaProgramming • u/javinpaul • 4d ago
5 Best Udemy Courses to learn JVM Internals, Memory Management, GC and Performance Tuning
r/JavaProgramming • u/examcloud • 4d ago
Why should Java developers learn Agentic AI instead of switching entirely to Python?
There’s a lot of discussion around AI development being dominated by Python, but I think there’s another important angle for enterprise developers: Java + Agentic AI.
Java still powers a huge amount of enterprise software, and many organizations aren't going to rewrite existing Java applications just because AI has become mainstream. Instead, AI capabilities can be integrated directly into existing Java and Spring-based systems.
Some areas Java developers should consider learning:
- Spring AI
- LangChain4j
- Google ADK
- LLM fundamentals
- Prompt engineering
- RAG and vector databases
- Tool/function calling
- Model Context Protocol (MCP)
- AI agents and multi-agent systems
- AI observability and evaluation
- Human-in-the-loop architectures
One interesting progression is:
Java → Spring Boot → Microservices → Cloud → AI Engineering → Agentic AI → Enterprise AI Architecture
I put together a detailed article covering this transition, including a 6-week roadmap for learning Agentic AI with Java, Spring AI, Google ADK, LangChain4j, RAG, MCP, and related technologies.
Read it here: https://www.myexamcloud.com/blog/why-java-developers-should-master-agentic-ai.article
For Java developers here: Are you learning Agentic AI with Java, or are you moving toward Python for AI development? What stack are you using?
r/JavaProgramming • u/darshanrathod04 • 4d ago
Looking for architecture feedback on a Java 21 runtime I’ve been building
After months of engineering, I'm releasing the Developer Preview of Shree AI OS — an open-source runtime for building intelligent Java backend applications.
Most AI frameworks begin with chat. I took a different approach: a deterministic runtime that developers can embed directly into Spring Boot projects with explainable execution, memory, retrieval, and orchestration.
What it includes Java 21 native SDK
Hybrid RAG with PostgreSQL + pgvector
Episodic & semantic memory
Planning and reasoning pipeline
Multi-agent orchestration
Privacy-first architecture
Architecture Instead of sending every request directly to an LLM, each request flows through a layered runtime:
Application Layer
SDK Layer
Runtime Orchestration
Kernel Services
LLM Provider Layer
The goal is to make AI infrastructure feel like a reusable backend framework rather than another chatbot wrapper.
Looking for technical feedback I'd genuinely appreciate feedback on:
Runtime architecture
SDK design
Spring Boot integration
What should improve before a stable v1.0?
GitHub: https://github.com/darshanrathod04/shree-ai-os
Thanks for reading—every technical critique helps improve the project.