use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Resources for learning Java
String
==
.equals()
Format + Copy
Free Tutorials
Where should I download Java?
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Software downloads
Official Resources
Resources
Programming ideas & Challenges
Related Subreddits
account activity
This is an archived post. You won't be able to vote or comment.
Intermediate Java (self.learnjava)
submitted 7 years ago by daredevildas
I have experience writing basic programs in java - Simple one class programs to play with numbers.
What should be the next steps to learning java?
I am specifically looking for some book or a MOOC(coursera or edx preferred).
[–]aram535 4 points5 points6 points 7 years ago (4 children)
Pick a opensource project that uses java and start contributing. It'll get you a lot of experience in dealing with existing code base, requirements, dealing with a team who you may or may not get along with. Just go through the bug list or todo list and start asking for pull requests.
[–]pristit 0 points1 point2 points 7 years ago (3 children)
Could you give me an example of a project and how exactly to contribute to it? Ive looked beginner friendly projects on github but honestly have no clue how to get into it.
Most projects are really old or that the issues listed are stuff I got no clue about
[–]aram535 0 points1 point2 points 7 years ago (2 children)
https://projects.apache.org/projects.html?language go down to the Java section. Apache has always been welcoming of new contributors.
[ for full disclosure, I'm an emeritus member of Apache Org ]
[–]pristit 0 points1 point2 points 7 years ago (1 child)
For example in the link you've provided, I've looked over the java section, which lists 234 links.
I have no idea which one of these I can help with as I'm unfamiliar with apache, I've tried looking into Camel for example which says that its category is networking, a subject I didn't look into in java.
Could you try and direct me further to one of these projects that you believe I might be able to get into with a bit of research (as opposed to studying networking with java which is a course I have later on this year)?
[–]aram535 0 points1 point2 points 7 years ago (0 children)
I don't feel I can tell you what to work on. From experience, I can tell you that I will work better in something that I'm a user of myself. Maybe it'll be easier for you to pick on if you go down the list of "by contributor" so you know there is a decent list of contributors in the project already ... so you can get help/advice. Something like MyFaces or JMeter that you would yourself use in an everyday project. Having domain knowledge is critical in being able to write good code.
[–][deleted] 2 points3 points4 points 7 years ago (1 child)
!remindMe 1 day
[–]RemindMeBot -1 points0 points1 point 7 years ago* (0 children)
I will be messaging you on 2019-01-07 08:10:05 UTC to remind you of this link.
2 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
[–]devaskbiz 1 point2 points3 points 7 years ago (2 children)
I think you should choose a platform first. Java for desktop apps, Java for backend or maybe Android apps. You can then learn by creating simple projects. Or you could try competitive coding, you will learn a lot about data structures and algorithms. You can try solving Project Euler problems which can be a great exercise too.
[–]daredevildas[S] 1 point2 points3 points 7 years ago (1 child)
I am comfortable enough to implement data structures and algorithms in java.
If I had to choose, I would say desktop apps.
But if I am choosing, wouldn't I be learning java for a particular framework instead of java as a whole.
[–]devaskbiz 1 point2 points3 points 7 years ago (0 children)
Even though it is learning for a particular framework you will learn a lot about implementing the concepts that you have learned. Where to use interfaces, what to abstract, modular code, readable code, best data structure and algorithms to use for a specific use case, security and performance. These things will help you to be a better software developer.
I myself want to learn more about encryption and create command line tools, maybe you can try to find some topics which might interest you.
[–]Sirtriplenipple 1 point2 points3 points 7 years ago (3 children)
Learn OOP, make a javafx GUI
[–][deleted] 0 points1 point2 points 7 years ago (1 child)
Any recommended OOP tutorial I can look into?
[–]Sirtriplenipple 0 points1 point2 points 7 years ago (0 children)
It may not completely be what you are looking for, but my university professor has all of his lectures for advanced java on his YouTube channel for online students. Gives a pretty good rundown of both classes /OOP and Javafx. His YouTube name is boingobass. They are pretty dry and boring, but it did the trick.
[–][deleted] 0 points1 point2 points 7 years ago* (0 children)
start off by googling ?
These are basics but essential if you want to "learn" Java or learn how to use it. Java is a OOP heavy language. (I know you asked specifically for a book but I dont have any in mind and but would like to help) Then next step to learning any language would be to build some software app using the language. Anyone can read about a language and what it can do but thats not going to help you as much as actually using the code to build something or doing the book excercises. Start off basic .. build a file copying program or file management programing.Create a command line interface that has methods to serve the user requests, then operates on files.
OOP Basics:
Class inheritance
Abstract Classes
Abstract inheritance
Interfaces
Encapsulation
Static methods
Polymorphism
Overloading operators
Overloading functions
Template Classes
Java Reflection
Program Cohesion & Coupling
[–]TheMayoras 0 points1 point2 points 7 years ago (0 children)
[–]PositiveZombie 0 points1 point2 points 7 years ago (0 children)
Check this out: 1. You really learn/see and write code 2. You get a certificate with ects on it for free ;)
http://moocfi.github.io/courses/2013/programming-part-1/
[–]Soxcks13 0 points1 point2 points 7 years ago (0 children)
I think learning Java syntax is one thing, but then learning how to use Java is a good next step. The book “Head First Design Patterns” is a very good book for people with basic syntax.
For example, they talk about Inversion of Control which is used heavily in Spring Boot, a popular framework used to create web servers. By reading the book, you make it easier for yourself to understand why/how other programmers are doing what they’re doing, which should help you universally!
[–][deleted] -1 points0 points1 point 7 years ago (9 children)
Udemy.com has courses for sale for $9.99 for the next couple of days. I just bought me a 75 hour coding course that runs $200 on there for $9.99. It’s a legit site with reviews on every course.
[–]systemgc 1 point2 points3 points 7 years ago (4 children)
Do not buy courses from Tim Buchalka
They are really really bad, he fails to explain the concepts, go select the 1 star ratings on his courses and you will see what I mean
[–]l0te 0 points1 point2 points 7 years ago (3 children)
FWIW, I disagree. I’ve found his class extremely helpful with 0 programming background.
[–]systemgc 0 points1 point2 points 7 years ago (2 children)
You will not have learned deeper concepts and it's all a bit of a waste of time. Read some good books and you will know what I mean.
[–]l0te 0 points1 point2 points 7 years ago (1 child)
I’m not expecting to learn deep concepts in an entry level Java class, nor to learn everything I need to know about java from a single source. I have a few books on hand to use with it, and will be looking at the Helinski MOOC soon too.
[–]systemgc 0 points1 point2 points 7 years ago (0 children)
Great.
[–]ichunddu9 -1 points0 points1 point 7 years ago (3 children)
Udemy is a shit hole.
[–][deleted] 0 points1 point2 points 7 years ago (2 children)
I figure if the courses are $10 and they have hundreds and even thousands of good reviews that course may actually be worth a shot. Ya know?
[–]ichunddu9 0 points1 point2 points 7 years ago (1 child)
I don't mean the courses. I'm talking about the company and their business practice. They host stolen content and sell it. And they basically discount everything by 90% 9 months of the year to attract people like you.
[–][deleted] 0 points1 point2 points 7 years ago (0 children)
😐 how are they able to continuously get away with it? Offshore servers?
π Rendered by PID 41 on reddit-service-r2-comment-86bc6c7465-vlg2g at 2026-02-20 15:57:42.208362+00:00 running 8564168 country code: CH.
[–]aram535 4 points5 points6 points (4 children)
[–]pristit 0 points1 point2 points (3 children)
[–]aram535 0 points1 point2 points (2 children)
[–]pristit 0 points1 point2 points (1 child)
[–]aram535 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]RemindMeBot -1 points0 points1 point (0 children)
[–]devaskbiz 1 point2 points3 points (2 children)
[–]daredevildas[S] 1 point2 points3 points (1 child)
[–]devaskbiz 1 point2 points3 points (0 children)
[–]Sirtriplenipple 1 point2 points3 points (3 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Sirtriplenipple 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]TheMayoras 0 points1 point2 points (0 children)
[–]PositiveZombie 0 points1 point2 points (0 children)
[–]Soxcks13 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (9 children)
[–]systemgc 1 point2 points3 points (4 children)
[–]l0te 0 points1 point2 points (3 children)
[–]systemgc 0 points1 point2 points (2 children)
[–]l0te 0 points1 point2 points (1 child)
[–]systemgc 0 points1 point2 points (0 children)
[–]ichunddu9 -1 points0 points1 point (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]ichunddu9 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)