The top 20 places to learn Java

| 25 min. (5283 words)

You can learn Java online in many places. Each learning platform suits different learning styles and knowledge levels. The courses consist of Java tutorials, video lectures, code examples, interactive exercises, quizzes, Q&A forums, and web-based projects in various combinations.

Our comprehensive Java learning guide is part of our mission to help developers create high-quality and error-free applications. If you find the platform that best fits your interests and needs you will learn Java in a much more effective (and fun) way.

1. javaTpoint

javaTpoint is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 2,331
  • Recommended: beginner, intermediate, advanced

javaTpoint is a well-established and popular tutorial site for learning different programming languages like Java, C, C++, and others. The Java section covers everything you need to know. The tutorials start with the basics of Java, discuss object-oriented paradigms, and continue to explain advanced topics such as multithreading and networking.

The best thing about javaTpoint is that the tutorials are well-structured with an easy-to-use menu system so you can quickly find everything you need. The tutorials include helpful illustrations, charts, and code examples, too. javaTpoint also has separate sections for Android programming and popular Java frameworks such as Struts 2, Hibernate, and Spring.


  • Easy-to-navigate user interface.
  • Bite-sized tutorials (rarely longer than 1,000 words).
  • Rich content (code examples, images, charts, and infographics).
  • Built-in Java compiler to test the examples online.
  • Separate Java interview questions for job seekers.


  • No dates on tutorials (so, it’s not known when they were written or last updated).
  • The site has some alignment issues on mobile.

My thoughts on javaTpoint

javaTpoint has been my go-to site for a while for when I want to check out anything related to Java. I especially like the simple language and straightforward explanations. I wouldn’t use it to learn Java (or programming) from level 0, as I think beginners can benefit more from video lectures. But, if you already have some programming knowledge, javaTpoint is a great learning resource.

2. Tutorialspoint

javaTpoint is a great place to learn Java

  • Popularity: very high
  • Alexa Global Rank: 489
  • Recommended: beginner, intermediate, advanced

TutorialsPoint is another excellent tutorials library for all kinds of programming languages and web technologies. They have a section dedicated to Java tutorials and another one that discusses Java-related technologies. The latter includes a whole range of topics Java developers might want to know about, such as Apache Ant, iBatis, Hibernate, Maven, JSP, servlets, and many more.

They also have a library of video lectures that cover the basics of Java including topics like objects and classes, basic data types, and instance variables. Tutorials on more advanced topics such as multithreading or applet basics are available as articles with abundant code examples. You can test the examples using a built-in Java console.


  • It’s easy to find what you’re looking for.
  • Bite-sized video lectures (most of them are less than 5 minutes long).
  • Built-in Java compiler to test the examples.
  • Interview questions for job seekers.
  • Helpful computer glossary for beginners.
  • Many resources on Java-related technologies.


  • It’s not known when the tutorials were created/updated (except for video tutorials that show a publication date).

My thoughts on Tutorialspoint

Tutorialspoint is very similar to javaTpoint. Personally, I prefer javaTpoint due to the intuitive design. But, Tutorialspoint is just as great a resource to learn Java, especially if you need good tutorials on advanced Java-related technologies. Their video lectures are an excellent starting point for beginners, as they can help you pick up the basics and vocabulary in a stress-free way.

3. Java Code Geeks

javaTpoint is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 14,315
  • Recommended: intermediate, advanced

Java Code Geeks is a peer-to-peer resource center for developers who want to learn more about advanced Java topics. Besides Java, it also covers Android programming and a couple of JVM languages (Ceylon, Clojure, Groovy, JRuby, Kotlin, Scala). The Java tutorials are assigned to three categories on the site: core Java, desktop Java, and enterprise Java.

The tutorials have been written by experienced Java developers working in the industry—they currently have more than 500 professional authors. They mostly cover practical topics, many of which they encounter during their daily jobs. There are also a lot of articles related to job interviews, microservices, DevOps, design patterns, and other hot topics.


  • New tutorials are regularly published.
  • You can keep up with the latest Java trends.
  • Materials are written by industry professionals.
  • Rich content (a lot of code examples, illustrations, etc).
  • Covers many Java-related technologies, other JVM languages, and DevOps.
  • Career section for job seekers with Java interview questions.


  • It’s a bit hard to find what you need.
  • Tutorials are not very well structured.

