× {{alert.msg}} Never ask again
Receive New Tutorials
GET IT FREE
Learn Java Online

Learn Java Online


Codementor provides Java expert help to help you learn Java development more effectively: test driven development, spring mvc, arrays, multithreading, and more. Learning Java Development to create performant and scalable apps can be challenging if you're doing this alone. Codementor helps you learn Java programming with live 1:1 help and build projects faster.

Learning Center  ›  Learn to Code  ›  Learn Java  ›  Java Guide
Get Notified of New Tutorials

sign up to receive our weekly newsletters

About Resources

Java is a good programming language to learn to expand your knowledge and increase your value as a professional in IT. Because it is a general-purpose language used for most desktop apps, backend systems, and all Android apps (just to name a few), the opportunities open to Java programmers are immense—one that is continually growing despite being a comparatively old language. It’s versatility, ease of learning, scalability, and rich API and supporting open source ecosystem makes this relatively beginner-friendly.

Java was originally developed by James Gosling at Sun Microsystems, which has since been acquired by Oracle Corporation, so it's only natural to go here to learn most of what you need to learn about Java. Oracle provides guides, tutorials, updates, and documentations for different versions of Java, and the link above will take you to the latest version, Java 8. This is a trusted website for both beginners and professionals, and this might even be a good place to start for complete programming newbies to help them decide if Java really is the right language for them to learn.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

For a more straightforward approach, Learn Java Online let's you key in Java codes and check if your codes work without the need to install and run a Java IDE (integrated development environment). This is all because of its coding interface that helps maximize the learning experience, and that's on top of the depth and quality of its content. Experienced or beginner Java programmers will learn Java from this site.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

Thinking in Java by Bruce Eckel perhaps is still one of the most relevant reading material about Java despite being first published in 1998. Professionals with years of experience all swear by this book, as it continues to provide a useful perspective on mastering Java for those with previous programming experience. Now available in its 4th edition, this book provides excellent explanation of Java constructs and concepts not typically present in other online resources. It's a must-read for every Java programmer.

Price Free for electronic version. For 4th edition and paperback versions, price ranges between $16.59-$41.47 in Amazon
Suitable for Total coding beginners, Java Beginners, Intermediate Java Developers

Learning anything new can get very sticky right away, but not with this book. Head First Java (2nd Edition) is loved by Java experts for its clear and user-friendly way of detailing concepts about Java. Some people would even go and describe it as a “fun” and an easy read to learn Java, as it's filled with good, quick examples. Though it has some limitations on Autoboxing, Swing, Collections, and Generics, this is still the perfect beginners book that will help kickstart programming careers.

Price Paperback edition ranges from $13–$28
Suitable for Java Beginners, Intermediate Java Developers

Introduction to Programming in Java adds a Princeton approach to learning Java. With a total of 4 chapters, it is meant for complete beginners. Learners can read through the website that also has links to the textbook with similar title.

Price Free
Suitable for Java Beginners

If you prefer to learn at your own pace and explore topics you feel are more suitable for your needs, Java Beginners Tutorials will take you from fundamentals to running source codes in no time. All in all, the tutorial has 30 chapters with modules about Core Java.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

Learning is different for everyone, and if you're one of those people who prefer visual and aural learning, Fun Programming is the site for you. This is perfect for anyone who wishes to learn code but feels it's too technical. Fun Programming could be the best gateway resource to learning to code with the help of graphics and sounds to help Java beginners experiment and build while learning.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

“The best way to learn is to do.” Or so Programming by Doing believes. The assignments in this tutorial are designed for anyone who has tried to learn Java programming on their own but couldn't get it going. There are so many tutorials to choose from like learning variables, GUIs, loops, Project Euler, etc. Anyone who would use this tutorial won't run out of new things to learn about Java anytime soon.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

For learning that's truly “pocket-sized”, Javvy is an interactive iOS and Android app that will teach you Java. The app promises to make learning Java more interactive and fun with puzzles and easily digestible tutorials. Users will learn the basics and will let you gradually progress to loops, strings, arrays, etc.

Price Free to download with one-time in-app purchase
Suitable for Java Beginners

As evidenced by this list, there are a ton of resources to learn Java, but none is as convenient as SoloLearn’s Java Tutorial. Java learners can choose the most convenient way of learning for them with Android, iOS, or Windows Phone app available, or just learn on the web. With a total of 6 modules broken down into 70 easily comprehensible lessons, they offer step-by-step Java tutorial through interactive learning by unlocking levels, collecting points, and competing with other users.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

Another source of simple and easy to understand beginner tutorials not just for Java but also for other computer programming subjects like Ruby, C++, JSP, and more. Studytonight provides free and easy education to anyone who wants to learn. Their Core Java Complete Course provides basic and special topics in Java combined with tests and Q & A forum with fellow users and course authors to ensure full learning.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

