Java is a general-purpose programming language that is class-based, object-oriented (although not a pure OO language), and designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere” (WORA), 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 (“Oracle Customers will receive Oracle Premier Support”), 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). Oracle released the last public update for the legacy Java 8 LTS, which is free for commercial use, in January 2019. Java 8 will be supported 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. Oracle extended support for Java 6 ended in December 2018.
This course is divided into five major areas as followings:-
Name of Topic
- Core Java
- GUI Development
- Database Concept and JDBC
Brief description of Contents(Topic-wise)
Topics to Cover: Core Java
Introduction to Java – History and Creation of Java, Features of Java, Byte Code, OOPs Principles.
Data Types – Primitive, non-primitive; Primitive Data types defined in java, etc.
Variables – Declaration, Assignment, Dynamic Initialization, Scope and Life time, Type Conversion and Casting, Type Promotion etc.
Arrays – Declaration, Types, Storage, Alternative Array Declaration etc.
Operators – Arithmetic Operators, Bitwise Operators, Relational, Boolean Logic, Assignment, Conditional Operator; Operator Precedence etc.,
Control Statements – Selection Statements
Iteration Statements – while, do-while, for, Nesting of loops, for, for-each version of the for loop, Nesting of loops,
Jump Statements – break, continue, and return.
Classes, Objects, Object Reference Variables and Methods, Constructors, use of this keyword, Garbage Collection, finalize method, Overloading Methods, Argument Passing, Recursion, Access Control, static, final, Nested and Inner Classes, String Class, Inheritance and Types of inheritance, Multilevel Hierarchy, using super keyword etc., Method Overriding, Dynamic Method Dispatch, Using final with Inheritance, The Object Class
Packages: Defining a Package, Package and Class Path etc., Access Protection, Importing Packages
Interfaces – Defining an Interface, Implementation, Applying Interfaces etc.
Exception Handling – Fundamentals, Exception types, Uncaught Exceptions, Using try and catch, Multiple catch Clauses, Nested try statements, throw, throws, finally, Java’s Built in Exceptions, Chained Exceptions, Creating Own Exception Subclass.
Multithreading – Introduction of threads, Main Thread, Creating Threads, Multiple Threads, isAlive() and join() methods, Thread Priorities, Synchronization; Deadlock; Suspending, Resuming and Stopping threads etc.
I/O Basics and Definitions – Streams, Byte Streams and Character Streams, Reading and Writing Console Input Characters and Strings.
The Byte Streams – Input, Output, FileInput, FileOutput, ByteArrayInput, ByteArrayOutput etc.
The Character Streams – Reader, Writer, FileReader, FileWriter, ChaArrayReader, CharArrayWriter etc.
String – Constructors, Special String Operations, Character Operations, String Comparison, Searching Strings, Modifying a String, valueof() method etc.
String Buffer, String Builder etc.
Java.lang Collections – Primitive Type Wrappers, Void, Process, Rutime, Process Builder, System, Object, Clone(), Class, Class Loader, Math, Package, Runtime Permission, Throwable, Security Manager etc.
Network Programming – Networking Basics, Java and the Net, Inet Addresses, TCP/IP Client Sockets, URL, URL Connection, TCP/IP Server Sockets, Datagram’s etc.
AWT – AWT Classes, Window Fundamentals, Working With Graphics, Working with color, Paint Mode, Fonts etc., Control Fundamentals, Labels, Buttons, Check Boxes, Choice, Lists, Text Field, Scroll Bars, Text Area, Layout Manager, Insets, Menu, Dialog Box, FileDialog, Event Handling with AWT Controls etc.
Applets – Basics, Architecture, An Applet Architecture, Display Methods, Repaint() Method, Status Window, HTML Applet Tag, Passing Parameters to Applets, Event Handling ( Event Classes, Event Listener Interfaces, Delegation Event Model, Adapter Classes)
Swing – Japplet, Icons and Labels, JTextField, JButton, JCheckBox, JRadioButton, JComboBox, JTabbedPane, JScrollPane, JTable etc.
JDBC – JDBC Components, JDBC Architecture, Introduction to RDBMS, JDBC Programming, Database Concepts, Select, DML Commands like Insert, Update, SQL Function and Group by Clause, Join, Nested Query, JDBC Types, Error Checking and The SQL Exception Class, The SQL Warning Class, Executing SQL Queries, ResultSet, Metadata.
Remote Method Invocation (RMI) – Naming, Registry, Locate Registry, Remote Referencing, Client Sockets, Failure Handler, Server Sockets etc.
Introduction to JSTL, Introduction to JAR
Java Server Pages (JSP) – Installation, Tags (Variables and Objects, Methods, Control Statements, Loops), Tomcat, Request String, Session, Cookies, Session Objects etc.
Servlets – Life Cycle, Using Tomcat, Simple Servlet , Servlet API, java.servlet Package, javax.servlet.http Package, Handling HTTP Requests and Responses, Using Cookies and Session Tracking.
Enterprise Java Beans(EJB) – Container, Classes, Interfaces, Entity Java Beans (Container-Managed Persistence (CMP) , Bean-Managed Persistence) , Session Java Bean (Stateless vs Stateful), Deployment Descriptors, Message Driven Bean, The JAR File etc.
Eligibility: Engineering/’A’ or ‘B’ Level/BCA/BSc/MSc (IT) /MCA with good knowledge of C or C++.
Duration 6 weeks for Core Java
6 Months for all above