My thoughts on Java Code Geeks

Unlike javaTpoint and Tutorialspoint, I wouldn’t recommend Java Code Geeks for beginners. It’s a site from geeks to geeks (the name Java Code Geeks is not a coincidence). The tutorials assume a high level of Java knowledge. But, if you need real-life examples and want to learn Java from experienced professionals, you can hardly choose a better resource.

4. Programiz

javaTpoint is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 3,243
  • Recommended: beginners

Programiz is a popular tutorial site that takes pride in providing beginners with the simplest programming tutorials. Besides Java, they also have learning materials for C, C++, Python, Kotlin, and R. In the first tutorial, they sum up the core features and terminology of Java and show how you can set up a Java environment for the first time.

The rest of the tutorials teach Java syntax, data types, variables, loops, and basic OOPs concepts. You can also find various Java examples on Programiz, such as how to concatenate arrays, get current time and date, or compare strings. All the examples have been tested and verified, so you can safely use them.


  • Beginner-friendly tutorials with hands-on examples.
  • An intuitive user interface (it’s effortless to find what you need).
  • Explains how to run Java on the three major OSs (Mac OS X, Linux, Windows).
  • Uses descriptive flow charts to show how things work (e.g.,., the break and continue statements).
  • The examples are separate from the tutorials (if you already know the theory, you can right away start to practice).


  • No publish dates on tutorials.
  • No built-in console (however, they explain how to set up IntelliJ Idea where you can test the examples).

My thoughts on Programiz

I like the idea behind Programiz. I also think that they have managed to achieve their goal—to provide beginners with the most straightforward tutorials possible. Programiz is admittedly a site for beginners. If you already know the basics you probably won’t find much value here, but it’s an excellent place to get started with Java.

5. Coursera

javaTpoint is a great place to learn Java

Popularity: very high Alexa Global Rank: 727 Recommended: beginner, intermediate

Coursera is the number one MOOC (Massive Open Online Course) provider in the world. They offer university-level courses in various subjects from arts to computer science. The classes have been created by notable universities and industry leaders worldwide. Besides single courses, you can also complete “Specializations” which are sequences of related courses.

At present, Coursera’s two most interesting Java Specializations are “Java Programming and Software Engineering Fundamentals” by Duke University and “Object-Oriented Java Programming” by the University of California. The courses are quite comprehensive. They include several video lectures taught by university professors, related readings, quizzes, and other learning materials.


  • Well-structured courses, easy-to-follow syllabus.
  • Several supporting materials (articles, quizzes, project work, etc.).
  • Discussion forums and peer-reviewed assignments.
  • You can stream courses on mobile with Coursera’s iOS and Android apps.
  • You can earn a certificate at the end of the course (and, without a certificate, it’s free to audit the courses).


It’s sometimes hard to search courses (for instance, the keywords “java” and “java programming” also return JavaScript and Angular courses).

My thoughts on Coursera

Coursera is an amazing learning platform. If you want to get started with Java, they have several high-quality courses for beginners. If you are interested in a specific Java-related topic (e.g., parallelism,) you also have some chance to find it. As you can audit the courses for free, you can also quickly assess if you are interested in a course before starting to learn.

6. edX

edX is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 1,163
  • Recommended: beginner, intermediate

edX is another popular MOOC provider that hosts online courses similar to Coursera’s. Currently, you can find 14 Java courses on edX (one in Spanish), most of them are introductory courses. Some of the Java courses are part of the Microsoft Professional Program in Entry-Level Software Development that targets beginners who want a career in IT.

Video lectures taught by industry professionals or university lecturers are the backbone of edX’s courses. They are complemented with a plethora of quizzes, examples, articles, and other learning materials as well. Each course has its own discussion forum where you can connect with your fellow learners and ask for help.


  • High-performance video streaming platform also available on mobile (Android, iOS).
  • Rich content that approaches the same topic from different angles.
  • Possibility to earn a certificate (or you can attend the courses for free).
  • Huge learning community always available for help.


  • It’s somewhat hard to navigate inside the courses,
  • The learning materials are not as well-structured as on Coursera.