First-time coders can truly benefit from taking Udacity's Intro to Java Programming. This free course is intended for absolute beginners, not just in Java but also in programming itself. This course will provide beginners with a solid foundation in computer science and Object Oriented Programming concepts taught by expert Java programmers.

Price Free
Suitable for Total coding beginners, Java Beginners

MIT also offers an introductory software engineering class specializing on Java through their OpenCourseWare program. The course will cover useful concepts about Java that will enable students to develop working softwares. Note that it is designed for students with some programming experience but highly motivated beginners are also encouraged to apply.

Price $50
Suitable for Java Beginners

Another university headed lecture is Object oriented programming with Java by University of Helsinki. This course is self-paced so anyone can learn Java at his or her own time. The course includes the basics of computer programming, algorithms and object-oriented programming using the Java programming language. By the end of this 2-part course, students are expected to know how to build working apps and gain the necessary mindset as a Java programmer.

Price Free
Suitable for Java Beginners, Intermediate Java Developers

Open edX is a free open-source platform managed by various colleges and universities around the world. Their Introduction to Java Programming is a 5-week program taught by experts from Universidad Carlos de Madrid III. The link above is for part 1 of the course, after which the beginner can choose to learn more with part 2. The course offers recommended introductory lessons about Java fit for beginners, which will teach students the fundamental elements of Java programming and data abstraction.

Price Free. Add a Verified Certificate for $50
Suitable for Java Beginners

Java Basics is a paid course from Treehouse that will give the knowledge a programmer will need to build an interactive command line program in Java. Broken down in 3 modules, students will have a working prototype at the end of the course even without prior programming experience before signing up. Students only need to shell out $25 for monthly fee for the training, which will also give users access to other courses about Java for more learning.

Price $25/month for Basic Plan. $50/month for Pro Plan.
Suitable for Java Beginners, Intermediate Java Developers

The best way to learn is to get your feet wet and test the waters. With Codecademy's free hands-on tutorials for basic Java, students will learn the fundamentals with this introductory course. Upgrade to Pro, and users will get access to the rest of the course about conditional and control flow, data structures, data-oriented Java, and more. More than 60,000 students have enrolled in this course and it's one of the most trusted online courses for learning Java today.

Price Free Introduction to Java. $19.99/month to access the rest of the course.
Suitable for Java Beginners, Intermediate Java Developers

With more than 50,000 students, Udemy's Programming Java for Beginners is highly recommended for anyone who wants to build a strong foundation in Java. It comes complete with working files divided between 14 sections. Daunting as it seems, this is especially made for beginners for no-frills high-quality Java training.

Price $50
Suitable for Java Beginners

Coursera is the richest source for online education, and you can choose from hundreds of courses about Java and programming. One of the most of most complete is Duke University's Java Programming: An Introduction to Software Specialization. With a total of 4 chapters plus one Capstone Project, total beginners will learn foundational concepts such as algorithm development, data representation, debugging, using common tools such as HTML/CSS, Javascript, and Java at the end of the complete course.

Price $395, with seasonal discounts
Suitable for Java Beginners

For the latest information about programming, Java Code Geeks hands out relevant articles, tutorials, reviews, and codes snippets from specialists. Though Java is the main focus, they also provide useful content about software development, Agile, even career opportunities in tech.

Price Free
Suitable for Java Beginners, Intermediate Java Developers, Expert Java Developers

To keep up with the latest developer news, tutorials, and tools, DZone AKA JavaLobby is a favorite among Java developers. Known as “the heart of the Java developer community,” a lot of its content comes from it's fun community of Java programmers, so aside from insider information, it's a also a great place to touch-base with experts.

Price Free
Suitable for Java Beginners, Intermediate Java Developers, Expert Java Developers

Since it was created in 2007, Mkyong.com has been known to attract both beginner and expert Java developers. The website boasts a wide selection of Java tutorials from Spring, Grails, Hibernate, Struts, Struts 2 and more. Mkyong has become a go-to place for Java developers.

Price Free
Suitable for Java Beginners, Intermediate Java Developers, Expert Java Developers

With five robust chapters, this is one of the most complete free Java resources online for every stage of a career in Java programming. From clean source codes for common programming tasks, to helping you prepare for the industry-recognized Sun Certified Java Programmers (SCJP) exam, even answers to common Java-related questions asked during job interviews, FreeJavaGuide provides the programmer with the information he/she needs to learn Java.

Price Free
Suitable for Java Beginners, Intermediate Java Developers, Expert Java Developers

Javarevisited takes a project-based approach to learning Java. This is a blog that lets coders learn through programming scenarios by reading, learning, and sharing concepts about Java. There are content on Core Java, Spring, even programming interview questions for the job seekers.

Price Free
Suitable for Intermediate Java Developers, Expert Java Developers

