CORE JAVA

 

Java is a general-purpose programming language that is class-based, object-oriented (although not a pure language, as it contains primitive types), and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere, meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but it has fewer low-level facilities than either of them. As of 2018, Java was one of the most popular programming languages in use according to GitHub,  particularly for client-server web applications, with a reported 9 million developers.

Java was originally developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle) and released in 1995 as a core component of Sun Microsystems’ Java platform. The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses. As of May 2007, in compliance with the specifications of the Java Community Process, Sun had relicensed most of its Java technologies under the GNU General Public License. Meanwhile, others have developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).

The latest versions are Java 12, released in March 2019, and Java 11, a currently supported long-term support (LTS) version, released on September 25, 2018; Oracle released for the legacy Java 8 LTS the last free public update in January 2019 for commercial use, while it will otherwise still support Java 8 with public updates for personal use up to at least December 2020. Oracle (and others) highly recommend that you uninstall older versions of Java,  because of serious risks due to unresolved security issues.  Since Java 9 (and 10) is no longer supported, Oracle advises its users to immediately transition to Java 11 (Java 12 is also an non-LTS option).

Introduction to Java programming

  • The Java Virtual Machine
  • Variables and data types
  • Conditional and looping constructs
  • Arrays

Object-oriented programming with Java Classes and Objects

  • Fields and Methods
  • Constructors
  • Overloading methods
  • Garbage collection
  • Nested classes

Inheritance

  • Overriding methods
  • Polymorphism
  • Making methods and classes final
  • Abstract classes and methods
  • Interfaces

Exception handling with try-throw-catch-finally constructs

  • The Exception class

The Object class

  • Cloning objects
  • The JDK LinkedList class
  • Strings
  • String conversions

Working with types: Wrapper classes

  • Enumeration interface

Packages

  • Package access
  • Documentation comments

Applets

  • Configuring applets
  • Applet capabilities and restrictions

Basics of AWT and Swing

  • Layout Managers
  • Event Handling
  • The Action Listener interface
  • Panels
  • Classes for various controls, such as label, choice, list,
  • Checkbox, etc.
  • Dialogs and frames
  • Using menus
  • Using the adapter classes
  • Graphics

Threads

  • Synchronization

The I/O Package

  • InputStream and OutputStream classes
  • Reader and Writer classes

Basic concepts of networking

  • Working with URLs
  • Concepts of URLs
  • Sockets

Database connectivity with JDBC

  • Java security