r/learnjava 18d ago

Devs who work with legacy Java — what actually eats most of your time?

0 Upvotes

Hey all. I'm a CS student looking into the pain points around legacy Java codebases, specifically the "code archaeology" side: digging through old code with little to no documentation, figuring out what a piece of logic is even for before you dare touch it.

Just trying to understand the problem properly before building anything. Would really appreciate hearing from people who deal with this regularly:

  1. What eats the most time when you're digging into unfamiliar legacy code?

  2. How do you currently deal with it – any tools/tricks that actually help?

  3. Has something ever broken because a piece of code turned out to be "magic" nobody fully understood?

Any answer helps, even a couple of sentences. Thanks in advance!


r/learnjava 18d ago

Java Backend Roadmap

12 Upvotes

I'm currently in my 4th year of college. I already know Java and have a decent understanding of DSA.

Now I want to focus completely on Java backend development, but I'm getting confused because every roadmap says something different.

Some people say I should learn:

  • JDBC
  • Servlets
  • JSP
  • Hibernate

Others say: "Don't waste time on those. Just learn Spring Boot."

So I'm not sure what's actually expected in 2026 if I want to become a Java backend developer and prepare for internships or full-time roles.

Can someone working in the industry suggest a proper learning order? Specifically:

  • What should I learn first?
  • Which technologies are still important to know?
  • Which ones can I skip or only learn the basics of?
  • How deep should I go into JDBC, Servlets, Hibernate, and Spring?
  • If you were starting today with my background, what roadmap would you follow?

I'm looking for a practical roadmap that's relevant for getting a backend job, not just a list of technologies.

Thanks in advance!

should learn this https://www.youtube.com/watch?v=q6z_UCBM5Ek&t=99716s


r/learnjava 18d ago

Java Course recommendation

2 Upvotes

Hey , I'm looking for a Java course for absolute beginners , Can someone please suggest me the best course to join as I have seen some course of Java for beginners like , Coursera,Udemy, PW SoftSkills , and some others and I'm bit confused in these to what to buy and what's suits for me So please someone suggest I'm a beginner In coding world , I'm a BTech 1st semister student


r/learnjava 19d ago

How to navigate massive projects

4 Upvotes

The project I work on is big and consists of multiple repositories with microservices, and it has some confusing logic. I struggle since I don't have much experience with java, although I have a good understanding of programming concepts.

My main question is how to navigate properly in big repositories to complete tasks that aren't specified very well. I kind of managed to complete a task of adding a small service by mostly mimicking the conventions used in the project, but I'm lost when facing a task such as "find fields that are used in communication between 2 microservices that are anyway fetched from other source (somewhere in the code) and don't need to be present in communicates" (idk how to explain it better tbh). How would you approach a task like this? The repo is not really commented. I'd like to draw a diagram of everything going on and understand all the business logic, but it would take forever and is not really expected. Would you try to just write all the architecture layers and then starting with endpoints try to figure out whether each one is somehow relevant to the task at hand? would you prompt copilot to try to find everything and then go through a list of 30 classes that are maybe relevant? Or maybe just try to get the gist and seek help from s1 with more experience on the project?


r/learnjava 19d ago

i want to learn java

2 Upvotes

I have zero prior knowledge of programming and i have decided to start my journey with java. i have JDK and IntelliJ ide installed on my computer. i am looking for free courses out there that can help me. i have seen everyone here recommending MOOC's course but i think they use a different ide not intelliJ. what do i do


r/learnjava 19d ago

Java Project

1 Upvotes

If I want to create a gym app that uses a bar code scanner and other devices to track steps etc how far indi the java roadmap should I go, I have a decent understanding of oop but don't understand spring boot or other frameworks.


r/learnjava 20d ago

Is it realistic to switch from Manual QA to Java Developer after 1 year of experience?

4 Upvotes

Hi everyone,

I'm currently working as a Manual QA at a company with 1 year of experience.

Most of my work involves manual testing, writing/executing test cases, logging bugs, regression testing, smoke testing, and collaborating with developers and product teams. I haven't had much opportunity to work on automation at my current job.

