‘How To Learn Java — Here Are The 35 Best Websites

Sekhar Kumar
9 min readNov 28, 2020

By Sekhar Kumar (Developed by Code3school)

Yes, still now millions of software engineers/technicians/students are roaming and searching with a question — how to learn Java? If you are one of them, you have come to the right place. We are dealing here, in this article, in detail, how to learn Java. There is no single answer to the question — how to learn Java? The routes and methods to learn Java will be different for learners with different backgrounds, knowledge-level, experiences, and ages. Java was initially released about 30 years ago. However, Java is still one of the most popular and useful programming languages ​​in modern technology. In a study conducted by dzone, it ranked first in 2019 and ranked 3rd (after C and Python) by the TIOBE index for February 2020.

Java is a programming language and a platform also. It is a high level, robust, secure, and object-oriented programming language. A small team of engineers led by James Gosling, Mike Sheridan, and Patrick Naughton at Sun Microsystems initiated the Java language project in June 1991. It was called the Green Team. Initially, it was called “Greentalk” by James Gosling, the main creator of Java; and the file extension was .gt. Later, as Oracle Corporation had bought Sun Microsystems(in 2010); control, supervision, and development of Java came under Oracle.

For a short time, the new language was named ‘Oak’. But finally, Java was selected as the name. Once, James Gosling said, “Java was one of the top choices along with Silk”. But the name ‘Java’ was so unique that it was preferred by all the team members.

How To Learn Java — Basic Java Developer Skills:

  1. Computer Science Fundamentals: Open Culture is a nice place to learn computer science fundamentals free.
  2. Data Structure(the most commonly used data structures are: Array, Stacks, Queues, Graphs, Tries, Linked Lists, Trees, Hash Tables), and Algorithms. You can have the primary reading here.
  3. Git and Github
  4. JavaServer ages(JSP) and servlets
  5. Service-oriented architecture/web services (SOAP/REST)
  6. Linux:
  7. Object-oriented programming (OOP) concepts and patterns
  8. Web frameworks(e.g. Struts and Spring)
  9. Web technologies like HTML, CSS, JavaScript, and JQuery
  10. Markup languages like XML and JSON
  11. Abstract classes and interfaces
  12. Constructors
  13. File IO and serialization
  14. Collections: lists, maps, sets
  15. Access specifiers
  16. Exceptions (checked and unchecked)
  17. Generics
  18. Java keywords: boolean, byte, char, static, volatile, final, transient, synchronized, etc.
  19. Java virtual machine (JVM) and memory management
  20. Multithreading and synchronization
  21. Dependency injection
  22. Design Patterns:

How To Learn Java — Some advanced skills for Java development jobs:

  • AI and machine learning
  • Blockchain
  • Basics of Python language
  • Amazon Web Services
  • Hadoop/Big Data
  • Mobile technologies (Android or OS)
  • Advanced JavaScript framework (e.g., Angular, React, VueJS)
  • Spring Boot/microservices

How To Learn Java — A Deeper Learning

Deeper learning within the Java platform includes Java cloud platform, Java Runtime Environment (JRE), Java SE (Java Standard Edition), Java card technology, Java EE (Java Enterprise Edition), Java ME (Java Micro Edition), JDK (Java development kit), Netbeans (an integrated development environment for Java), Java VM (Java Virtual Machine), Java API’s, connecting to a MySQL database with Java, Java versions (such as Java 8), and more.

Java versions

Before going to different links and routes to learn Java you must know about the short history of different Java versions and its present status regarding technical support and security updates.

1. JDK Alpha and Beta (1995): The Java Alpha and Beta was the first release.

2. JDK 1.0 (January 23, 1996): It was the first stable released version of Java. Its codename was Oak. JDK 1.0.2 was the first stable version o Java and it was called Java 1. JDK 1.1 (February 19, 1997);

3. J2SE 1.2 (December 8, 1998): Its codename was Playground.

