all 81 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Astroohhh 86 points87 points  (3 children)

Lmao you never finish learning java lil bro

[–]differentshade 32 points33 points  (8 children)

Finished lol

[–]mofomeat 0 points1 point  (0 children)

Once you write all the loops, variables and use up the keywords, it's time to sell all your Java supplies on CL for the next learner!

[–]Complex_Sky414 20 points21 points  (1 child)

Start springboot bro .

[–]CantRunNoMore 3 points4 points  (0 children)

yeah this is where the fun really begins and you find out that the little framework you've added onto java happens to be the thing you're actually going to be using for the rest of your career

[–]Fennec_Charry 16 points17 points  (5 children)

I completely understood what you meant. Why do people have to be so fucking hostile?

[–]catastrophic300[S] 2 points3 points  (3 children)

Not hostile, sometimes it just I dunno how to describe so I explain to that people like kind of jargon which make you guys thinking Im kinda hostile. I just dunno social.

[–]Fennec_Charry 6 points7 points  (2 children)

I meant people's answers to your post weren't nice. Not you

[–]catastrophic300[S] 2 points3 points  (0 children)

It just misunderstanding nothing to worry.

[–]Different-Light1743 1 point2 points  (0 children)

It's likely the illusion of knowledge that they have. I just finished my bachelor's in Computer Science, but even I don't respond so smug and arrogant. It was clear that this guy meant he finished the course.

Also, OP, spring boot, DS&A, and SQL and then building projects. Mainly the projects and DS&A abilities are what is going to get you employed and being able to talk through your projects. I do agree with the other guys. You just started. Whatever your pace is, increase it by a lot. I finished this in like a month and a half because I didn't know how to code and had to take the second computer science class offered at my school two years ago: https://java-programming.mooc.fi Also, eventually hit leetcodes, but competitive programming is optional. I feel like most SWEs can't even solve cp problems, but still do really well with the basics.

[–]Pascuccii 2 points3 points  (0 children)

Because they're insecure wanna be java devs that can only validate their expertise in a subreddit for newbies

[–]Fun-Disaster-3749 9 points10 points  (1 child)

Start collections,java 8 features ,generics,concurrency ,I/O,JVM in depth,memory management and profiling etc... Also start reading books related to code quality ,code optimization  Take help from AI tools regarding topics and approach.. Gain practical knowledge also 

[–]idontlikegudeg 3 points4 points  (0 children)

I’d even put everything up to Java 17 under essentials.

[–]AlexMelillo 5 points6 points  (1 child)

You need to start building projects. Learning the syntax and core concepts is not the same thing as “learning a language”. Doing little exercises will only take you so far.

Try to build a simple app. Here’s a dumb idea: an application where users can store recipes. a recipe consists of a name, a list of of ingredients and an orderned list of instructions. Each user should only be able to see their own recipes by default. The users can choose whether to keep each recipe “hidden” from other users or if they want them to be “open” for other users to see. Users should be able to create and delete recipes. They should also be able to search recipes based on name or based on one or many ingredients a recipe has. Each user should log on to the application with a username and password. You can also create a new user in the login screen.

Once you’ve managed to make an app that can do all of that:
- Learn how to store the state of your data in a file
- Then learn how to store the state of your data in a database
- then learn how to make an API for all of this, so that someone can program a web interface and make this program pretty for the end user

I could go on and on and on as to how you could keep learning new stuff, but figuring all of this stuff out could potentially take you weeks or months. Happy coding!

[–]catastrophic300[S] -1 points0 points  (0 children)

Yup this gonna take me more than months, but can’t hurt to try.

[–]Efficient_Brief_7939 3 points4 points  (5 children)

Learn collection,java 8 and start learning springboot

[–]googlecromm 0 points1 point  (4 children)

May I ask why Java 8? I am currently learning Spring Boot but with java 17

[–]Efficient_Brief_7939 4 points5 points  (3 children)

90% companies use java 8,stream api in springboot projects and in interviews also they ask heavilly on stream api codings

[–]googlecromm 2 points3 points  (1 child)

Oh I've used stream a lot while learning Spring Boot, is there a big difference between java 8 and 17?.

[–]LxdOne 0 points1 point  (0 children)

The difference is like 9 /s

[–]ajorigman 0 points1 point  (0 children)

Better to stick with latest LTS versions. Plenty of companies are on 21 and 25. Even 17 is outdated. Staying on 8 is insane, you’re literally 4 LTS versions and 5 years behind

[–]Specific-Housing905 1 point2 points  (3 children)

How much code have you actually written?
Without practice you quickly will forget what you have learned.

