The Google-It-Yourself Guide to Java Programming

The Google-It-Yourself Guide to Java Programming

There are many books, courses and tutorials out there that have created their own teaching concepts, each chapter building logically on top of the last, avoiding inconsistencies and leading the reader along. Some of the downsides of this approach are that simple topics get too cluttered with text where a picture or an example would do, that books will become way too long (1000+ pages) if they even attempt to cover most important topics or that they will become too short and editors have to leave out important details that leave the book not so “complete” and thorough as advertised anymore.

 

What I always like to do by myself – and now want to share with you – is making complete lists of important topics and then use Google to learn about them. This approach won’t work for everyone, as it doesn’t allow for misunderstanding the importance of certain details. If the question “How to calculate the ROI of an investment?” is googled, you’ll need to deep-dive into every element of that question’s answer that you don’t understand. It must be so that you can give a 5-10 minute lecture on the topic while being able to answer any further questions asked of you. There lies the beauty of googling – understanding further details is just another type and click away.

 

So try it. Below is a list of topics I found necessary to have a complete grasp of this topic. If you really dive into them, maybe test them for yourself, you will succeed. But always be active, don’t passively read topics you don’t care about – be like a detective researching a murder case. Also, always try multiple sources and use the one that seems best for you. Good luck!

 

Beginners

 

1. Core

 

Java Introduction

 

Comparison with C++

 

Download and install JDK/JRE

 

The JDK Directory Structure

 

First Java Program through command prompt

 

First Java Program through Eclipse

 

2. Data types and Operators

 

Primitive Datatypes, Declarations, Ranges

 

Variable Names Conventions

 

Numeric Literals, Character Literals

 

String Literals

 

Arrays

 

Array of Object References

 

Accessing arrays, manipulating arrays

 

Enumerated Data Types

 

Non-Primitive Datatypes

 

Defining a class, variable and method in Java

 

Method Signature and method calls

 

Expressions in Java

 

Assignment Operator

 

Arithmetic Operators

 

Relational Operators

 

Logical Operators

 

Conditional Operators

 

Operator Precedence

 

Implicit Type Conversions

 

Upcasting and downcasting

 

Strict typing

 

Type conversion

 

3. Control Flow statements

 

Statements in Java

 

if, if-else, if-else-if

 

switch case

 

for statement

 

while and do-while loops

 

continue Statement

 

break Statement

 

return statement

 

4. OOP and its application in Java

 

Classes and Objects

 

Defining a class, Defining instance variables and methods

 

Creating objects out of a class

 

Method calls via object references

 

Abstraction

 

Interfaces and Abstract classes

 

Abstract and non-abstract methods

 

Inheritance

 

extends and implements keywords in Java

 

Super class and Sub class

 

this keyword, super keyword in Java for inheritance

 

Concrete classes in Java

 

Polymorphism

 

Compile time polymorphism

 

Overloading of methods

 

Overriding of methods

 

Method Overriding rules

 

Method overloading rules

 

Introduction to Object class and it’s methods

 

Encapsulation

 

Protection of data

 

Java Bean, POJO

 

Getters, Setters

 

Memory management in Java

 

Heap

 

Stack

 

5. Packages

 

Need for packages

 

What are packages

 

package declaration in Java

 

Import statement in Java

 

How do packages resolve name clashes?

 

6. Miscellaneous

 

Var-Args

 

Reference variables

 

local variables

 

instance variables

 

Memory allocations to variables

 

Double equals operator (==)

 

toString() method on an object

 

7. Statics

 

Static variables and methods

 

Static imports

 

Static initialization blocks

 

instance intialization blocks

 

Static concept in inheritance

 

8. Constructors

 

What are Constructors?

 

Properties of Constructors

 

Default and Parameterized Constructors

 

Rules for constructor implementation

 

Constructor Chaining

 

this call and super call for constructors

 

Constructors for Enumerated Data Types

 

Constructors concept for Abstract classes and interfaces

 

9. Exceptions in Java

 

What are Exceptions?

 

Need for exceptions

 

How can Exceptions be coded in Java?

 

API hierarchy for Exceptions

 

Types of Exceptions

 

try, catch, finally, throw, throws

 

Rules for coding Exceptions

 

Declaring Exceptions

 