4. J2SE 1.3 (May 8, 2000): Its codename was Kestrel.

5. J2SE 1.4 (February 6, 2002): Its codename was Merlin. It was the first Java platform which was released under the Java Community Process.

6. J2SE 5.0 (September 30, 2004): Its codename was Tiger. Support and security updates for Java 5.0 ended on November 3, 2009, but updates were available to paid Oracle customers until May 2015. Java 5 was the last release of Java that officially supported the Microsoft Windows 9x line (Windows 95, Windows 98, Windows ME).

7. Java SE 6 (December 11, 2006): Its codename was Mustang.

[Safra Catz (CEO of Oracle) explained that Oracle had bought Sun because so much of Oracle’s own product was based on Sun’s Java, and they were actually concerned about what would happen if someone else acquired Sun. She later clarified that she had meant that Oracle “was afraid” IBM would buy Sun.

The acquisition of Sun Microsystems by Oracle Corporation was completed in 2010. Significantly, Oracle owned both hardware and software product formulations from Sun.]

8. Java SE 7 (July 28, 2011): Its codename was Dolphin. It was launched on 7, July 2011 but was made available for developers on July 28, 2011. It was the default version to download on java.com from April 2012 up to the release of Java 8.

9. Java SE 8 (March 18, 2014): Its codename was Spider. Although, codenames have been discontinued, the codename Spider is common among Java developers. The public updates will continue up to January 2019 for Oracle (commercial) — indefinitely for Oracle (personal use) — at least May 2026 for AdoptOpenJDK- at least May 2026 for Amazon Corretto. JAVA SE 8 is the only available version of Java having — extended support until Dec, 2030.

10. Java SE 9 (September 21, 2017):

11. Java SE 10 (March 20, 2018)

12. Java SE 11(September 25, 2018)

13. Java SE 12(March 19, 2019)

14. Java SE 13(September 17, 2019)

15. Java SE 14(March 17, 2020)

16. Java SE 15(September 15, 2020)

17. Java SE 16 — The propagated release date of JDK 16 is 26th March, 2021.

Here is the Official Java Twitter declaration for Java 15:

Java

@java

Sep 15

(Oracle declares:) Oracle is proud to announce the availability of #Java 15!

[Read Here: JDK 15: The new features in Java 15]

Now, go ahead! Choose the best way to learn Java!!

We have described different routes to learn Java. But how to choose, what to choose? If you need, we are here. Ask questions in the comment.

1. Mycodeschool — One of the best places to learn JAVA. You can learn, practice , execute JAVA program here. You can ask for mentor too. Have a look here.

2. W3schools: It is one of the best learning center of coding, in the world. You can learn Java here from the scratch, can practice the basic exercise and check the validity of your knowledge (completely free of charges), get certified as JAVA developer(With Charges) or for other programming language.

3. Oracle Java Tutorial: The owner of Java itself conducts a tutorial to teach Java. You should have a look here also.

4. Codegym — It is a fantastic place for beginners. It is actually a paid course. But training methodology is no doubt unique.

5. W3resource — https://www.w3resource.com/java-tutorial/

6. Udacity: This is an excellent platform to learn JAVA. https://www.udacity.com/course/java-programming-basics--ud282

7. Github — Obviously, Github is the best place to learn Java, or any other programming language in the world. But, this is not a place for the beginners. Still, there is scope to learn from scratch.

8. Stackoverflow: — Obviously, this is one of the most effective platforms to learn JAVA. Learn, practice, and test your coding skill with innovative challenges. Go here to learn JAVA effectively.

9. Free Code Camp: This is also a very interesting place to learn coding( with nominal charge)

But it is the best place for learning programming languages related to web designing.

10. Javatpoint: This is also a nice place to learn JAVA.

11. Java Code Geeks: This is also a good platform to learn JAVA. https://www.javacodegeeks.com

12. Java Beginners Tutorial: https://javabeginnerstutorial.com/

13. https://code.org/

