Java for the Mainframe Developer - 35 Hour Online Class or 5 Day Classroom Workshop
The essentials of Java programming for mainframe application/software developers experienced in procedural programming languages. Covers an introduction to the Java language and the JVM, environment setup, creating the Source Code File, Java developing and the SDK; an overview of Object-Oriented Programming (OOP) including structured programming versus object-oriented; Java language basics including a comparison with COBOL; processing structures; using Objects; creating Classes; Packages; Class relationships; handling Runtime problems; Multi-Threading; and an exploration of the possibilites for Java including zOS and OS/ Java, Java in MVS Batch, connecting to legacy systems, resources for mainframe developers, JavaBeans, JNI, security, support APIs and major APIs, the JVC, JNDI, Servlets, EJB and much more. Optional topics include Java I/O, Java and relational databases, Collections and Inner Classes.
|
Topic Summary | Print Version
Class Description:
This hands-on course teaches programmers the essentials of Java programming. This material is uniquely geared to the mainframe developer, using the knowledge base of that audience to promote understanding of Java. It focuses on defining object programming and the syntax of Java 2, using comparisons to languages such as COBOL and PL/1 where possible.Audience: Application/Software developers.Prerequisites: Programming experience. As noted above this course is geared to mainframe programmers, a knowledge of procedural programming languages is assumed. Programmers with OO and/or C++ experience are advised to take the Introduction to Java Programming or Fundamentals of Java Programming class.
|
Objectives: After successfully completing this course, you will be able to:
|
Topic Summary
- Getting Acquainted
- What is Java?
- Java the Language
- The Importance of the JVM
- Impact of the JVM
- Java the Technology
- Java's Evolution
- First Sip: Hello World
- Set up the Environment
- Create Source Code File
- Compile and Run
- Types of Java Programs
- Developing in Java
- JDK/SDK
- Compiling with the SDK
- Running with the SDK
- SDK Documentation
- Object-Oriented Programming
- What on Earth IS OOP?
- Structured Programming
- Structured vs. OO Design
- Objects and Classes
- Modeling a Class
- OO Languages
- Abstraction
- Encapsulation
- An Object Hierarchy
- Classes vs. Instances
- Object Relationships
- Java Language Basics
- COBOL vs. Java
- A COBOL Program
- A Java Program
- Java Class Structure
- Class Definition
- Main Method Definition
- General Style
- Naming Rules
- Java Naming Conventions
- Comments
- Javadoc Comments
- Using Memory Variables
- Primitive Types
- Declaring Variables
- Literal Values
- Constant Variables
- Strings in Java
- Using Strings
- Handling Strings
- Operators
- Assignment
- Concatenation
- Arithmetic Operators
- Unary Arithmetic Operators
- Assignment Shortcuts
- Casting
- Processing Structures
- Operators Again
- Comparison
- Logical
- Bitwise
- Conditional ? Operator
- Control Structures
- Branching: if()
- Branching: switch()
- COBOL Version
- Loops: for()
- Loops: while()
- Loops: do()
- Displaying Output
- Introduction to Arrays
- Console Applications
- Command Line Arguments
- Using Objects
- Objects & Classes
- Class Members
- Sample: TimeStamp Class
- Object Notation
- Using Dot Notation
- Creating Objects
- Constructors
- JVM Memory Use
- Memory for Primitives
- Memory for Objects
- Working with Objects
- Comparing Objects
- Common Objects
- Using String Wisely
- StringBuffer
- String Example
- StringBuffer Example
- Array Concepts
- Single Dimension Arrays
- Multi-Dimension Arrays
- Arrays from Literals
- Using Arrays
- Copying Arrays
- Dates
- GregorianCalendar
- Where is GregorianCalendar?
- Creating Classes
- Java & Classes
- Anatomy of a Class
- General structure
- Declaring a Class
- Class Members
- Declaring Variables
- Local Variables
- Local Variable Initialization
- Instance Variables
- Method Declaration Syntax
- Method return values
- Naming Methods
- Object Property Methods
- Methods for Booleans
- Ordinary Methods
- Method Overloading
- Declaring Constructors
- Explicit Constructors
- Other Constructor Issues
- Destructors
- Tips on Clean Up
- Self Reference
- The Current Instance
- this
- Sibling Constructors
- Static Members
- Defining Static
- static Example
- The static Initializer
- static & this
- Putting it All Together
- Packages
- Java Packages
- Major Packages
- Using Packages
- The import Statement
- Classpath
- Creating Packages
- The Package Assignment
- The Package Directory
- Testing a Packaged class
- Class Relationships
- Java Design
- Inheritance Overview
- Inheritance Terminology
- Implementing Inheritance
- extends
- Example of Using Ancestor Method
- Creating a Client Instance
- "Is a" Example
- Casting
- DownCasting Requirements
- Downcasting at Runtime
- Using instanceOf
- Member Visibility
- Overriding Methods
- Using Ancestor Members
- Overridden Methods
- Using super
- Parent Constructors
- Polymorphism
- Late Binding
- Controlling Subclassing
- abstract
- Using abstract
- The Shape Class
- The Polygon Class
- Triangle and Rectangle
- Using the classes
- Using final
- final Method Example
- Multiple Inheritance
- Interfaces
- Defining an Interface
- Implementing an Interface
- Interface Inheritance
- Handling Runtime Problems
- Exceptions
- Causes of Problems
- Runtime Problems
- Java Classes for Exceptions
- Java Classes
- try / catch
- The catch Block
- catch Block Order
- The finally Block
- More on try / catch
- Checked Exceptions
- Throwing Exceptions
- Rethrowing Exceptions
- ReThrowing the Same Exception
- Throwing a Different Exception
- Custom Exceptions
- Defining Exceptions
- Multi-Threading
- What is a Thread?
- Java and Multi-Threading
- A Non-Threaded App
- The Thread Class
- Using the Thread Class
- Extend Thread
- Write a Runnable Class
- Thread in Runnable
- Which is Better?
- Threadyield()
- More Thread Methods
- Runnable State
- Timing Threads
- Runnable Read File
- Run the Read program
- Synchronization
- Where to Go With Java
- Java's Role
- Review: Types of Java Programs
- zOS & OS/ Java
- zOS Platform Requirements
- zOS Unix System Services
- Java in MVS Batch
- Connecting to Legacy Systems
- Visual Age for Java
- Special Resources for Mainframe Developers
- Some Things to consider
- JavaBeans
- JNI
- Security
- Reflection
- Support APIs
- JFC
- Advanced Graphics
- Networking
- Distributed Objects
- JNDI
- XML
- Other Support APIs
- Major APIs
- JavaServer & Servlets
- EJB
- Jini
- Other Major APIs
- Where We've Been
Optional Topics
- Java I/O
- Types of I/O in Java
- Java I/O Concepts
- Sequential I/O in COBOL
- Sequential Text Read
- Class used for Data Description
- Sequential Text Write
- Sequential Binary Write
- Sequential Binary Read
- Object Persistence
- Serialization Notes
- Java and Relational Databases
- Using Relational Database
- JDBC Versions
- javasql
- JDBC: The Basic Approach
- DataBase I/O Example
- Handling SQL in JDBC
- PreparedStatement Example
- Collections
- Collections in Java
- Lists
- javautilList Interface
- Using Lists
- ArrayList Example
- Stack
- Maps
- Maps Methods
- Properties
- Using Properties
- System Properties
- Setting System Properties
- Enumeration
- Getting an Enumeration
- Using Enumeration
- Iterator
- Inner Classes
- Types of Inner Classes
- Inner Classes Example
- Referring to Inner Classes


