CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
DIPLOMADO DE JAVA - OCA
TABLA DE CONTENIDO
INTRODUCCION ... 3
ESTRUCTURA DEL DIPLOMADO ... 4
Nivel I:... 4
Fundamentals of the Java Programming Language Java SE 7 ... 4
Introducing the Java Technology ... 4
Thinking in Objects ... 5
Introducing the Java Language ... 5
Working with Primitive Variables ... 5
Working with Objects ... 5
Using operators and decision constructs ... 5
Creating and Using Arrays ... 6
Using Loop Constructs ... 6
Working with Methods and Method Overloading ... 6
Overloading a method ... 7
Introducing Advanced Object Oriented Concepts ... 7
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
Introducing Advanced Object Oriented Concepts ... 7
Handling Errors ... 7
The Big Picture ... 8
Nivel II:... 8
Java Programming Language Java SE 7 ... 8
Java Platform Overview... 8
Java Syntax and Class Review ... 8
Encapsulation and Polymorphism ... 9
Java Class Design ... 9
Advanced Class Design ... 9
Inheritance with Java Interfaces ... 10
Generics and Collections ... 10
String processing ... 10
Exceptions and Assertions ... 10
I/O Fundamentals ... 11
File I/O with NIO 2 ... 11
Threading ... 11
Concurrency ... 11
Database Application with JDBC ... 12
Localization ... 12
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
INTRODUCCION
JAVA® es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es uno de los lenguajes más usados y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Una de las principales
características por las que JAVA® se ha hecho muy famoso, es el ser un lenguaje independiente de la plataforma, esto es posible creando una Máquina Virtual de Java (JVM) para cada sistema que hace de puente entre el sistema operativo y el programa de Java, lo cual posibilita que este último se entienda perfectamente.
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
ESTRUCTURA DEL DIPLOMADO
Nivel I:
Fundamentals of the Java Programming Language Java SE 7
Introducing the Java Technology
- Relating Java with other languages
- Showing how to download, install, and configure the Java environment on a Windows system.
- Describing the various Java technologies such as Java EE, JavaME, Embedded Java SE
- Describing key features of the technology and the advantages of using Java
- Using an Integrated Development Environment (IDE)
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
Thinking in Objects
- Defining the problem domain
- Identifying objects and recognizing the criteria for defining objects
Introducing the Java Language
- Defining classes
- Identifying the components of a class - Creating and using a test class
- Compiling and executing a test program
Working with Primitive Variables
- Declaring and initializing field variables
- Describing primitive data types such as integral, floating point, textual, and logical
- Declaring variables and assigning values - Using constants
- Using arithmetic operators to modify values
Working with Objects
- Declaring and initializing objects - Storing objects in memory
- Using object references to manipulate data
- Using JSE javadocs to look up the methods of a class - Working with String and StringBuilder objects
Using operators and decision constructs
- Using relational and conditional operators - Testing equality between strings
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
- Evaluating different conditions in a program and determining the algorithm
- Creating if and if/else constructs
- Nesting and chaining conditional statements - Using a switch statement
Creating and Using Arrays
- Declaring, instantiating, and initializing a one-dimensional Array - Declaring, instantiating, and initializing a two-dimensional Array - Using a for loop to process an Array
- Using the import statement to work with existing Java APIs - Accessing a value in an Array or and ArrayList
- Using the args Array
Using Loop Constructs
- Creating while loops and nested while loops - Developing a for loop
- Using ArrayLists with for loops - Developing a do while loop - Understanding variable scope
Working with Methods and Method Overloading
- Creating and Invoking a Method
- Passing arguments and returning values - Creating static methods and variables - Using modifiers
- Overloading a method
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
Overloading a method
- Creating constructors
- Implementing encapsulation
Introducing Advanced Object Oriented Concepts
- Using inheritance
- Using types of polymorphism such as overloading, overriding, and dynamic binding
- Working with superclasses and subclasses - Adding abstraction to your analysis and design - Understanding the purpose of Java interfaces - Creating and implementing a Java interface
Introducing Advanced Object Oriented Concepts
- Using inheritance
- Using types of polymorphism such as overloading, overriding, and dynamic binding
- Working with superclasses and subclasses - Adding abstraction to your analysis and design - Understanding the purpose of Java interfaces - Creating and implementing a Java interface
Handling Errors
- Understanding the different kinds of errors that can occur and how they are handled in Java
- Understanding the different kinds of Exceptions in Java
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
- Using Javadocs to research the Exceptions thrown by the methods of foundation classes
- Writing code to handle Exceptions
The Big Picture
- Creating packages and JAR files for deployment using java - Two and three tier architectures
- Looking at some Java applications examples
Nivel II:
Java Programming Language Java SE 7
Java Platform Overview
- Introductions - Course Schedule - Java Overview - Java Platforms - OpenJDK - Licensing
- Java in Server Environments - The Java Community Process
Java Syntax and Class Review
- Simple Java classes
- Java fields, constructors and methods - Model objects using Java classes
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
- Package and import statements
Encapsulation and Polymorphism
- Encapsulation in Java class design
- Model business problems with Java classes - Immutability
- Subclassing
- Overloading methods
- Variable argument methods
Java Class Design
- Access modifiers: private, protected and public - Method overriding
- Constructor overloading - The instanceof operator - Virtual method invocation - Polymorphism
- Casting object references - Overriding Object methods
Advanced Class Design
- Abstract classes and type generalization - The static and final modifiers
- Field modifier best practices - The Singleton design pattern - Designing abstract classes - Nested classes
- Enumerated types
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
Inheritance with Java Interfaces
- Java Interfaces - Types of Inheritance
- Object composition and method delegation - Implementing multiple interfaces
- The DAO design pattern
Generics and Collections
- Generic classes and type parameters - Type inference (diamond)
- Collections and generics - List, set and Map
- Stack and Deque
String processing
- String manipulation with StringBuilder and StringBuffer - Essential String methods
- Text parsing in Java
- Input processing with Scanner - Text output and formatting
- Regular expressions with the Pattern and Matcher classes
Exceptions and Assertions
- Exceptions categories
- Standard Java Exception classes - Creating your own Exception classes - Using try-catch and the finally clause
- Using try-with-resources and the AutoCloseable interface - The multi-catch feature
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
- Best practices using exceptions - Assertions
I/O Fundamentals
- I/O using Java
- Reading the console input stream - Writing to the console
- Using I/O Streams - Chaining I/O Streams - Channel I/O
- Reading and writing objects using Serialization
File I/O with NIO 2
- The Path interface - The Files class
- Directory and File operations - Managing file system attributes - Reading, writing, and creating files - Watching for file system changes
Threading
- Operating system task scheduling
- Recognizing multithreaded environments - Creating multi-threaded solutions
- Sharing data across threads - Synchronization and Deadlock - Immutable objects
Concurrency
- Creating Atomic variables
CENTRO DE TECNOLOGIA ESPECIALIZADO DE COLOMBIA S.A.S.
Avenida 5B Norte # 21 – 56 B/ Versalles 4042228 – 4024946 – 3962198 [email protected]
CALI – COLOMBIA
- Using Read-Write Locks - Thread-safe collections
- Concurrenct synchronizers (Semaphore, Phaser, and others) - Executors and ThreadPools to concurrently schedule tasks - Parallelism and the Fork-Join framework
Database Application with JDBC
- Layout of the JDBC API - JDBC divers
- Queries and results
- PreparedStatement and CallableStatement - Transactions
- RowSet 1.1 RowSetProvider and RowSetFactory - The DAO Pattern and JDBC
Localization
- Advantages of localization - Defining locale
- Read and set locale using the Locale object - Resource bundles
- Format messages, dates and numbers