14. https://www.javacodegeeks.com/

15. freecodecamp.org — This is one of the most brilliant community websites which will help you to learn to code intensively, build real-world projects, and help to get a job as a developer. It has a massive collection of interactive tutorials and exercises to learn JavaScript, Data Structure and Algorithms, Frontend Development, and so on.

16. Coursera: This is another nice website to learn Java online. It is founded by Stanford professors Andrew Ng and Daphne Koller. Coursera offers online courses from Universities like Stanford, Harvard University, University of London, University of Michigan, Colorado, Imperial College of London, and a lot. It provides both types of courses — free and paid. Some of the best programming courses provided by Coursera are (a)Algorithms Part I and Part 2 by Robert Sedgewick (link), (b) Machine Learning by Andrew Ng (link), (c )Python for Everybody (link).

17. https://www.studytonight.com/java/

18. udemy.com: One of the best places for online learning. you will get online courses in all the latest technology and programming language like Spring, Data Structure and Algorithms, Selenium, etc. It has mainly paid resources.

20. Edx.org

21. plurasight.com: It is one of the best platforms to learn any programming language like Java, Python, C++ etc.

22. try.github.io — A nice website to learn Git in an effective manner. It not only helps to understand basic git commands but complex git concepts too. rachelcarmena.github.io , onlywei.github.io, changelog.com are some of the important forums to master Git.

23. onemonth.com — Though it is not a free website, it offers one-month learning course to Learn to code and build web applications in one month. This is not exactly a free website though, you need to buy a bootcamp style course. The site has courses to learn Python, Ruby, and JavaScript in 30 days and they teach in a bootcamp style which makes it a very effective learning place. Btw, they have a free trial! and a handful of free courses like the Command Line course and they also have free Learn to Code with One Month Podcast coming soon.

24. codecademy.com- Interactive tutorials to learn some of the most popular technologies like JavaScript, Java, Linux for free. It also has some paid courses to learn advanced concepts on Python, Java, and JavaScript. Btw, this is one of the first websites which brought interactive learning into the picture. It’s JavaScript course is probably the most popular course to learn JavaScirpt online.

25. codingbat.com — Another good site to learn to code contains a lot of free programming exercise to build the coding sense in both Python and Java.

26. code.org — The perfect website to start learning coding and basics of computer science. My kids use this website to learn to code by playing with the Minecraft game.

27. code4startup.com -A great website to learn how to code by building real companies and real project by Leo Trieu. It’s one of the best places to learn Web Development from scratch by building 4 real Online Businesses in 3 Months like Airbnb, Uber, etc. No experience needed. It also has a lot of free courses like:
* ReactJS for Newbies in just 1 hour
* Learn Ruby on Rails, Heroku, and Wistia APIs If you like project-based learning then you will love this site.

28. codeabbey.com — Another awesome website with lots of programming exercises to learn to code and improve your coding skill in any programming languages.

29. Git Immersion-This is one of the best websites to learn Git and GitHub, one of the must-have skills for today’s programmers. It provides a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it. It’s one of the best courses to learn Git and written by the late, great.

30. Learn Git branching : Branching and merging are important concepts in programming. This website will help you to learn merging and branching in git in a nice way.

31. codecombat.com — You can play a game and learn to code in Python and Javascript. One of the best interactive and fun sides of learning online.

32. tryhaskell.org A different kind of platform.

33. railsforzombies.org is another good platform to learn Java.

34. thinkful.com — A different kind of website where you can choose a course and get assigned a mentor.

35. tutorialspoint: It is also an effective learning center for JAVA from the beginning.

That’s all about some of the best websites to learn how to code for free (or with some charges). Other than Java, these websites are great platforms to learn programming languages like HTML, C++, Python, SQL, etc.

If you come across some other good platform to learn Java, mention here in the comment.

--

--

Sekhar Kumar

Coding educator developing specific computer science curriculum that could entail job-ready skill, game programming, app programming.