To further expand your skills in Java and other related technologies, Programcreek is a regularly updated blog that guides Java programmers no matter what the skill level. From design patterns to algorithms, from basics to advanced concepts, this is one of the most expansive source of high-quality articles. There are also a lot of diagrams to help you understand things better.

Price Free
Suitable for Java Beginners, Intermediate Java Developers, Expert Java Developers

One of best blogs for Java developers, Javaworld houses one of the biggest collection of news, updates, tips and tricks to move your career in Java programming up. Core Java, Enterprise Java, Events, Java App Dev, Learn Java and Mobile Java, these are just some of the specializations they have for an in-depth knowledge in Java.

Price Free
Suitable for Intermediate Java Developers, Expert Java Developers

InfoQ boasts of their global community of Java experts that brings together key technology news and commentaries in the world of programming. They are one of the most reliable sources for expert Java content available today.

Price Free
Suitable for Intermediate Java Developers, Expert Java Developers

For reliable source of code snippets, with full examples and explanations, O'Reilly Java is a favorite for many experienced Java developers. The Java community benefits from the website's rich news and resources on Java and XML, Java Data Objects, Java Data books, Java IDE tools, Open source Java, P2P Java and many more.

Price Free
Suitable for Intermediate Java Developers

If you're looking to practice your Java coding skills and fully understand how Java works, CodingBat provides coding problems that will help build your Java knowledge through learning, testing, and training. CodingBat is a free site of live coding problems, created by Nick Parlante who is computer science lecturer at Stanford. You can practice your code in Java or Python.

Price Free
Suitable for Intermediate Java Developers, Expert Java Developers

Buggybread is another site where Java programmers can practice coding. It's filled with useful practical working examples and lessons, creative data models, and has an active global community of experts that are more than willing to contribute and ask questions to anyone using the website.

Price Free
Suitable for Intermediate Java Developers

Programmr is an online interactive lab for anyone who wishes to learn, practice and become proficient in programming. Their live Java projects, challenges, and examples is the perfect way to put your knowledge to the test and gain more experience in actually coding. They also have e-books, and other learning materials to help Java coders get better understanding of the technology.

Price Free
Suitable for Intermediate Java Developers, Expert Java Developers

As an easy-to-use library for testing with mock objects, Mockito is a fantastic tool every Java developer should use in their arsenal. The Mockito library allows mock creation, verification, and stubbing. Many Java developers love it for its simplicity and intuitive way of providing great control over the entire process.

Price Free

Aside of Mockito, another highly favored unit testing framework for Java is JUnit. JUnit helps find bugs in a Java code snippet or any other indivisible software component, which will ultimately result in better quality codes.

Price Free

Another debugging tool is FindBugs. It's an open source tool for static code analysis of Java programs, and it does this by scanning byte codes for bug patterns to find defects or suspicious codes. Unlike other static analysis tools, FindBugs doesn't focus on style or formatting; it specifically tries to find real bugs or potential performance problems.

Price Free

JRebel is a plug-in for the Java Virtual Machine (JVM) that enables instant reloading of changes made to a Java class file. It's a mainly Java productivity tool that skips the rebuild, restart, and redeploy cycle common in Java development, which enables developers to work better and faster.

Price $475 annually per license. Offers free trial.

Maven is another popular open source build tool for enterprise Java projects. Maven provides a uniform build system and is used for projects build, dependency and documentation based on POM (Project Object Model). It is another powerful project management tool for Java projects.

Price Free

Akka is an open-source toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM (Java Virtual Machine). It provides scalable real-time transaction processing and is adopted by many large organizations around the world.

Price Free

JAMon (Java Application Monitor) is a usefool tool for Java application performance troubleshooting. It's free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications.

Price Free

Easily manage automated tests in Eclipse with MoreUnit. This plug-in will enable programmers to configure the default source folder of tests as well as assist in writing and managing unit tests.

Price Free

One of the most important tools for Java developers is VisualVM. It's a visual tool that integrates several commandline JDK tools but it also has powerful tools for profiling, tracking threads, interacting with garbage collect, and so much more. It is designed for both production and development and by using Visual VM, it can be easier to diagnose performance issues in real time.

Price Free

For a free Java code coverage-reporting tool, use Cobertura. It calculates and reports test coverage for Java programs for measuring and visualizing Java code coverage. Cobertura is based on jcoverage and is commonly used for identifying which parts of your Java program are lacking test coverage.

Price Free

About Codementor
Learn Java

Learning Java development on Codementor enables you to learn Java best practices along with an expert who can make sure your code is clean and extensible. If you'd prefer, Codementor also allows you to build your first app quickly with Spring, Grails, or some other Java framework. You can also build a native Android app with the guidance of a mentor.

Live 1:1 help from expert developers

Codementor is your live 1:1 expert mentor helping you in real time.

Codementor is your live 1:1 expert helping you in real time