My thoughts on edX

edX is a great way to start a career in Java programming, especially if you want to be certified by a company like Microsoft. The introductory courses are quite well-structured and comprehensive, so they’re definitely worth a try. edX also has a course on Automated Software Testing in Java that might open up new job opportunities for you, too.

7. Udemy

edX is a great place to learn Java

  • Popularity: very high
  • Alexa Global Rank: 293
  • Recommended: beginner, intermediate, advanced

Udemy is an e-learning platform that offers over 80,000 online courses in subjects like development, design, IT & software, and business. Unlike Coursera and edX, Udemy is not a MOOC platform, as they don’t offer university-level courses. Instead, Udemy lets creators submit their courses to their website. You can find ample information about each course and also check out students’ feedback and ratings.

At present, Udemy returns 1,316 results for the search query “java programming” with courses at all levels. This is r a vast number, so if you want a better selection you can also have a look at their Featured Java courses. The type of learning materials depends on the author, but every Udemy course is centered around online video lectures.


  • A wide selection of Java courses targeting students at every level.
  • Well-structured, information-heavy course portfolios.
  • High-quality video streaming platform, also available on iOS and Android.
  • Lifetime access to all courses (some courses are free, most come at a reasonable price).


  • It’s a bit hard find what you need due to the large number of courses.

My thoughts on Udemy

Personally, I have some trust issues with for-profit learning platforms where anyone can submit a course. However, Udemy does a very good job at providing as much information about the lecturers as possible, including student feedback. Many of the teachers are successful industry professionals, too.

8. Udacity

Udacity is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 2,155
  • Recommended: beginner, intermediate, advanced

Udacity is another popular MOOC provider, similar to Coursera and edX. It grew from Stanford’s online computer science courses, so, in its early days, Udacity focused on traditional university-like courses. Since then, they have moved towards preparing professionals for the job market. Udacity collaborates with notable companies such as Google, Facebook, and IBM.

Udacity’s Java courses have been created by Google. Udacity also has two nano degree programs (also by Google) that allow you to learn Android development on beginner and advanced levels. The courses are centered around video lectures and interactive quizzes, just like on other MOOC platforms.


  • You can learn Java and Android development right from Google’s programmers.
  • Possibility to earn nano degrees so that you can prove your knowledge.
  • Learning materials are frequently updated.
  • Active learning community, discussion forums related to the courses.
  • Access to the platform through mobile apps (Android, iOS).


  • The information about the courses is sometimes un-intuitive.

My thoughts on Udacity

Although Udacity doesn’t have that many Java courses, it’s a huge plus that they have been created by Google. To me, it’s been somewhat hard to navigate on their platform and find the information I needed. For instance, Udacity only notifies users with a tiny label that the Google App Engine course is deprecated.

9. SoloLearn

Sololearn is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 11,040
  • Recommended: beginners

SoloLearn is a crowd-learning platform where you can learn coding for free. They have interactive learning materials for a number of programming languages, including Java. SoloLearn’s Java tutorial consists of 65 lessons and 140 quizzes and focuses on beginners with no programming knowledge.

With SoloLearn, you need to unlock the learning levels step by step. You can only jump to the next level after you have accomplished the previous one. However, you can also choose to take a shortcut and accomplish more than one levels at once. If you have ever used Duolingo for language learning, you will have a good idea about the way SoloLearn structures its material.


  • Modern, well-structured user interface.
  • Bite-sized lessons with valuable interactive quizzes.
  • You can earn a (free) certificate at the end of the course.
  • Huge learning community and discussion forums in Q&A style.
  • With SoloLearn’s Android and iOS apps, you can also learn Java on the go.


  • You can’t go to any lesson you want (you need to unlock the previous levels first).

My thoughts on SoloLearn

Personally, I don’t like this step by step way of learning, but I realize that SoloLearn can provide a huge value for someone with a different learning style. The app is especially well-designed and eye-catching. I think it’s a great tool for anyone who quickly wants to pick up the basics of Java.