Defining and Throwing Exceptions

 

Errors and Runtime Exceptions

 

Custom Exception

 

What are Assertions?

 

Enabling and disabling assertions in development environment

 

10. Strings in Java

 

What are Strings?

 

String heap memory

 

Constant Pool memory

 

Immutability in Strings

 

String creation on heap and constant pool

 

Method APIs on String, operations on Strings

 

Mutability of String Objects

 

StringBuilder and StringBuffer

 

Splitting of Strings

 

StringTokenizer class

 

11. Collection Framework in Java

 

The Collections Framework

 

The Set Interface

 

Set Implementation Classes

 

The List Interface

 

List Implementation Classes

 

The Map Interface

 

Map Implementation Classes

 

Queue Interface

 

Queue Implmentation classes

 

Utility classes

 

Sorting collections using utility methods

 

equals() and hashCode contract in Java collections

 

overriding equals and hashCode methods in Java

 

New Collections added in Java 1.6

 

Primitive wrapper classes and all its method APIs

 

12. Generics

 

Generics for Collections

 

Generics for class

 

Generics for methods

 

13. Input-Output in Java

 

What is a stream?

 

Overview of Streams

 

Bytes vs. Characters

 

Overview of the entire Java IO API

 

Reading a file; writing to a file using various APIs

 

Reading User input from console

 

PrintWriter Class

 

14. Serialization

 

Object Serialization

 

Serializable Interface

 

Serialization API

 

ObjectInputStream

 

ObjectOutput

 

Transient Fields

 

readObject and writeObject

 

15. Inner Classes

 

Inner Classes

 

Member Classes

 

Local Classes

 

Anonymous Classes

 

Static Nested Classes

 

16. Threads in Java

 

Non-Threaded Applications

 

Threaded Applications

 

Process based multitasking Vs Thread based multitasking

 

Thread API in Java

 

Creating Threads

 

States of a Thread

 

Sychronization for threads

 

static and non-static synchronized methods

 

concept of object and class locks

 

wait, notify and notifyAll methods for inter-thread communication

 

17. Applets

 

What are applets?

 

Need for Applets

 

Different ways of running an applet program

 

Applet API hierarchy

 

Life Cycle of an applet

 

Even Handlers for applets, mouse events, click events

 

18. Swing GUI

 

Introduction to AWT

 

Introduction to Swing GUI

 

Advantages of Swing over AWT

 

Swing API

 

Swing GUI Components

 

Event Handlers for Swing

 

Sample Calculator application using Swing GUI and Swing Event handling

 

19. JDBC

 

What is JDBC, introduction

 

JDBC features

 

JDBC Drivers

 

Setting up a database and cretaing a schema

 

Writing JDBC code to connect to DB

 

CRUD Operations with JDBC

 

Statement types in JDBC

 

Types of Rowset, ResultSet in JDBC

 

20. Access Modifers in Java

 

What are access modifiers?

 

Default

 

Protected

 

Private

 

Public

 

ADVANCED JAVA Syllabus: Servlets and JSPs

 

 

1. Basics of a Web application

 

What is a web application?

 

What is a web client and web server?

 

How do client and server communicate?

 

HTTP protocol basics

 

HTML language basics

 

What is a TCP/IP port, URL?

 

Need for a Web Container

 

2. Web Container and Web Application Project Set up

 

Set up Tomcat Container on a machine

 

Set up a Servlets JSP project in Eclipse

 

Configure dependency of Servlet JSP APIs

 

Web application project struture

 

3. Servlets

 

What are Servlets?

 

How do Servlets look in code?

 

HTTP Methods; GET, POST, PUT, DELETE, TRACE, OPTIONS

 

GET/POST request; differences between the two

 

Servlet Lifecycle

 

Servlet Context and Servlet Config

 

Servlet Forwarding and Redirection of requests

 

4. Session Management

 

What is a session?

 

How to get a session?

 

Session information passing between client and server

 

Session information passing mechanisms – Cookies, Rewriting

 

How to destroy a session

 

5. JSPs

 

Introduction to JSP

 

need for JSPs

 

JSP Basic HTML tags

 

JSP Lifecycle

 

6. JSP Elements

 

Scriptlets

 

JSP Expressions

 

JSP Declarations

 