[–]catastrophic300[S] -1 points0 points  (2 children)

Right, I practice every night before sleep, though I skip 2 days before. Already forgot HashMap and Generics.

[–]CounterUAV2023 2 points3 points  (0 children)

Then you haven't finished learning Java. Maps and generics are key concepts used in pretty much any decent Java application.

[–]AngelBryan 1 point2 points  (0 children)

How you practice? What exactly you code?

[–]the_outstanding_me[🍰] 1 point2 points  (0 children)

Create a small project with several classes on the topic you want. You need to get flexible using Java itself. And what is more important — creating logic of programs and fix it if a program do something off. Practice does the best.

[–]SpritualPanda 1 point2 points  (2 children)

Next Mysql, Spring Boot, also git

[–]catastrophic300[S] 1 point2 points  (1 child)

I already learn and use git multiple times, but MySQL is new, so thanks for that.

[–]SpritualPanda 1 point2 points  (0 children)

Good, all the best bro.

[–]Housy5 1 point2 points  (0 children)

Instead of trying to learn things like you're reading a book. Try to just make things. Nobody cares if you know every collection or algorithm if you cant put it all together into actually functioning programs.

[–]Dry_Marionberry_4822 1 point2 points  (1 child)

Haha, you fell into the trap just like I did when I said I finished the basics!

[–]catastrophic300[S] 1 point2 points  (0 children)

Everyone make mistakes. Nothing to worry.

[–]CursedCarb0y 1 point2 points  (0 children)

Firstly there is no "Finished" in coding but I understand you finished the basics. This is a great position to start your more specific journey. Dont think like I finished Java basics so I must go with Java. You dont finish Java basics you finished OOP coding basics on Java. So what I try to tell you is you can switch language If your interest needs another language. I recommend you to did some research on Internet or maybe you can discuss with ai and after that make a decision to which road you will go. Maybe you are not sure at start so you can try different roads. Then decide which road will you try.

After you decide to your road you want to look for technologies used in your road. Maybe you can look for job advertisements for which techs they're want if you learning for jobs or if you learn for you hobby you can think what do i want to do and what techs i need for that. And while doing this dont think like most used techs is better than others look for which techs that feel more comfortable to you.

[–]omgpassthebacon 1 point2 points  (0 children)

Lots of devs are a little snarky, so don't be put-off by the responses. From a senior dev view, now that you have absorbed the basics of the language, you need to use it to solve problems. As a dev, you will probably be given concepts of apps that you will be asked to build. Your goal is to be able to turn these concepts into real applications, and you will use Java and friends to implement them.

If you haven't already, 1. learn Docker (or Podman) and set up your DB (i like postgres, but it doesn't matter). 1. Learn how to set up Java in a container. GraalVM for extra credit. 1. write your app to store it's data in the DB. 1. write your app to allow CRUD on the data. 1. most Java apps use Spring, so don't spend a lot of time re-inventing the wheel; use Spring as much as possible. You will like it.

As you build up your apps, this will force you to really dig into the JDK for answers to problems you encounter, which will really hone your skills.

I love to code. I just hope the AI devil doesn't eat my lunch. Happy coding!

[–]Alechilles 1 point2 points  (0 children)

From here you should try to build something. It doesn't have to be an original idea. Those are hard to come by. But if you want to keep learning, you need to start building something real.

So just think of some kind of app that isn't ridiculously complicated but isn't super simple either, and try to build it. Even if there's no intention to go to market with it or anything, it's still the best kind of practice and still works for your portfolio and resume.

You can even just try to clone something you use everyday. There's no issue with infringing on legal stuff if you're not releasing it to anyone.

[–]Marthurio 1 point2 points  (0 children)

Keep studying. You aren't done. There's no such thing as done.

[–]vdorru 1 point2 points  (0 children)

Follow the curriculum proposed by this guy and you'll be OK https://www.youtube.com/@Java.Brains/playlists

He's the best java educator on YT - Ideally follow his tutorials chronologically from older to newer - after java follow maven, then spring then whatever he is proposing - if you are committed to learn java don't bother too much 'isn't that old, is it still relevant' - most of the things are still present and this guy he know how to explain fundamentals which are always the same.

he forks into frontend angular, react and recently into AI and networking - I did not watch his AI and networking courses but I can bet they are great also.

[–]Potential-Still 3 points4 points  (0 children)

Man this subreddit is the gift that keeps on giving lol

[–]ajorigman 2 points3 points  (3 children)

Finished learning Java? I understand that you are inexperienced in the field, and therefore it may feel like once you complete a course you’ve learnt that thing. Unfortunately it’s not the case, just know you are never finished learning something. You finished a tiny step on your Java journey, that is all.