10. JournalDev

JournalDev is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 9,316
  • Recommended: beginner, intermediate, advanced

JournalDev is a project created by Pankaj Kumar, an IT professional with more than 10 years of experience as a programmer. Pankaj works with Java/Java EE and related technologies and regularly shares his knowledge with the developer community. JournalDev is a WordPress blog where you can find in-depth Java tutorials at every level.

The tutorials are quite well-structured, published in several categories. Besides core Java tutorials, you can also find learning materials related to different Java technologies such as servlets, Spring, JBDC, Hibernate, and others. Pankaj also has an interview Q&A section on JournalDev, categorized according to related technologies.


  • Very wide selection of topics.
  • Each tutorial comes with a table of contents that greatly facilitates in-post navigation.
  • Core Java tutorials are also organized according to Java version numbers (Java 10, Java 9, Java 8).
  • A vivid community that adds extra value to the tutorials in the comment sections.


  • Tutorials have no publication date.

My thoughts on JournalDev

I love one-person coding projects and JournalDev is one of the best I’ve ever seen. What I like the most is that it lets you search for topics using different taxonomies (version number, related technologies, table of contents, etc). It’s also worth signing up for Pankaj’s newsletter so that you can keep updated with the latest Java trends.

11. Studytonight

JournalDev is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 13,388
  • Recommended: beginner, intermediate

Studytonight aims to teach programming to young students with simplified learning materials. However, it’s also an excellent resource to learn Java for anyone interested in the language. The tutorials avoid fluff as much as possible. Most of them consist of code examples, descriptive illustrations, and clear and concise explanations.

Tutorials are published in three categories: Basic Java, OOPs Concepts, and Advanced Topics. However, the latter doesn’t include advanced topics but rather intermediate tutorials (Java exceptions, threads, collections, etc.). You can also find Java-related quizzes and flashcards on Studytonight that can help you practice what you have learned in the tutorials.


  • The tutorials use a simple language and come with a lot of examples.
  • Student-friendly quizzes and flashcards with helpful explanations.
  • Easy-to-navigate website, well-structured information.
  • Online community in Q&A style, called Studyroom.
  • An Android app and a Youtube channel for video tutorials.


  • No publish date on tutorials.
  • No built-in console to test the examples (this might be important for beginners).

My thoughts on Studytonight

Studytonight’s website has an awesome design that makes you feel like a real student. The materials make the learning process as enjoyable as possible. Even if you don’t read the tutorials, going through the quizzes and flashcards is a fun thing to do (and can also help you discover gaps in your knowledge).

12. W3 Resource

W3 Resource is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 6,147
  • Recommended: beginner, intermediate

W3 Resource has been created by a team of Indian developers who decided to publish high-quality learning materials in a couple of programming language, including Java. Despite its name, W3 Resource is not related to the W3C consortium. The information on the site is structured a bit weirdly. You can find Java resources among “Backend tutorials” and in the “Exercises with online editor” section.

W3 Resource’s Java tutorials take beginners to intermediate level as painlessly as possible. They cover all important topics you need to know, from setting up JDK and Eclipse to collections and threads. However, the best part of W3 Resource is their collection of Java exercises. The interactive exercises guide you through scenarios Java programmers frequently encounter on their jobs.


  • Tutorials are regularly updated.
  • Built-in Java console where you can test the examples.
  • Hands-on programming exercises with detailed explanations (and flowcharts!).
  • A nice bullet-point summary at the end of each tutorial.


  • The website has some alignment and performance issues on mobile.
  • Not very eye-catching design.

My thoughts on W3 Resource

Learning a new programming language is practice, practice, and practice. And, this is what W3 Resource does best. The exercises cover many important topics you can’t do without as a Java programmer. Even if you don’t read the tutorials, it’s still a good idea to go through the exercises and test your knowledge.

13. Jenkov tutorials

Jenkov Resource is a great place to learn Java

  • Popularity: medium
  • Alexa Global Rank: 25,447
  • Recommended: beginner, intermediate, advanced