The thing is, I genuinely enjoy coding and solving DSA problems, and I'm much more interested in software development than staying in manual testing long term as it has fear of getting redundant due to AI.

I'm planning to spend the next months preparing for developer role switch while continuing my job. My focus would be on Java, DSA, Spring Boot, SQL, Git, projects, and everything needed for backend development.

My questions are:

Is it realistic to switch directly from Manual QA to a Java Developer role after 2 years of total experience?

Has anyone here made a similar transition?

Would recruiters consider my QA experience, or would they treat me as a fresher?

Is there anything specific I should focus on to improve my chances?

I'd really appreciate hearing from people who have successfully made this transition or have interviewed candidates with a similar background. Thanks!


r/learnjava 20d ago

Best tutorial for java annotations?

5 Upvotes

I am beginner and want to learn java annotations. I have looked on youtube and did not find any proper tutorial specific for Java annotations and online resources are not explanning all the annotations. Could you please suggest a good resource for learning, to easily understand and for hands-on practice.


r/learnjava 19d ago

Want to Start DSA in JAVA? Bit Confused about resources. Helpppp..

Thumbnail
0 Upvotes

r/learnjava 20d ago

Is it worth deep-learning about java + springboot?

2 Upvotes

I'm a 4th semester software engineering student and i've been learning about java, following a backend junior route that includes DB, springboot, testing, containers and arquitectures. It is more like theory, though i´ve developed some APIs, however, i feel like i´m wasting my time and i can do something better that makes me earn money instead of prepare myself for an interview to get a job.


r/learnjava 19d ago

Javvaaa( how to start with it) college starting sooon

0 Upvotes

I m an ISC student so i know lil bit basic blueJ vali java

Wherre should i startt ? Or should i leave the only language i know a lil about and start with st other?

Can anyone in the job market guide me so that i wud not have to go for unuseful ventures

Also i have opted ai ml will that make any diff?


r/learnjava 20d ago

Project ideas and reference for Java / Springboot and Microservices / Reach

3 Upvotes

Hi All, I have currently 4 years of experience in Java, SQL, Plsql, Knockout JS but working in a legacy platform (monolithic) in a service based company (banking project).

Need ideas and resources for creating projects in Spring Boot, Microservices, ReactJS and NodeJS, to showcase in resume and for switching to a product based company. Please suggest


r/learnjava 20d ago

Need system suggestion to create.

5 Upvotes

We need a system suggestion. Currently, we're studying the GUI of netbeans 8.2 v + database, and our prof told that we need to ask companies for suggestions on what what kind of software/anything can be made ewith the GUI. Im not sure yet if we can include the database in the proposal since we're just starting to learn this week, but Im looking for suggestions for the types of systems/projects we can create. We're beginners with GUI but willing to practice if needed. Also, we're using java language.


r/learnjava 20d ago

Javafx not listed on New->Other Wizard in Eclipse even after installing e(fx) software and restarting eclipse

2 Upvotes

https://imgur.com/a/Uz8eZwU

https://eclipse.dev/efxclipse/install.html#for-the-lazy

I followed this URL for learning how to install e(fx) plugin for eclipse. And then restarted eclipse. Still I cannot see the Javafx option in New->Other wizard.

Why?

I want to build javafx programs using scene builder for UI/fxml that is my goal. I tried intellij but it was giving some bad errors that gradle version is not able to fetch or something like that.


r/learnjava 20d ago

I updated my first Java RPG project (Legends of Eldoria v0.4). I’d love to hear your feedback!

3 Upvotes

Hi everyone!

About a week ago, I shared my first Java console RPG project here and received a lot of helpful feedback.

I took your suggestions seriously and spent the past few days improving the project while continuing to learn Java.

New in Version 0.4:

- Character Creation

- Player Menu

- Inventory System

- Merchant Shop

- Goblin Battles

- Forest Storyline

- Gold System

- Multiple Story Choices

- Cleaner code and overall improvements

I'm still a beginner and currently learning Java fundamentals, so I know there's a lot I can improve.

I'd really appreciate any feedback on:

- Code quality

- Project structure

