learn kro favicon img

Core Java Topics

Introduction

This blog post will look at a detailed Core Java tutorial for beginners as well as for experienced programmers. The topics compiled and presented in this tutorial will help you to build your Foundations in Java covering the basic fundamental topics as well as the advanced topics that will expertise you in Java.

It will definitely help you learn Java in a better way, with a deeper understanding of each and every topic, that every Novice or an Expert Java Programmer should be aware of.

java

What is Java?

Java is a programming language and computing platform first released by Sun Microsystems in 1995 and is now operated by Oracle which releases a new version of this language every year.

It is widely used and recommended across various application development platforms because of its Object-Oriented Programming Paradigm which helps programmers write and maintain code in a unique, efficient and secure way.

Currently, on the date of publishing of this post, Java 17 is the latest Java SE Version available on Oracle Java SE Platform. Each new version improvises and adds new features to Java for developers all around the globe.

Java Program Example

Here we will have a look at a sample Java hello world program just to give an overview of this language and how a simple Java Program looks like.

We discuss a sample code snippet to discuss what we’re getting our hands into. Don’t fret if you do not understand the code. Each Keyword and its explanation step by step will be shown as you proceed with this Core Java Tutorial.

File Name: Sample.java

Java

123456789class Sample{  public static void main(String args[])  {   System.out.println(“Welocme to Core Java Tutorial by Java2Blog”);  }}

Now for a beginner, the code above might not look familiar. So to understand this along with various key concepts follow the below given outlined tutorial to strengthen the basics.

Core Java tutorial

Chapter 1: Java Basics

  • Introduction to Java Programming
  • Java Hello World Program
  • Object and Class in java
  • Data types in java
  • Variables in java
  • Access modifiers in java
  • this keyword in java with example
  • Super keyword in java with example
  • Final keyword in java with example
  • static keyword in java with examples

Chapter 2: Java Control Statements

Java control statements control the order of execution based on some conditions or looping statements. It includes for, do, do-while, if-else, Switch case, continue and break statements, etc.

  • For loop in java with example
  • While loop in java with example
  • Do While loop in java with example
  • if-else statement in java
  • Switch case in java
  • Java continue statement example
  • Java break statement example

Chapter 3: Object-Oriented Programming concepts

OOP’s concepts are the building blocks of the Java language. The four most important concepts of Java are – Abstraction, Encapsulation, Inheritance, Polymorphism.

  • Constructor in java
  • Interface in java with example
  • Abstract class in java
  • Difference between Abstract Class and Interface in java
  • Abstraction in java with example
  • Encapsulation in java with example
  • Polymorphism in java with example
  • Inheritance in java with example
  • Method overriding in java
  • Method overloading in java

Java tutorial for experienced Programmers

Chapter 4: Java Collections

Java collections APIs provide lots of inbuilt classes and interfaces to handle collections of objects. It is very essential to learn and master java collections concepts. It is a very important part of the core java tutorial.

  • HashMap in java with examples
  • LinkedHashMap in java with example
  • TreeMap in java with examples
  • TreeSet in java
  • ArrayList in java
  • LinkedHashSet in java
  • ConcurrentHashMap in java
  • hashcode() and equals() method in java
  • How HashMap works in java
  • How HashSet works in java
  • Comparable in java
  • Comparator in java
  • Difference between Comparator and Comparable in java
  • How to iterate a list in java
  • How to remove duplicates from ArrayList in java
  • How to iterate over Map or HashMap in java
  • Difference between ArrayList and Vector in java
  • Difference between HashMap and HashSet in java
  • Difference between Hashtable and HashMap in java
  • Difference between ArrayList and LinkedList in java
  • Difference between Iterator and ListIterator in java

Chapter 5: Java Multithreading

Thread can be called a lightweight process. Java supports multithreading, so it allows your application to perform two or more tasks concurrently.

Multithreading can be of advantage especially when nowadays, the machine has multiple CPUs, so multiple tasks can be executed concurrently. It is a very important part of the core java tutorial.

  • Java Thread example
  • Difference between process and thread in java
  • Java Thread Sleep Example
  • Java Thread Join Example
  • Daemon thread in java with example
  • Object level locking vs Class level locking in java
  • wait, notify, and notifyAll method in java with example
  • Can we start a thread twice in java
  • Can we call run() method directly to start a new thread
  • Difference between notify and notifyAll in java
  • How to print even and odd numbers using threads in java
  • Print sequence using 3 threads in java

Chapter 6: Java Executor Framework

