Curso Java Advanced Programming
32 horasVisão Geral
Este Curso Java Advanced Programming é para indivíduos e pequenos grupos que desejam aprender tópicos avançados de Java. Nesta aula de treinamento avançado em Java, os alunos aprendem que os aplicativos cliente/servidor podem ser escritos utilizando os pacotes java.net e java.rmi.
A segurança também é abordada em detalhes em vários capítulos, incluindo políticas de segurança e criptografia de dados. A análise XML é feita usando a API JAXP. Os programadores podem usar funções C e C++ de seus programas Java usando JNI. O curso termina com vários capítulos sobre padrões de projeto e como eles podem ser melhor utilizados em diferentes tipos de aplicativos Java. Os desenvolvedores Java aprendem aplicativos cliente/servidor escritos utilizando os pacotes java.net e java.rmi. Os desenvolvedores Java aprendem sobre políticas de segurança Java e criptografia de dados. A análise XML é feita usando a API JAXP. Os programadores podem usar funções C e C++ de seus programas Java usando JNI.
Publico Alvo
Programadores Java que desejam aprofundar seus conhecimentos em programação Java e explorar os usos dos vários pacotes avançados.
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Advanced I/O – Object Serialization
- What is Serialization?
- Serializable Object
- Writing an Object
- Reading an Object
- Handling Exceptions
- Customizing Serialization
- Controlling Serialization
- Versioning
Advanced I/O – New I/O
- The java.nio package
- Buffers and Channels
- Buffer Implementations
- Buffer Methods
- ByteBuffer Methods
- FileChannel
- File Locking
- MappedByteBuffer
- Transferring Data Between Channels
- Character Sets
Reflection
- Introduction to Reflection
- The Class Class
- The reflect Package
- Constructors
- Fields
- Methods
- Exception Handling and Reflection
- JavaBeans
- Dynamic Programming
Advanced JDBC
- JDBC SQL Escape Syntax
- The execute() Method
- Batch Updates
- Updatable Result Sets
- Large Objects
- Working with Savepoints
- RowSets
- CachedRowSets
- DataSources
Networking with Sockets
- Clients and Servers
- Ports, Addresses and Protocols
- The Socket Class
- Communication Using I/O
- Servers
- The ServerSocket Class
- Concurrent Servers
- The URL Class
- The URLConnection Class
Remote Method Invocation
- Distributed Applications
- Stubs
- Steps to Create a Remote Object
- An RMI Client
- An RMI Server
- RMI Classes and Interfaces
- Class Distribution
- RMI Utilities
- Parameter Passing and Serialization
Advanced RMI
- Client Callbacks
- Dynamic Class Loading
- Activation
- Activatable Objects
- Registering Activatable Objects
- Security and Activation
- JNDI and RMI Registry
- RMI-IIOP
Managing Security Policies
- Untrusted Code
- Security Managers
- The Java Security Model
- Policy Entries
- Policy Files
- Using the Policy Tool
- Securing Applets
- Securing Applications
Keys, Signatures, and Certificates
- Jar Files
- Data Security Concerns
- Message Digests
- Digital Signatures
- Using keytool
- Using jarsigner
- Certificates
- Certificate Chains
- Managing Keys and Certificates
- Security Policies for Signed Code
- Java Cryptography Architecture
Encryption with the javax.crypto Package
- Cryptography Concepts
- Encryption Keys
- Cipher Algorithms
- Modes and Padding Schemes
- The Cipher Class
- Encrypting and Decrypting Data
- Cipher Output Stream
- Cipher Input Stream
- Encryption using Password Ciphers
- Exchanging Encrypted Keys
- Sealed Objects
Java Authentication and Authorization Service (JAAS)
- Authentication and Authorization
- JAAS Overview
- LoginContext
- Subjects, Principals, and PrivilegedActions
- Authentication with the NTLoginModule
- Defining Permissions in Policy Files
- KeyStoreLoginModule
- Callbacks
- NameCallback and PasswordCallback
- The Policy Class
Java Naming and Directory Interface (JNDI)
- Naming and Directory Services
- Namespaces and Contexts
- Naming Operations
- Bindings
- Attributes
- Directory Operations
- DNS Lookups with JNDI
- JNDI in J2EE
Parsing XML with Java – JAXP
- Naming and Directory Services
- Namespaces and Contexts
- Naming Operations
- Bindings
- Attributes
- Directory Operations
- DNS Lookups with JNDI
- JNDI in J2EE
Parsing XML with Java – JAXP
- The Java API for XML Processing
- Introduction to SAX Parsing
- SAXParser and JAXP
- SAX Event Methods
- Introduction to DOM
- Parsing DOM with JAXP
- The DOM API
- Validation
- Transformation
Native Methods
- Overview of Java Native Methods and JNI
- How to Create and Use Native Methods
- Native Method Declaration
- Using javah
- Creating the Implementation Code
- Compilation
- Distribution
- Using the Native Methods
- JNI
- Passing Arguments
- Calling Java Methods in Native Code
- JNI Signatures
Java Design Patterns – Creational Patterns
- What are Design Patterns?
- What are Creational Patterns?
- Singleton – Introduction
- Singleton – Implementation
- Singleton – When to Use?
- Factory Method – Introduction
- Factory Method – Implementation
- Factory Method – When to Use?
- Builder – Introduction
- Builder – Implementation
- Builder – When to Use?
Java Design Patterns – Structural Patterns
- What are Structural Patterns?
- Façade – Introduction
- Façade – Implementation
- Façade – When to Use?
- Adapter – Introduction
- Adapter – Implementation
- Adapter – When to Use?
- Composite – Introduction
- Composite – Implementation
- Composite – When to Use?
Java Design Patterns – Behavioral Patterns
- What are Behavioral Patterns?
- Template – Introduction
- Template – Implementation
- Template – When to Use?
- State – Introduction
- State – Implementation
- State – When to Use?
- Observer – Introduction
- Observer – Implementation
- Observer – When to Use?
Appendix A – JDBC SQL Programming
- Error Checking and the SQLException Class
- The SQLWarning Class
- JDBC Types
- Executing SQL Queries
- ResultSetMetaData
- Executing SQL Updates
- Using a PreparedStatement
- Parameterized Statements
- Stored Procedures
- Transaction Management
Appendix B – Eclipse
- Introduction to Eclipse
- Installing Eclipse
- Running Eclipse for the First Time
- Editors, Views, and Perspectives
- Setting up a Project
- Creating a New Java Application
- Running a Java Application
- Debugging a Java Application
- Shortcut Key Sequences
- More Shortcut Key Sequences
- Setting the Classpath
- Importing Existing Java Code into Eclipse