.net c# vb.net delphi sql server asp java coldfusion web developer training course class uk floridaC# training course UKC#.net training course UKvb.net training course UKSQL Server training course UK.net c# vb.net delphi sql server asp java coldfusion web developer training course class uk florida
.net c# vb.net delphi sql server asp java coldfusion web developer training course class uk floridaDelphi training course UKASP.net training courseJava training course UKASP.NET training class UK.net c# vb.net delphi sql server asp java coldfusion web developer training course class uk florida
 

C#.Net training

VB.Net training

SQL Server training

ADO.NET training

ASP.net training

Delphi training

Java training

Web Tech, UK
+44 (0) 1452 814 303

Web Tech, USA
1-866-844-6179

Visit
WebTechCorp.Com





 
Quick Search:

If you have three or more developers needing this course consider having us customize this course for your specific needs - at your site or ours.

Advanced Java training class in the UK - Advanced Java training class outline
Java 2 Advanced Programming Next Course Dates Call for schedule    
Duration 5 days

Pre-requisites

Moderate proficiency with the Java Programming language is required. Our Java Programming Fundamentals provides a solid base for this course.

Who Should Attend?

Intermediate to advanced level developers. Ideally students should have taken at least Java Programming Fundamentals, or should have an equal level of Java programming experience. Familiarity with an object-oriented language is required, and real world programming experience is a must.
Course Benefits


The Advanced Java Programming Developer’s class is a five-day, comprehensive hands-on workshop geared for developers who wish to explore specific advanced programming APIs and techniques.
You Will Learn How To

















Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Working in a hands-on environment, students will:

  • Explore the Java Virtual Machine (JVM)
  • Explore the primary phases and benefits of the class loading mechanism in Java 2
  • List possible metrics for measuring software performance
  • Explain the effect of OO design on software performance
  • List and describe types of benchmarks and the criteria that should be considered when constructing a benchmark plan
  • Explore the most useful targets for profiling, and the most common tools/techniques for profiling
  • Describe two strategies for improving performance as a result of profiling data
    list and explain the five most common problem areas for good performance with Java
  • Use the JDK to collect runtime profiling data
  • Successfully read the profiling data generated by the JDK to detect performance bottlenecks
  • Instrument your own code to collect method execution time data
  • Learn code optimization techniques
  • Use zip I/O streams
  • Understand how to structure and the advantages of jar files
  • Understand and implement Internationalization and Localization techniques
    explore and understand JNI
  • Interface to a C function from Java
  • Exchange data from a JVM to a C function
  • JMX Architecture
  • Implement a security policy
  • Use authentication inside java applications
  • Apply authorization inside your applications
  • Use a PKI
Course Overview

This Java training course is intended for programmers who are already familiar with the Java environment and syntax and are ready to learn more about developing complex applications.

Course Content






 

 

 

 

 

 

 

 

Writing High-Performance Applications
Performance: Process and Issues | List four possible metrics for measuring software performance | Explain the effect of OO design on software performance | Explain where performance tuning resides in the overall OOSD cycle | Profiling and Benchmarking | List and describe the two types of benchmarks | Describe the criteria that should be considered when constructing a benchmark plan | Name the three most useful targets for profiling | List four common tools/techniques for profiling | Describe two strategies for improving performance as a result of profiling data | List and explain the five most common problem areas for good performance with Java | Profiling Tools | Use the JDK to collect runtime profiling data | Successfully read the profiling data generated by the JDK to detect performance bottlenecks | Instrument your own code to collect method execution time data | Code Optimization Techniques | List three potential problems with strings | List two ways to optimize loops | Describe the advantages of private and final methods | List two advantages of Java 1.2 collections over vectors and hashtables | List 4 other code and system optimizations | Design Optimization Techniques | List five ways to optimize Java program design

JAAS
JAAS Overview | Recap Java Security | Explain the concept of a Protection Domain | Recap enforcing code-based (including signature) authorization | Understand the role of the AccessController and the AccessControlContext |
Understand the role of the Protection | Understand the sequence of events for permission | Understand permission checking and the (call) stack | Understand the concept of PrivilegedAction and its effect on the permission checking sequence | Introduce the JAAS concept | Introduce the JAAS Authentication architecture | Understand the role of login modules | Understand the Subject and the relation with Principals | Introduce the JAAS Authorization architecture | Understand how Java security is enhanced to support principal-based authorization | Lesson: Applying JAAS Authentication and Authorization | Understand how to configure a JAAS configuration file | List the standard LoginModule implementations | Understand the different between the different requirement flags set on a login module declaration | Understand how to initiate the login process | Understand the Callback and CallbackHandlers | Be able to implement a CallbackHandler | How to configure principal-based Authorization | Understand different ways of associating a Subject with an AccessControllContext | Understand the difference between doAs and doAsPrivileged | Developing a custom Login Module | Understand the steps to develop a custom login module | Understand in more detail the login sequence of JAAS | Understand the semantics and proper implementation of the LoginModule methods