Significance of above elements and fitment into the JSP Lifecycle

 

What are Directives in JSP?

 

JSP Page Directive

 

JSP Include Driective

 

JSP Taglib Directive

 

7. JSP Tag library

 

JSP Standard Actions

 

JSP Expression Language

 

JSTL basics and it’s usage

 

JSP Need for Custom Tag Library

 

Custom Tag Library implementation

 

Struts Framework (version 2.x)

 

 

1. Basics of MVC

 

What is MVC?

 

MVC Type1 and Type2 architecture

 

Why Struts framework?

 

Struts 1 overview

 

Struts 1 and Struts 2 comparison

 

2. Struts 2 Architectutre

 

Components of Model, Views and Controller in Struts Framework

 

Struts 2 Interceptors

 

Struts 2 Model/Action classes

 

Struts 2 Value Stack

 

Struts 2 OGNL

 

Struts 2 configurations; framework and application architecture

 

Struts 2 Declarative and Annotations configuration approaches

 

3. Struts 2 set up and first Action class

 

Struts 2 Download JAR files

 

Struts 2 project build up and Configuration files

 

Struts 2 build Action class

 

intercept an HTTP request via Struts2 framework using Action class

 

Struts 2 Defining data and business logic in Action class

 

Struts 2 Preparing and Forwarding control to Views

 

4. Struts 2 Interceptors

 

Struts 2 What are Interceptors

 

Struts 2 Responsibilities of an Interceptor

 

Mechanism of Interceptor calling in Struts 2

 

Struts 2 Defining Interceptors

 

Struts 2 Defining Interceptor stacks

 

Struts 2 Defining Custom Interceptors

 

5. Struts 2 Tag Library

 

Introduction to tag library of Struts 2 and it’s usage

 

6. Struts 2 Validations

 

Struts 2 Validations using Validateable interface

 

Struts 2 Workflow interceptor mechanism for validations

 

Struts 2 Validations using Validateable interface

 

Struts 2 Validation Framework introduction and architecture

 

Struts 2 Validating user input with above two mechanisms

 

7. Struts 2 Tiles Frameworks

 

Struts 2 Introduction to Tiles in a page

 

Struts 2 Tiles framework introduction

 

Struts 2 Defining tiles.xml file

 

Struts 2 Configuring pages for tiles

 

A complete Tiles example with Struts2

 

Hibernate Framework (version 3.x)

 

 

1. Introduction

 

Hibernate What is ORM principle?

 

Hibernate Why ORM?

 

Hibernate ORM implementations

 

2. Hibernate Architecture

 

Introduction to Hibernate

 

Hibernate Architecture

 

Hibernate What are Peristent classes?

 

3. Hibernate CRUD

 

CRUD Setting up Hibernate project

 

CRUD Configuring all JARs and XML files

 

CRUD Setting up connection to DB using Hibernate

 

CRUD Performing basic CRUD operations using Hibernate API

 

CRUD Object Identity; Generator type classes

 

CRUD Using SQL with Hibernate

 

CRUD Using HQL

 

CRUD Using Criteria queries

 

4. Mapping Collections and Associations

 

define sets, mas, lists in Hibernate

 

Hibernate Association Mappings

 

5. Hibernate Caching

 

Hibernate What is caching?

 

What are the types of caching in Hibernate?

 

Explanation of various caching mechanisms in Hibernate

 

6. Using Hibernate Annotations

 

using Hibernate Annotations

 

Spring Framework (version 3.x)

 

 

1. Introduction to spring

 

What is Spring?

 

Spring Architecture components

 

2. Introduction to all modules of spring

 

Spring Bean Factory

 

Spring Application Context

 

Spring DI

 

Spring AOP

 

Spring Integration; Spring messaging, Spring JMS

 

Spring MVC

 

Spring DAO

 

3. Setting up spring

 

Setting up of Spring framework

 

Spring Download JARs

 

Spring Configure XML files

 

4. Dependency Injection

 

Spring What is Dependency Injection?

 

How is it implemented using Spring Framework?

 

Bean Wiring mechanisms in Spring

 

5. Spring AOP

 

What is Spring AOP?

 

Implementation of Spring AOP

Alexander Stebner
No Comments

Post a Comment

Comment
Name
Email
Website