Getting Started with Java
Install Java on your machine now and get started with Java today.

Wipe the slate clean and learn Java from scratch
Introduction to Java
Java Environment Setup
Install Java 8 on ubuntu
Features of Java
Java Basic Syntax
Java Pros and Cons
Features of Java 10
Applications of Java
Java Identifiers
Java Variables
Java Data Types
Java Literals
Type Conversion in Java
Java Operators
Java Numbers
Java Comments
Null in Java
Java Virtual Machine (JVM)
Java Runtime Environment
Java – JDK vs JRE vs JVM
Console Input in Java
Java Command Line Arguments
Java Decision Making
Java Switch Statement
Loops in Java
Java for Loops
Is Java Object-Oriented?
Java Classes & Objects
Java Methods
Java Constructors
Java Copy Constructor
Constructor Chaining in Java
Java Access Modifiers
Java Inheritance
Java Polymorphism
Java Inner Classes
Java Method Overriding
Java Method Overloading
Java Method Overloading vs Overriding
Java Static Methods
Best Books for Java
Java Career Opportunities
Java vs C++
Java Infographic for Beginners

Level up to more exciting and challenging chapters
Jar Files in Java
Java Strings
Java StringBuffer Class
Java String vs StringBuffer vs StringBuilder
Java StringTokenizer Class
Java Character Class
Java Singleton Class
Abstraction in Java
Encapsulation in Java
Java Assert Statements
Annotations in Java
Java Autoboxing
Java Object Creation
Bubble Sort in Java
Java Data Structures
Java Linear Data Structures
Java Hierarchical Data Structures
Java Abstract Data Type
Java Arrays
Java Collections
Java Array vs ArrayList
Java HashMaps
Closures in Java
Association in Java
Java Abstract Class
Java Interfaces
Java Abstract Class vs Interface
Java Functional Interfaces
Java Comparator Interfaces
Java Wrapper Classes
Java Final Keyword
Java Iterators
Java File Class
Java File Handling
Java Date and Time
Java Packages
Java Regular Expressions
Multithreading in Java
Java Exception Handling
Exceptions in Java
Java Checked vs Unchecked Exceptions
Java Extends vs Implements
Java Static vs Dynamic Binding
Core Java vs Advanced Java

Master new skills and evolve as an expert
JDBC Tutorial
JDBC Connections
Reflections in Java
Java Serialization & Deserialization
Java Pair Class
Java URL Class
Wildcards in Java
Java Garbage Collection
Java Garbage Collection Algorithm
Island of Isolation in Java
Java Keywords
More Java Keywords
Java POJO Class
Socket Programming in Java
Java Generics Tutorial
Java Design Patterns
Synchronization in Java
Semaphores in Java
Deadlocks in Java
Java Image Processing Part – 1
Java Image Processing Part – 2
Java Frameworks
Java Interview Questions- Part 1
Java Interview Questions- Part 2
Java Interview Questions- Part 3
Java Interview Questions- Part 4
Java Interview Questions- Part 5
Java Interview Questions- Part 6
Java Interview Questions- Part 7
Java Interview Questions- Part 8
Java Quiz- Part 1
Java Quiz- Part 2
Java Quiz- Part 3
Java Quiz- Part 4
Java Quiz- Part 5
Java Quiz- Part 6
Java Quiz- Part 7
Exploring the Language
Let’s take a look at some facts about Java and its philosophies.
Java first appeared in 1995 as Oak. This was a reference to the Oak tree that stood afar Gosling’s office. Before it could find its popularity as Java (finding its roots in coffee, which in turn is attributed to Java- an island in Indonesia), they also decided to call the project Green. Version 1.0 rolled out in 1996 when Sun Microsystems promised the principle of WORA (Write Once, Run Anywhere). Then came along Java 2 (J2SE 1.2) in December 1998-1999. J2EE was for enterprise applications. Then in 2006, boosting its marketing capabilities, Sun renamed new J2 versions as Java EE, Java ME, and Java SE.
By March of 2018, Java SE 10 got to see the light of day.

James Gosling
Philosophies of Java

“Hello, I’m Duke, the mascot!”
It would be an understatement to say Java is a popular language. But what makes it so successful? Like anything else, great work takes efforts and a good amount of proactivity. The conception of Java observed 5 primary goals:
1. It must be simple, object-oriented, and familiar
2. It must be robust and secure
3. It must be architecture-neutral and portable
4. It must execute with high-performance
5. It must be interpreted, threaded, and dynamic