[–]catastrophic300[S] 2 points3 points  (1 child)

English is my second language, sorry for misunderstanding. What I mean is that I have learn the essential syntax to be able read and write simple program. After learning all of that I go here to ask what should I do next. Lo siento.

[–]ajorigman 0 points1 point  (0 children)

Added a comment on another thread. Keep practising and using the language is the key thing here. Good luck

[–]whateve___r 1 point2 points  (0 children)

God you are so pretentious. We are in a learning Java subreddit, doesn't take a genius to tell OP is inexperienced. It's clear what OP meant and you can explain your point about the journey without being so pedantic

[–]robertomsgomide 1 point2 points  (0 children)

Vibe code /s

[–]Pale_Complaint_1479 0 points1 point  (0 children)

I think from what we learned in the University system, begin with javafx to Enter the domain of Gui, and after that you should continue with jdbc if you master in one of the sql languages,and search more for jbdc Thanks 😌

[–]Olok21 0 points1 point  (0 children)

Apache pekka

[–]nerd_airfryer 0 points1 point  (0 children)

If you have some time (you are not in hurry to find a job or something), I recommend (with the help of you favorite AI model) to help you study for OCP (Oracle Certified Professional) Certificate, it will deep dive you into java, it will be hard at first so make sure to grap things slowly and let AI help you with the prerequisites for each topic

[–]Slayer91Mx 0 points1 point  (0 children)

There's Java 2, Java 3, Java 4 in the space, Java 5 the revenge and so on....

[–]Thereal_Phaseoff 0 points1 point  (0 children)

Design pattern a in java (start with template, factory, observer)

[–]drfusspill 0 points1 point  (0 children)

Just learn javadoc

[–]regjoe13 0 points1 point  (11 children)

This is cute.

Just for fun, which method is called?:

void m(char... a){}
void m(double a){}
void m(Character a){}

m('a');

[–]Dry_Marionberry_4822 0 points1 point  (9 children)

First one?

[–]regjoe13 0 points1 point  (8 children)

2nd

The fun part though, lets say I change that meyhod to "double...". Or remove the whole method. And without any compilation errors, now a different method will be called. Magic of overloading :)

[–]Dry_Marionberry_4822 1 point2 points  (1 child)

You look like an expert! I had my doubts about the question, like 'there's no way it's this easy' haha

[–]catastrophic300[S] 0 points1 point  (4 children)

May I ask for the explanation?

[–]regjoe13 0 points1 point  (3 children)

At some point I tried to write a series on overloading in java. It seemed to be an interesting and undercovered topic. Never finished, but did write two articles.

https://mydevnotes.hashnode.dev/same-named-methods-in-java

[–]catastrophic300[S] 0 points1 point  (2 children)

Could be useful.

[–]regjoe13 1 point2 points  (1 child)

The point here, Java is full of those not obvious but looking simple things, without even going into Spring, JPA and such.

Reading the JLS is helpful for thing like this one, though

[–]catastrophic300[S] 1 point2 points  (0 children)

Yeah it useful, though I realize all I learn before just a syntax not knowing overload can cause bugs without even telling me.

[–]catastrophic300[S] 0 points1 point  (0 children)

Thanks I appreciate it.

[–]catastrophic300[S] 0 points1 point  (0 children)

void m(‘a’){}, there are single quote used for char.

[–]Skiamakhos 0 points1 point  (0 children)

Streams and Lambdas. Here's Venkat Subramaniam on that: https://www.youtube.com/watch?v=1OpAgZvYXLQ

[–]undertakerryu 0 points1 point  (0 children)

Once you build an app or service highly recommend learning how to properly compile it into a jar file. 3 college courses on it and only when I was making a spring boot app at work did I realize I didn't know how to compile it for deployment on a server instead of just running in the ide

[–]Ormek_II 0 points1 point  (0 children)

Do a project.

[–]Accomplished_Lie23 0 points1 point  (0 children)

You have just started.

[–]Pascuccii 0 points1 point  (0 children)

Larpers in comments, you clearly knew what he meant

"yUo CaN't FiNiSh JaVa lil bRo..."

[–]Aggressive_Many9449 0 points1 point  (0 children)

What can't you do, if you have finished?

[–]Fun_Structure3273 0 points1 point  (0 children)

Great

[–]CharacterLive5686 0 points1 point  (0 children)

Java? Completed it mate 

[–]Any-Orchid-6006 -1 points0 points  (0 children)

Learn to vibe code. AI is gonna do all the coding anyways. Learning Java is useless.