Java Object and Class management
Class loaders | Understand the responsibilities of a Java class loader | Understand class loader hierarchy | Understand the class loading sequence | Understand the related security | Understand how to use class loaders in your design/architecture | Understand how to re-load classes into the JVM | Write your own class loader | Understand how to write a class loader in a security enabled environment (SecurityManager) | End of Object lifetime | Understand the garbage collector's responsibilities | List the kinds of object references available in Java | Understand the Weak, Soft and other references | Implement a caching collection using weak references

Session: The Regular Expression API
The Regular Expression API | Introduce the Java Regular expression API |
Explain the use of Pattern objects | Explain the use of Matcher objects | Give an overview of Regular expressions

Session: Overview of Reflection
Use reflection to determine the fields and methods of arbitrary objects | Create programs which utilize dynamic method call creation

Session: JNI
Java Native Invocation (JNI) | Understand the JNI architecture | Understand the capabilities of JNI | Interface to a C function from Java | Exchange data from a JVM to a C function

Advanced Threading
Java SE Concurrency API | Understand the Lock API | Use Condition objects | Understand and use Semaphores | Understand and use the CountDownLatch | Understand and use the CyclicBarrier | Appreciate the Exchanger | Appreciate the Executor framework | Start and manage tasks | Understand how to schedule task execution | Work with the Callable interface | Appreciate Future | Use and configure thread pools

NIO
NIO packages | Introduce the Java NIO API | Explain the use of Buffers | Explain the use of Channels | Write a file using the FileChannel | Provide an overview of SocketChannels

Appendix: Developing JMX MBeans
Brief overview of JMX | Explain the JMX three level architecture | Understand the role and relationships for each level | Get an understanding of MBeans and the different ways of implementing them | Understand the relation between an MBean Server and its MBeans | Discuss different MBean deployment scenarios | Understand the concept of an MLET | Introduce JBoss sar files | Understand the JBoss -service.xml file | Developing standard MBeans | Understand the three different ways of developing standard MBeans | Understand what aspects of a standard MBean are considered static, and which are dynamic | Understand the registration process of an MBean on a local MBean Server | Discuss the limitations of local MBean Server registration | See a real-life application of JMX to monitor a web application | Develop a real-life application of JMX to manage document caching in a J2EE environment | Developing Dynamic MBeans | Understand the rationale behind Dynamic MBeans | Understand the need to a metamodel | Explain how a Dynamic MBean exposes its behavior | Correctly handle attribute support implementation | Correctly handle constructor and operation support implementation | Describe how MBeans can acts as event sources | Understand how to support notifications | Introduce proper exception handling for Dynamic MBeans | JMX Remoting (client side) Discuss the two different mechanisms for clients to work with a server | Contrast Adapters and Connectors | Understand what JSR160 (JMX Remoting) adds to the JMX arena | Understand the different mechanism of connecting with a JMX MBeanServer using JMX Remoting | Understand client configuration to connect with a remote server | Understand the two ways of connecting a client with the server using connectors | Understand the way URLs are described | Understand the relation between JMX and technologies such as LDAP, Jini and SLP | Describe the role of JMXMP |
Understand what a JMX client can do, when connected | Briefly describe the query mechanism | Understand how a client can operate with the MBeans on the server | Discuss class loading and registration of MBeans | Understand how to listen to notification


Appendix: Java Encryption (JCA and JCE)
Overview of Java Encryption | Set the context for encryption and related security technologies | Understand the different technologies | Introduce the different algorithms used in encryption technologies | Understand symmetric encryption and what to use it for | Understand asymmetric encryption and what it used for | Understand the role and concept of Message Digests | Understand the role and concept of Digital signatures | Understand the role and concept of Message Authentication Code (MAC) | Understand the role and concept of Certificates | Understand the role and concept of key agreement technologies | Introduce PKI architectures | Introduction to Java's Cryptography APIs (JCA/JCE) | Introduce basics of implementing cryptographic functionality in Java (focus on keys and ciphers) | Understand on a high-level the security architecture in J2SE | See a few examples of how to achieve concepts explained in the previous lesson | Generate a symmetric key | Generate asymmetric (private/public) key pairs | Configure key generation | Understand encryption modes (such as CBC, ECB, CFB, OFB and PCBC) | Understand padding modes (such as ISO10126Padding, OAEP, PKCS 1 and 5 Padding) | Configure ciphers | Perform encryption/decryption using different strategies | Understand how to encrypt/decrypt files | Understand how to digest a message | Understand how to produce a MAC | Understand how to sign and verify digital signatures

Copyright 1990 - 2013 - WebTech Training & Development - C#.net training vb.net training SQL Server training Delphi training ASP.net training Java training UK

 

home ] contact ] courses ] register ]