Jenkov ApS is a software development company in Denmark, mainly focusing on entrepreneurial projects. As part of this initiative, they regularly publish high-quality programming tutorials on the subdomain. Currently, they have more than 750 pieces on software development and entrepreneurship, including a nice selection of Java tutorials.

Although Jenkov covers some beginner-level topics such as arrays and operators, the real strength of the site is advanced Java tutorials. Their learning materials are not only related to core Java but also to a plethora of Java-related technologies such as build tools, web servers, and Java Concurrency Tools.


  • A lot of code examples and helpful illustrations.
  • Bite-sized tutorials are written in simple language.
  • Covers a lot of Java-related subjects that are hard to find elsewhere.
  • Core Java features are grouped according to Java version numbers (Java 7, Java 8, Java 9, Java 10).
  • New tutorials are regularly published (and the tutorials show a publish date!).


  • It’s a bit hard to navigate on the site and find what you are looking for.
  • Less attractive design than some of the other sites in this list.

My thoughts on Jenkov tutorials

I like the idea behind Jenkov’s tutorials. But, even if they have excellent pieces for beginners, it wouldn’t be the first place where I’d start to learn Java. However, their advanced level tutorials are awesome. My favorite is Jenkov’s Netty tutorials, as Netty is an important topic on which I’ve hardly seen any learning materials.

14. Treehouse

Treehouse is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 4,613
  • Recommended: beginner, intermediate

Treehouse (or Team Treehouse) is an online programming school where you can learn many different programming languages and web technologies from expert teachers. Although Treehouse doesn’t primarily focus on Java, you can still find a number of excellent Java courses on their website.

They host three kinds of Java tutorials:

  1. Courses
  2. Workshops
  3. Practices (3-5 minute workshops, structured as challenge & solution).

Treehouse’s Java tutorials target beginner and intermediate programmers. They also have some courses and workshops on Java frameworks such as Spring, Hibernate, and Spark. The courses follow a quite practical approach. So, if you don’t want to spend too much time with theory, Treehouse can be an excellent choice for you.


  • The site is well-structured and easy to navigate.
  • The courses are labeled according to the knowledge level and material type (course, workshop, practice).
  • Rich content (high-quality videos, interactive code challenges, quizzes, etc.).
  • Huge community, extensive knowledge base, and professional customer support.
  • 7-day free trial.


  • No native mobile apps for iOS and Android (unlike other video learning platforms).

My thoughts on Treehouse

Treehouse is a high-quality learning platform with expert tutors and amazing materials. However, as they don’t have that many Java courses, I probably wouldn’t pay for the subscription solely to learn Java. But, if you already have a Treehouse membership it’s worth checking out their Java courses, too.

15. Oracle Java Tutorials

Oracle Java Tutorials is a great place to learn Java

  • Popularity: very high
  • Alexa Global Rank: 416
  • Recommended: beginner, intermediate, advanced

Oracle is the owner of Java, so naturally, they have a lot of learning materials on the language as well. Sadly, even if Oracle’s Java tutorials are quite informative, they are poorly structured and hard to find, as they are hosted in many different places. Although many people don’t know about it, each Java version has related learning resources on Oracle’s website.

Newer Java versions don’t have as many tutorials as older ones. The most comprehensive Oracle tutorials are written for JDK 8. Oracle also has an in-house Java tutorials blog but it’s mostly used for publishing new feature releases. They published a couple of nice screencasts about Java 9’s new features called Expert Insights, too. Besides, you can also find some useful Java tutorials in the Oracle Learning Library.


  • In-depth tutorials that cover several important subjects.
  • Tutorials/videos are written by Oracle’s in-house team, so they unlikely to have errors.
  • Tutorials clearly show which Java version they belong to.


  • Poorly structured resources, it’s very hard to find what you are looking for.
  • The site has sizing/alignment problems on mobile.

My thoughts on Oracle Java Tutorials

Personally, I wouldn’t rely solely on Oracle’s Java tutorials, even if they have high-quality materials for every knowledge level. There are much more user-friendly resources to learn Java. However, it can be a godsend if you want to understand a specific topic on a deeper level. For instance, I found their Java exception tutorials quite useful; they helped me a lot when I was writing a guide to Java terminology.