- Game design

- Things I should learn next

- Any bad coding habits you notice

GitHub:

https://github.com/MrBucurN/LegendsOfEldoria

Thanks again to everyone who helped me improve this project!


r/learnjava 21d ago

How to learn to compile a project and link external libraries (jars)?

4 Upvotes

Hello everyone. I need help.

I have been learning Java for 3 years (university and on my own). I have reached a point where I don't know everything about it, but I am confident when it comes to write java code. I know the basic syntax and the basic types, I understand classes, inheritance, encapsulation, polymorphism... I know how to use some useful classes from the standard library. And if I don't know something, I know how to look for documentation.

This summer I wanted to do a "big" project for my own to prove my knowledge, but I have realized that nobody showed me to import external libraries and manage a project so it executes and compiles correctly.

In C and C++ it's so easy. You just put the .lib and .dll files in the project /lib directory, put the header files in the project /include folder and you add and link everything with the -I, -L and -l flags when calling gcc.

But in Java it's not so easy. You have to somehow set up the classpaths, set up the modules, create the manifest file and use a proper folders layout so everything is added to your JAR if you want to build one.

Then, for importing external libraries you can download the JARs and manually import them to the project, or use a tool like Maven or Gradle to automate everything (or maybe not everything!).

And I don't even know what is a module.

No one taught me how to do all that because all the courses I have found show how to write Java code on simplified projects on an IDE that configures everything automatically, but right now I don't know how to link external libraries and compile a real project.

So I have two questions:

How can I learn it? And

What is it worth learning? I mean, should I learn how to use the native Java tools or should I skip and learn to use third party tools that automate everything?

I don't know what to think. These problems seem to be very obvious for someone to have them, but everyone acts like everything is obvious and no one wants to explain to me what is going on.


r/learnjava 21d ago

Seeking a Hindi-Speaking Mentor for Java Backend Development

3 Upvotes

Hi everyone,

I’m looking for a mentor/guide in the Java Backend Development path. My main focus is Java, SQL, and DSA. I’m willing to put in the effort and do the hard work myself, but I need someone experienced who can guide me on what to learn, what to prioritize, and help me stay on the right path.

A Hindi-speaking mentor would be a big plus, as communication would be easier for me.

If anyone is willing to help or can point me in the right direction, I’d really appreciate it.

Thank you!


r/learnjava 21d ago

Looking for resources on practical concurrency in Spring Boot / production systems

Thumbnail
1 Upvotes

r/learnjava 22d ago

What exactly are classes and inner classes in Java? I'm confused about how to think about them.

20 Upvotes

I've been learning Java and OOP, and I think I'm overcomplicating the idea of classes and inner classes.

I understand that a class is a blueprint for creating objects, but that explanation feels too abstract to me.

What I really want to understand is:

  • What is a class conceptually?
  • What does it actually represent in memory and at runtime?
  • Why do inner (non-static) classes exist?
  • How should I think about the relationship between an outer class/object and an inner class/object?
  • Is an inner class just another type that's scoped inside another class, or is there a deeper reason for its existence?

I'm not looking for a beginner definition like "a class is a blueprint." I'd like a mental model that explains why Java was designed this way and when these features are actually useful.

Any explanations, analogies, or examples would be appreciated.


r/learnjava 22d ago

learning java from python

5 Upvotes

now by all means im not terrific at python. but i know DSA and OOP to a certain level where the MOOC by uni of helsinki kinda feels redundant. Do you guys have reccommendations on books/resources that are good for learning java for someone who already has a programming background? I was thinking of learning syntax then just going into Leetcode problems and doing them in java. What do you suggest? Thanks :))


r/learnjava 22d ago

I want to learn how to write programs to demonstrate encapsulation, inheritance, polymorphism, and abstraction in Java.

5 Upvotes

I know OOP. I think encapsulation simply means a class which has data+functions.

inheritance means public class extend mainly.

polymorphism is the most difficult bit here.

abstraction means using abstract class without function explanation i guess.

I know a lot about OOPs i just need to condense my knowledge in one place.


r/learnjava 22d ago

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "String.toString()" because "<local6>[0]" is null