Java 5 has introduced a new concurrent API called “Executor frameworks” to make programmer life easy. It simplifies the design and development of multi-thread applications.

It consists of mainly Executor, ExecutorService interface, and ThreadPoolExecutor class which implements both interfaces i.e. Executor and ExecutorService. ThreadPoolExecutor class provides the implementation of the thread pool.

  • Java ThreadPoolExecutor example
  • Java newFixedThreadPool Example
  • Java newCachedThreadPool Example
  • Java scheduledthreadpoolexecutor example
  • Java ExecutorService example using Callable and Future
  • Java FutureTask Example

Chapter 7: Java Concurrency util

Java 5 has added a new package java.util.concurrency.This package includes lots of classes which makes it easier to develop a multithreaded application.

  • ConcurrentHashMap in java
  • CountDownLatch in java
  • CyclicBarrier in java
  • Difference between CountDownLatch and CyclicBarrier
  • Semaphore in java
  • BlockingQueue in java
  • Exchanger in java
  • Java Timer example

Chapter 8: Java Serialization

Serialization is one of the most important concepts in Java. If you are going to face the core java interview, then you might be asked some questions from Serialization.

Java provides a mechanism called serialization to persists Java objects in a form of ordered or sequence of bytes that includes the object’s data as well as information about the object’s type and the types of data stored in the object

  • Serialization in java
  • Java Serialization interview questions and answers
  • serialversionuid in java
  • externalizable in java
  • Transient keyword in java
  • Difference between Serializable and Externalizable in Java

Chapter 9: Java Exception Handling

An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program’s instructions. It is a very important part of the core java tutorial.

  • Exception handling in java
  • Can we have try without catch block in java
  • Difference between throw and throws in java
  • How to create custom exception in java
  • Difference between checked and unchecked exception in java

Chapter 10: Java 8

Java 8 has introduced lots of new features such as Lambda expressions, streams, default methods, functional interfaces, etc.

  • Java 8 tutorial
  • Lambda Expressions in Java 8
  • Interface default methods in java 8
  • Java 8 Lamba Expression examples using Comparator
  • Java 8 functional interface example
  • Java 8 Parallel Stream
  • Java 8 Predicate examples
  • Java 8 Collectors examples
  • Java 8 Supplier example
  • Java 8 Consumer example
  • Java 8 Stream filter examples
  • Java 8 forEach examples
  • Collectors.groupby example : How to do group by in java
  • Java 8 Optional
  • Java 8 Stream Map
  • Java 8 Stream FlatMap

Chapter 11: String Handling

11.1: String Methods

  • Java String equals example
  • Java String equalsIgnoreCase example
  • Java String contentEquals example
  • Java String compareTo example
  • Java String contains example
  • Java String concatenate example
  • Java String startsWith example
  • Java String endsWith example
  • Java String charAt example
  • Java String trim example
  • Java String regionMatches example
  • Java String isEmpty example
  • Java String length example
  • Java String join example

11.2: String Programs

  • Java program to reverse a String
  • Find all substrings of a String in java
  • Find first non repeated character in a String
  • How to split a String in java
  • Java Program to find duplicate Characters in a String
  • How to check if two Strings are Anagrams in Java
  • How to check if one String is a rotation of another String in java
  • How to check if String has all unique characters in java
  • Find the length of String without using java inbuilt length method
  • Find all Permutations of a String in java
  • How to convert Char Array to String in java
  • How to convert String to Char Array in java
  • How to convert Byte Array to String in java
  • How to remove non-ascii characters from a string in java

Chapter 12: Java IO

  • How to get size of file in java
  • How to check if a file exists in Java
  • How to get extension of file in java
  • How to download a file from URL in java
  • How to delete non-empty directory in java
  • How to get all files with certain extension in a folder in java
  • How to get last modified date of file in java
  • How to write an object to a file in java
  • How to read an object from a file in java
  • How to read properties file in java
  • Read a file from resources folder in java
  • How to make a file read-only in java
  • How to rename a file in java
  • How to move a file to another directory in java
  • How to get the current working directory in java
  • How to get home directory in java
  • How to read excel files in java using Apache POI
  • How to write Excel files in java using Apache POI
  • How to set style in excel using Apache POI in java
  • Working with formulas in excel using Apache POI in java

Chapter 13: Memory

  • Garbage Collection in java
  • Xmx and Xms Parameters

Chapter 14: Java Interview Programs

  • Java Interview Programs

Chapter 15: Interview Questions

