Skip to main content

Java Programming 24-Hour Trainer

Java Programming 24-Hour Trainer

Yakov Fain

ISBN: 978-0-470-88964-0

Feb 2011

504 pages

Select type: Paperback

Product not available for purchase


A unique book-and-video package presented by Java guru Yakov Fain

As one of the most popular software languages for building Web applications, Java is often the first programming language developers learn. The latest version includes numerous updates that both novice and experienced developers need to know. With this invaluable book-and-video package, Java authority Yakov Fain fully covers Java?s new features as well as its language extensions, classes and class methods, and the Swing Application Framework. For each lesson that he discusses in the book, there is an accompanying instructional video to reinforce your learning experience.

Lessons include:

  • Introducing Java
  • Eclipse IDE
  • Object-Oriented Programming
  • Class Methods
  • Back to Java Basics
  • Packages, Interfaces, and Encapsulation
  • Programming with Abstract Classes and Interfaces
  • Introducing the Graphic User Interface
  • Event Handling in UI
  • Introduction to Java Applets
  • Developing a Tic-Tac-Toe Applet
  • Developing a Ping-Pong Game
  • Error Handling
  • Introduction to Collections
  • Introduction to Generics
  • Working with Streams
  • Java Serialization
  • Network Programming
  • Processing E-Mails with Java
  • Introduction to Multi-Threading
  • Digging Deeper into Concurrent Execution
  • Working with Databases Using JDBC
  • Swing with JTable
  • Annotations and Reflection
  • Remote Method Invocation
  • Java EE 6 Overview
  • Programming with Servlets
  • JavaServer Pages
  • Developing Web Applications with JSF
  • Introducing JMS and MOM
  • Introducing JNDI
  • Introduction to Enterprise JavaBeans
  • Introduction to the Java Persistence API
  • Working with RESTful Web Services
  • Introduction to Spring MVC Framework
  • Introduction to Hibernate Framework
  • Bringing JavaFX to the Mix
  • Java Technical Interviews

Note: As part of the print version of this title, video lessons are included on DVD. For e-book versions, video lessons can be accessed at using a link provided in the interior of the e-book.


Related Resources


Contact your Rep for all inquiries


LESSON 1 Introducing Java.

LESSON 2 Eclipse IDE.

LESSON 3 Object-Oriented Programming.

LESSON 4 Class Methods.

LESSON 5 Back to Java Basics.

LESSON 6 Packages, Interfaces, and Encapsulation.

LESSON 7 Programming with Abstract Classes and Interfaces.

LESSON 8 Introducing the Graphic User Interface.

LESSON 9 Event Handling in UI.

LESSON 10 Introduction to Java Applets.

LESSON 11 Developing a Tic-Tac-Toe Applet.

LESSON 12 Developing a Ping-Pong Game.

LESSON 13 Error Handling.

LESSON 14 Introduction to Collections.

LESSON 15 Introduction to Generics.

LESSON 16 Working with Streams.

LESSON 17 Java Serialization.

LESSON 18 Network Programming.

LESSON 19 Processing E-Mails with Java.

LESSON 20 Introduction to Multi-Threading.

LESSON 21 Digging Deeper into Concurrent Execution.

LESSON 22 Working with Databases Using JDBC.

LESSON 23 Swing with JTable.

LESSON 24 Annotations and Reflection.

LESSON 25 Remote Method Invocation.

LESSON 26 Java EE 6 Overview.

LESSON 27 Programming with Servlets.

LESSON 28 JavaServer Pages.

LESSON 29 Developing Web Applications with JSF.

LESSON 30 Introducing JMS and MOM.

LESSON 31 Introducing JNDI.

LESSON 32 Introduction to Enterprise JavaBeans.

LESSON 33 Introduction to the Java Persistence API.

LESSON 34 Working with RESTful Web Services.

LESSON 35 Introduction to Spring MVC Framework.

LESSON 36 Introduction to Hibernate Framework.

LESSON 37 Bringing JavaFX to the Mix.

LESSON 38 Java Technical Interviews.

APPENDIX What's on the DVD?


Lesson 1 Movie Download
Lesson8 Download
Lesson7 Download
Lesson6 Download
Lesson5 Download
Lesson4 Download
Lesson3 Download
Lesson37 Download
Lesson36 Download
Lesson35 Download
Lesson33 Download
Lesson32 Download
Lesson31 Download
Lesson30 Download
Full Code Download (Workshop DVD) Download
Lesson29 Download
Lesson28 Download
Lesson27 Download
Lesson25 Download
Lesson24 Download
Lesson23 Download
Lesson22 Download
Lesson21 Download
Lesson20 Download
Lesson19 Download
ReadMe File Download
Lesson18 Download
Lesson17 Download
Lesson16 Download
Lesson15 Download
Lesson14 Download
Lesson13 Download
Lesson12 Download
Lesson11 Download
Lesson10 Download
Lesson9 Download
Note,At the time of the book writing the latest Java release was JDK 6 and all code samples accompanying the book were tested with JDK 6. For downloading the current version of JDK please Google JDK download and follow the installation instructions.

The author conducts Java training classes using this book as a course textbook. Refer to the wiki page (the Slides section) at, where you may find more up to date Java installation instructions.
Lesson 1 Movie Not on CD,The Lesson 1 movie that was not on the CD in the first printing is available as a download.3/30/111
9Error in Text,Last sentence of 1st paragraph of Chapter 2:

Currently reads: There several popular Java IDEs, such as Eclipse, NetBeans...
Should be: There are several popular Java IDEs, such as Eclipse, NetBeans...
317 Errors in Listing 3-1,Two methods in Listing 3-1 are missing parentheses after their names. It should read startEngine() and stopEngine().3/31/111
20Error in method,Replace method (calcTax) with method (adjustForStudents) 8/16/11
21Error in Reference, Listing 3-5 shows the class Tax

Listing 3-5 should read Listing 3-3
321Error in Text,The sentence, For instance, a variable declared inside a for loop will not be excessive outside the for loop even inside the same method.

should instead read:
For instance, a variable declared inside a for loop will not be accessible outside the for loop even within the same method.

i.e. change excessive to accessible
21Error in Text,Currently reads: For instance, a variable declared inside a for loop will not be excessive outside the for loop even inside the same method.

Should read: For instance, a variable declared inside a for loop will not be accessible outside the for loop even inside the same method.
328Error in Text,In Steps 3 and 4:

should be:
34Error in Text,Currently reads: As with any other class method, a constructor of a subclass can override the constructor of a superclass.

Should read: As opposed to regular class methods, a constructor of a subclass can not override the constructor of a superclass.
439Error in Step,In Step 8, replace TestCalc with TestTax 10/3/11
instancef Serializable

instanceof Serializable
70Error in Code,In the middle of the page:

Currently reads: increasePay(30)

Should read: p.increasePay(30)
773Error in Code,There are 2 }} missing from the line above the paragraph that starts with the word Note. 3/31/111
774Code Change,((Payable)p).increasePay(30)

should be

This is actually not an error and will work as is, but there's no need to cast p to Payable since it's declared as Payable anyway.
74Error in Code,Replace the line

with this one
85Error in Code,Replace constr.x=0;
// y coordinate in the grid

with this:

// y coordinate in the grid
98Error in Code,Currently reads: class MyWindowEventProcessor extends java.awt.WindowsAdapter

Should read: class MyWindowEventProcessor extends java.awt.event.WindowAdapter
126Error in code,Replace public in getKidRacketY (int xCoordinate){
with: public in getKidRacketY (){
12127Error in Figure,Figure 12-2:

should read:
13135Addition to Text,Replace this sentence:
Subclasses of Exception are called checked exceptions and have to be handled in your code.

with this one:
Subclasses of Exception are called checked exceptions and have to be handled in your code (this doesn't apply to RuntimeException and its descendents).
140Error in Code,Remove the rightmost plus sign in the following line:
quantity+ bikes of the model + bikeModel +);

It should read:
quantity+ bikes of the model + bikeModel);
144Errors in Text,1. Replace you can store only objects - only primitives are allowed
with you can store only objects - no primitives are allowed AND 2. Replace into he corresponding wrapper object
with into the corresponding wrapper object
14143Error in Code,Customers[10]

should be:
14147Error in Code,Replace New Hashtable();
with new Hashtable();
149Error in Code,Replace the second occurrence of while(enum.hasMoreElements())){
with while(enumKeys.hasMoreElements())){
165Error in Code,Page 165,Listing 16-2, replace this file.write(data[i]);

with this:

16169Error in Code,Tax tax=new Tax(dependents, state, grossInc);

should be:
Tax tax=new Tax(grossInc, state, dependents);

Note change in order in parentheses.
180Error in Text,Listing 17-5 should read:

salary= stream.readDouble();
id = stream.readInt();

instead of:

salary = readDouble();
id = readInt();
191-193Error in Code,There is a sample code to get the stock price quotes from Yahoo! This sample uses the stock symbol MOT, which used to represent Motorolla at the time of writing. Since the MOT stock symbol has been recently modified, use MSI or any other valid stock symbol.04/01/2011
205Error in Code,Corrected code for Listing 19-4 (Ch 19, page 205):
         final String EMAIL_USER_ADDRESS = ;        String password= mypassword ;        final String MAIL_POP_HOST = ;             Properties properties = System.getProperties();         Session session = Session.getDefaultInstance(properties);          Store store = session.getStore( pop3s );         store.connect(MAIL_POP_HOST, EMAIL_USER_ADDRESS, password);          Folder folder = store.getFolder( INBOX );;          Message[] messages = folder.getMessages();         System.out.println( Messages:   + messages.length);          for (Message message : messages) {             // get message parts here         } 
220Error in Code,Chapter 20, Page 220

 public static void main(String args[]){   �   mn.start();   �  p.start();    synchronized (this) {    try{      wait(10000);       } catch (InterruptedException e){  �}  }   System.out.println(�The main method of TestThreads3 is finished�); } 
Should read:
    TestThreadsWait(){     MarketNews3 mn = new MarketNews3( Market News );     mn.start();      Portfolio3 p = new Portfolio3( Portfolio data );     p.start();          synchronized (this){         try{             wait(15000);         }catch (InterruptedException e){             e.printStackTrace();         }         }          System.out.println(  The main method of TestThreadsWait is finished );   } 
33384Error in Step 6,The first sentence in step 6 should read:

Right-click on the Database Connections in the Data Source Explorer.
Error in Source Code, Lesson 32,Error in the source code for Lesson 32:
Replace e.getStackTrace() with e.printStackTrace().