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!




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




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




Interfaces and Abstract classes


Abstract and non-abstract methods




extends and implements keywords in Java


Super class and Sub class


this keyword, super keyword in Java for inheritance


Concrete classes in Java




Compile time polymorphism


Overloading of methods


Overriding of methods


Method Overriding rules


Method overloading rules


Introduction to Object class and it’s methods




Protection of data


Java Bean, POJO


Getters, Setters


Memory management in Java






5. Packages


Need for packages


What are packages


package declaration in Java


Import statement in Java


How do packages resolve name clashes?


6. Miscellaneous




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






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?










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?




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




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 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

Sorry, the comment form is closed at this time.