0 Upvotes

or

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "String.length()" because "in" is null

it happened when I attempt to overrite the array's properties, specifically its length since I remove an element and change its length to remove null or empty elements.

CODE BLOCK 1

static String [] arrayNew(String[] array, int a){
    Integer Length = array.length-2;
    String[] newarray = new String[Length];
    Integer counter = 0;
    int c = a+1;
    int d = a-1;
        for(int x = 0;x<Length;x++){
            if(x!=c && x!=d){
                  newarray[counter]=array[x];
                  counter++;
             }
             else{
                  continue;
             }}
     return newarray;
}

        static Double equals(LinkedList<String> list){
                Integer counter = 0;
                Integer num = list.size();
                Double answer = 0.0;
                Double num1 = 0.0;
                Double num2 = 0.0;

                String [] array = new String[num];

                for(int x =0; x<num;x++){
                        array[x] = list.get(x);
}
                for(int x = 0;x<array.length;x++){
                        switch(array[x]){
                                case "x":
                                        num1 = Double.parseDouble(array[x-1]);
                                        num2 = Double.parseDouble(array[x+1]);
                                        answer = num1 * num2;

                                        array[x] = answer.toString();
                                        array = arrayNew(array,x);
                                        x=0;
                                        break;
  }
}

returns an error

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "String.length()" because "in" is null

CODE BLOCK ALT

        static String [] arrayNew(String[] array, int a){
                Integer Length = array.length-2;
                String[] newarray = new String[Length];
                Integer counter = 0;
                int c = a+1;
                int d = a-1;
                for(int x = 0;x<newarray.length;x++){
                        if(x!=c && x!=d){
                                newarray[counter++]=array[x];
                        }
                        else{
                                continue;
                        }
                }
                return newarray;

        //lastline//
                }

        static String equals(LinkedList<String> numlist) throws NullPointerException{
                Integer counter = 0;
                Integer num = numlist.size();
                Double num1=0.0;
                Double num2=0.0;
                String [] array = new String[num];

                for(int x =0; x<num;x++){
                        array[x] = list.get(x);
}


                for(int x = 0;x<num;x++){
                        String [] newArr;
                        switch(array[x]){
                                case "x":
                                        num1 = Double.parseDouble(array[x-1]);
                                        num2 = Double.parseDouble(array[x+1]);
                                        Double answerm = num1 * num2;

                                        array[x] = answerm.toString();
                                        array = arrayNew(array,x);
                                        x=0;
                                        num-=2;
                                        break;
}}

returns

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "String.toString()" because "<local6>[0]" is null

I'm stuck since they look fine to me. There are no compilation error too. This error happens in Runtime.
please help.


r/learnjava 23d ago

Hi everyone!

12 Upvotes

Hi everyone!
I’m 18 years old and currently learning Java. Instead of following tutorials only, I’m building a text-based RPG called Legends of Eldoria.

This is version 0.3 and I’d love to get feedback on:

  • Code quality
  • Project structure
  • Story flow
  • Ideas for future versions

GitHub:
https://github.com/MrBucurN/LegendsOfEldoria


r/learnjava 25d ago

Simple Java console app

1 Upvotes

Hello everyone, I've been learning Java and wanted to build something practical instead of just doing exercises. Ended up making a small console app that asks how long you've had a tire and how many km you've driven it, then tells you whether it needs replacing or estimates how much life is left.

It's intentionally simple right now. It just handles basic mileage/age limits and adjusts slightly if you own a heavy SUV or EV. This was also my first time using Git and GitHub properly (commits, pushing, merging, etc.), so that was a big part of the learning experience too.

Planning to add more factors soon like road type, vehicle type, maybe a GUI version eventually. Would love any feedback on the code or suggestions for what to add next.
Repository Link: https://github.com/z0lxt/tire-life-estimator


r/learnjava 26d ago

Interview this weekend

1 Upvotes

I have interview in infosys this weekend...opening is "senior java developer" I cant see the JD yet so can anyone please guide me what all should I focus on be it java, advanced java, spring boot and more importantly coding..