16. Java Beginners Tutorial

Oracle Java Tutorials is a great place to learn Java

  • Popularity: low
  • Alexa Global Rank: 198,726
  • Recommended: beginners

Java Beginners Tutorial started in 2010 with a single article about a core Java topic. Since then, it has evolved into a comprehensive learning website with hundreds of programming tutorials. In their Java Tutorials section, beginners can learn all basic concepts of the language. Java Beginners Tutorial covers many beginner-level subjects discussed less frequently, such as the difference between JDK vs JRE vs JVM.

Besides core Java tutorials, you can also learn the basics of:

  • Design patterns in Java
  • JSP (Java Server Pages)
  • Hibernate (object-relational mapping framework for Java)
  • The Spring framework

The tutorials come with a lot of code examples. Many of them even include short video lectures hosted on Java Beginners Tutorial’s Youtube channel.


  • Tutorials are well-structured and make use of different content types (examples, videos, illustrations, etc).
  • Tutorials cover a very wide range of beginner-level topics.
  • Intro tutorials to different Java frameworks.
  • A separate section for job interview questions (with short answers, too).


No built-in console to test the examples.

My thoughts on Java Beginners Tutorial

Java Beginners Tutorial uses a beginner-friendly, simple language. It’s not only a good resource for programmers who are new to Java but also for experienced Java professionals who are new to a specific Java framework (Hibernate, Spring, etc). However, my favorite is their Java design patterns tutorials—this is a much neglected but quite important topic.

  1. Skillshare

Skillshare is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 4,097
  • Recommended: beginner, intermediate

Skillshare is an online learning community that lets independent content creators publish their video courses. Although Skillshare’s main focus is not on Java (or back-end programming), you can still find many interesting Java courses on their platform. Course pages provide you with ample information about the classes and lecturers.

Most Java courses on Skillshare target beginner programmers. However, you can find some intermediate classes, for instance, about multithreading and unit testing as well. Many of the courses also include class projects where you can put your knowledge into practice. Besides core Java, Skillshare also hosts a couple of excellent classes about Android development.


  • High-quality video streaming platform.
  • Sophisticated filtering options, so you can quickly find what you need.
  • Active learning community, helpful course reviews.
  • Free mobile apps for iOS and Android.
  • A two-month free trial period.


  • Several introductory Java classes are quite similar to each other.

My thoughts on Skillshare

Skillshare’s concept is similar to Udemy’s—they allow content creators to upload their classes and let the market decide. To me, Udemy’s Java courses seem more interesting, but that’s mainly because of the larger selection. There’s a difference between their pricing models that’s worth noting, though. On Udemy, you pay per course while on Skillshare you pay a monthly fee that gives you access to all the courses.

18. Simplilearn

Simplilearn is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 14,898
  • Recommended: beginner, intermediate

Simplilearn is an online learning platform where you can follow industry-recognized learning paths and earn “masters certifications”. They have one training program directly related to Java, called the Java Certification Training Course. It promises to “guide you from the beginning concepts of Java to advanced programming”. It’s also the foundation of a couple of masters certifications such as the Software Engineer Master program or Automation Testing Master program.

Simplilearn’s Java Certification Training program is quite comprehensive. It includes 52 hours of video lectures, 35 coding exercises, and 2 web-based projects. Besides core Java topics, it also discusses some Java-related technologies such as the Hibernate and Spring frameworks, servlet programming, and web services.


  • Courses grouped as career paths to help you enter the job market.
  • The site is easy to navigate, there’s a lot of information about the courses.
  • Certifications are recognized by 40+ accreditation bodies.
  • Besides paid courses, there are also some free resources (articles, videos, ebooks).
  • Mobile apps available for Android and iOS.


  • Courses are called “masters certifications”, but aren’t equivalent to university-level Master’s degrees which could be confusing.

My thoughts on Simplilearn