These are the most important java interview questions which are frequently asked. It will help you to crack the core java interview.

  • Java interview questions
  • Core java interview questions
  • Java Collections interview questions
  • OOPs interview questions in java
  • Java Multithreading interview questions
  • Java String interview questions
  • Exceptional handling interview questions in java
  • Java Serialization interview questions in java
  • Method overloading and overriding interview questions
  • Java interview questions for 5 years experienced.
  • Java Interview questions for 2 years experienced

Applications of Java Programming

Java is a robust Programming language and its applications are vast in the field of Software/Application development. Though we can streamline its major applications in various sectors:

  • Developing Interactive Desktop GUI Applications in Java- All desktop applications can easily be developed in Java. Java provides GUI development through APIs like AWT, Swing, JavaFX to build these applications. Common Examples include Media Player, Antivirus Software, etc.
  • Developing Mobile Application using Java: Java is considered the official programming language for mobile app development. It is compatible with software such as Android Studio and Kotlin. Java’s Micro Edition or JME is also a cross-platform framework used for applications running on mobile and other devices.
  • Developing Server and Web-Based Application using Java: Java has a very big name in the financial services industry, many global investment banks Goldman Sachs, Standard Chartered, Barclays use Java as their most sought after business requirement implementation language. It is also prominent in government, healthcare, and insurance sectors where the Web Applications for them are built-in Java.
  • Developing Software Tools: Many useful software and development tools are written and developed in Java, like Eclipse IDE, IntelliJ Idea, and NetBeans IDE. These applications have their wide use in developing Java Applications for enterprises and other sectors.

Java Platforms / Editions

To date, the Java Programming Language provides four platforms for developing Java Applications cross-platform depending on the requirements and platform dependency of the application.

  • Java Standard Edition (Java SE): Java SE’s API provides the core functionality of the Java programming language. A beginner in Java should use this edition to understand Core Java in depth. It defines everything from the basic types to high-level classes used for networking, security, database access, graphical user interface (GUI) development.
  • Java Enterprise Edition (Java EE): The Java EE platform is built on top of the Java SE platform. It adds features to develop generally scalable Web Applications or Applications used by Enterprises or Industries. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure applications.
  • Java Micro Edition (Java ME): The Java ME’s API is a subset of Java SE Edition with some special libraries useful for making applications compatible with small devices such as Mobile Phones. With the advent of Android, the Java ME Edition has become obsolete and is not much used these days.
  • Java FX: Java FX technology is a platform for creating rich internet applications written in Java FX Script. Java FX Script is a statically-typed declarative language that has internal features same as Java, and can then be run on any Java Virtual Machine.

Prerequisites for Java

If you’re new to learn any language it is better to have some knowledge about the needs and prerequisites so that your learning is never hampered and you cover the topics easily without any confusion.

There are however some prerequisites to learn Java and we recommend you to follow this for a better experience.

  • If you’re new to the world of programming with no prior experience and you want to start with Java as your first language, we recommend being familiar with the Fundamentals of Programming. Although Learning Java doesn’t require specialization in any other language still it will help you a lot.
  • Now if you have any prior experience with programming. For Example, Having conversance with C Programming Language will definitely be a plus point on your road to learning Java as a part of the syntax and semantics of Java are closely related to C.
  • As Java is an Object-Oriented Language so having introduced to object-oriented principles, like having an idea on object-oriented languages such as C++, Perl or Python will benefit a lot.
  • So, in short, the hunger or passion to know java will help you most. The obsession to search over google about every documentation will get the most out of your learning.

Why Learn Java Programming?

In today’s world, Java has become one of the most popular programming languages. As more and more industries shift to Java to build projects and reliable applications, the demand for java has increased a lot in the past decade.

We highlight a few points on why java is an essential skill today:

  • Easy to Learn: Java is easy to learn, as most of the syntax, the in-built methods, and classes have their naming convention in simple English.
  • Free of Cost: One of the reasons, it is popular among developers is that the Java Development Kit or JDK is available for free licensed by Oracle on their website.
  • Platform Independence: Java is a platform-independent programming language this makes developers worry less while coding. Its Write Once and Run Anywhere feature attracts more and more programmers every year.
  • Large Documentation and Community Support:  Javadoc support by Oracle provides a great reference while coding in Java so that understanding the code is quite simple. Even some of the popular online communities like StackOverflowStack ExchangeJava Forums, etc provide innumerable resources for java.

That’s All about the Core Java tutorial for beginners as well as for experienced programmers. We highlighted the essential points for a beginner o become an expert in Java.

We will keep adding more links to this core java tutorial. If you have any topic for the suggestion, please do comment.