DEV Community

Full Stack Geek
Full Stack Geek

Posted on

Top JAVA learning resources present online

In this article, we would be listing out various resources/courses/tutorials available online which you can use to upskill yourself, so let's get started:

1. Java Memory Management(UDEMY)
About this Course:
What Java professionals need to know about memory, garbage collection, tuning the VM, and avoiding memory leaks.

What you'll learn
The best Java programmers have a deep understanding of how memory works in Java, and use this to influence how they create their code. This course will give you that understanding, together with the tools that you will need to investigate when things go wrong.
By the end of this course, you'll understand important concepts like the stack and the heap, limitations of the final keyword, and how garbage collection works.

Requirements
This course is aimed at students with some basic knowlege of Java. If you are comfortable with creating basic applications, creating objects and running code, then you'll be fine to do this course. You will need to have a java compiler installed, and ideally a development environment such as Eclipse.

Description
This is a course for Java professionals (or aspiring Java professionals) who need an in depth understanding of how memory works in Java. In this course you'll learn what kinds of memory leaks are possible in Java, and how to avoid them. In addition I'll show you tools you can use to analyse how your applications are performing, and detect inefficient memory use, such as objects which are taking up too much memory, or problems causing inefficient garbage collection. And we'll see how to fix these.

You don't need to be a Java Expert to do this course, but you should be able to confidently create basic Java code before you start.

Important note about Java Versions: This course is aimed at users of Java 7 and 8. There's a separate course covering more recent versions of Java (8 and 11+) called "Java Application Performance and Memory Management" - this other course includes almost all the content from this course, upgraded for newer versions of Java, together with other topics around application performance

Get the course here:
Java Memory Management (UDEMY)

2. Java Application Performance and Memory Management(UDEMY)
About this Course:
Learn how to tune the JVM and make good coding choices to ensure your applications perform optimally.

What you'll learn
What can cause performance issues in our applications, and how to resolve them.
The choices available to us as developers at design-time - how to make good coding choices for optimal performance.
How to configure the virtual machine to provide better performance at run-time.
The JVM's Just In Time compiler.
How the virtual machine manages memory.
Performance testing and benchmarking

Requirements
Basic working knowledge of Java programming is needed, but you don't need to be a Java expert!

Description
In this course we'll understand what can cause performance issues in our applications, and how to resolve them. This includes options available to us as developers at design-time - how to make good coding choices for optimal performance. We'll learn about various ways that we can configure the virtual machine to provide better performance at run-time. And we'll be diving deep into how the virtual machine manages memory, and the garbage collection process.

Along the way we'll be learning about the Just In Time compiler, performance testing and benchmarking, decompiling bytecode, using the GraalVM as an alternative virtual machine and more.

Get the course here:
Java Application Performance and Memory Management(UDEMY)

3. Introduction to Collections & Generics in Java(UDEMY)
About this Course:
A guide to understand generics, basic collections and reflection in Java!

What you'll learn
Understand the basics of generics
Implement generic algorithms (data structures, graph algorithms etc.)
Understand the basic data structures

Requirements
Eclipse
Basic Java ( loops, classes etc. )

Description
Learn the basic concepts and functions that you will need to build fully functional programs with the popular programming language, Java.

This course is about generics in the main. You will lern the basics of generic types, generic methods, type parameters and the theoretical background concerning these topics. This is a fundamental part of Java so it is definitly worth learning.
Learning the fundamentals of Java is a good choice and puts a powerful and tool at your fingertips. Java is easy to learn as well as it has excellent documentation, and is the base for all object-oriented programming languages.

Jobs in Java development are plentiful, and being able to learn Java will give you a strong background to pick up other object-oriented languages such as C++, or C# more easily.

Get the course here:
Introduction to Collections & Generics in Java(UDEMY)

Top comments (0)