Although Simplilearn has excellent resources to learn Java, I think it’s only worth enrolling if you want to go on with one of their master’s certifications that need Java as a prerequisite. Otherwise, it’s a bit pricey, especially since you can find high-quality Java tutorials at many other places, too. But, if you quickly need a certification for the job market, Simplilearn might be a pretty good solution for you.

  1. Program Creek

Program Creek is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 6,969
  • Recommended: intermediate, advanced

Program Creek is a no-nonsense tutorial site for programmers with intermediate to advanced knowledge of Java. There’s nothing else on Program Creek, only the learning resources. The tutorials are heavily packed with code examples, many of them barely contain any explanation. Program Creek doesn’t only have step by step tutorials but also more in-depth pieces that explain how Java works behind the scenes. For instance, they have a tutorial that discusses why String is immutable in Java and another one about what null exactly means for memory.

They also have a collection of frequently asked questions called Simple Java. However, the discussed topics are not that “simple” and target programmers with at least intermediate knowledge, too. Besides the tutorials, Program Creek has a great Java example search engine as well where you can find code examples for different Java APIs (JDBC, Spark, Swing, etc.)


  • In-depth tutorials with rich content (code examples, illustrations, graphs, etc).
  • Several tutorials about algorithms and comparisons (inheritance vs composition, Swing vs SWT, comparable vs comparator, etc).
  • Built-in code example search engine for Java and Scala APIs.
  • Very detailed Java code interview questions & answers.


  • The site is hard to navigate; the tutorials are not very well structured.
  • No responsive site for mobile users.

My thoughts on Program Creek

If I were preparing for a Java code interview Program Creek would be the number one place I would go. It’s an excellent resource for anyone who needs real-life Java examples, helpful use cases and wants to understand the language on a deeper level. Their code search engine is also helpful if you need some inspiration about a specific Java API.

  1. Codecademy

Codecademy is a great place to learn Java

  • Popularity: high
  • Alexa Global Rank: 2,239
  • Recommended: beginners

Codecademy is an interactive learning platform where you can learn different programming languages for free. Currently, they have one Java course called Learn Java that helps you learn the basics of the language. It doesn’t have any prerequisites, and you can complete the whole course in no more than 10 hours.

In Codecademy’s Learn Java class, you need to accomplish interactive lessons step by step. The lessons consist of instructions, online exercises, quizzes, projects, and occasional video walkthroughs that intend to help you with the projects. You also get access to a built-in Java console where you can run your code, and the app automatically checks your solution (and gives you hints when it’s necessary).


  • Well-structured syllabus consisting of bite-sized lessons.
  • Built-in console with a user-friendly side by side view.
  • Hands-on class projects (e.g., creating a basic calculator).
  • Codecademy Go app for iOS and Android devices.
  • An active learning community where you can get feedback and help.


  • You can’t access the course material as one piece. If you are directly looking for something you need to jump from level to level inside the app to find it.

My thoughts on Codecademy

If you want to learn Java from the start Codecademy offers a unique experience. It’s a high-quality web application that comes with a beautiful design and a lot of useful features. Going through the lessons and projects constantly provides you with a sense of accomplishment which is something most beginners are in need of.

Table of results

Beginner Intermediate Advanced
javaTpoint x x x
Tutorialspoint x x x
Java Code Geeks x x
Programiz x
Coursera x x
edX x x
Udemy x x x
Udacity x x x
SoloLearn x
JournalDev x x x
Studytonight x x
W3 Resource x x
Jenkov tutorials x x x
Treehouse x x
Oracle Java Tutorials x x x
Java Beginners Tutorial x
Skillshare x x
Simplilearn x x
ProgramCreek x x
Codecademy x


People have different learning styles and they can make use of learning resources with various levels of success. Personally, I prefer written tutorials to video lectures, but you might think it’s the other way around. The important thing is to find the platform that best suits your own needs.

Java is a huge subject as well. There are a lot of materials for beginners, but it’s much harder to find Java tutorials that discuss advanced topics. Besides the learning platforms discussed in this guide, you can also have a look at the documentation of specific Java-related technologies such as the Spring Boot. They frequently publish their own tutorials (usually written by in-house developers!) to help you get started with their tool.