c2
Connect on:
  • Home
  • Course Centre
    • Project Management >
      • Professional Project Management
      • Project Management Essentials
      • Managing Project Requirements
      • Scheduling & Cost Control Project Managers
      • Project Leadership, Management & Communication
      • Risk Management for Project Managers
      • Negotiation Skills for Project Managers
      • Managing Remote Project Teams
      • Project Quality Management
      • Project Procurement Management
      • Earned Value Management
      • Professional Project Management - Best Practice
      • Professional Project Management - Exam Preparation
      • PRINCE2® Foundation & Practitioner
      • PRINCE2® Overview
    • Agile Project Management Courses >
      • Agile Project Management
      • Using Scrum in organistations
      • Certified ScrumMaster
    • Java >
      • Core Java Programming
      • Advanced Java Programming
      • Java Programming & XML
      • Java Networking
      • Java Virtual Machine (JVM)
      • Java & Java EE Open Source Testing Tools
    • Java Enterprise Edition (EE) >
      • Enterprise Java with Hibernate and Spring
      • Developing Java Web Applications
      • Java & Java EE Open Source Testing Tools
      • Spring Framework Development
    • C/C++ Programming >
      • C Programming Techniques
      • C++ Programming Fundamentals
      • C++ for C Programmers
      • Advanced C++ Programming
      • C++ & STL Design Patterns
      • Object Oriented C++ for Real-time Applications
    • Unix/Linux >
      • Linux Fundamentals
      • Linux Administration Essentials
    • Windows Server Courses >
      • Installing and Configuring Windows Server 2012
      • Windows Server 2008 - Server Administration
      • Configuring Windows Server 2008 Active Directory
    • .NET Courses >
      • ASP.NET MVC 4.0
    • Perl Programming Courses >
      • Perl Programming
      • Advanced Perl Programming
    • Python Programming Courses >
      • Python Programming
    • Database Courses >
      • MySQL for Developers
    • CompTIA >
      • CompTIA Network+
    • Scripting >
      • JavaScript - Introduction
      • JavaScript - Advanced
    • Data Analysis & Design >
      • Data Analysis & Design - Introduction
      • Data Analysis & Design with UML
    • Microsoft Office Courses >
      • Microsoft Word - Introduction
      • Microsoft Word - Intermediate
      • Microsoft Word - Advanced
      • Microsoft Access - Introduction
      • Microsoft Access - Intermediate
      • Microsoft Access - Advanced
      • Microsoft Excel - Introduction
      • Microsoft Excel - Intermediate
      • Microsoft Excel - Advanced
      • Microsoft Excel - Dashboards
      • Microsoft Excel - Macros
      • Microsoft Excel - Expert
      • Microsoft PowerPoint - Level 1
      • Microsoft PowerPoint - Level 2
      • Microsoft PowerPoint - Advanced
      • Microsoft Outlook - Introduction
      • Microsoft Outlook - To Manage Your Time Efficiently
      • Microsoft Project - Introduction
      • Microsoft Project - Advanced
      • Microsoft Publisher - Introduction
      • Microsoft Visio - Introduction
    • Solaris >
      • Solaris 10 Administration
  • Testimonials
  • About
  • Contact

Java Virtual Machine

Course Description

The Java virtual machine (JVM) is an abstract computer defined by a specification describing the working of Java programs. Java programs run inside a concrete implementation of this abstract specification.  This 2-day course looks deeply at the internal working of the Java virtual machine specification and its implementation. The course starts with an overview of Java’s features and architecture. It then describes the internal JVM functions, including class file structure, class loading and verification, garbage collection, code security, and thread synchronization. The course also
covers various method invocation techniques by the JVM including reflection.

Course Duration

2 days

Course Objectives

At the end of this course, the student should:

• Understand the java architecture and its features to support writing portable secure code,
• Understand the specification and implementation of the Java virtual machine,
• Understand the structure of the java class file and the process of class loading,
• Be able to write customized class loaders,
• Understand the various techniques for  garbage collection,
• Be able to use reference objects for writing code that automatically free objects and cleanup resources,
• Understand and use various ways for method invocation including native methods,
• Be able to use various reflection classes to handle dynamic object types,
• Understand the Java thread model and various synchronization mechanisms,
• Be able to write effective multi-threaded applications.

Course Content

Introduction to Java Architecture
Introduction to Java as a technology; overview of Java's architecture; features of the Java language; Java portability.  

Java Class Files and Class Loaders
The organisation of a Java class file; Java class file format; the class loader; class loading process; building customized class loaders.

Garbage Collection
Garbage collection techniques; types of garbage collectors; garbage collection in the JVM; reference counting;
object reachability; Java reference objects; finalization.

Method Invocation and Reflection Classes
Invoking a java method; invoking a native method; using the invoksepecial instruction; using reflection classes; class instantiation with reflection.

Java Security Model
The security model built into Java's core architecture; the Java sandbox; the evolution of Java's security model; the class file verifier; JVM safety features; the security manager; code signing.

Threads and Thread Synchronization
The java thread model; the thread lifecycle; monitors; Java synchronization support; object locking and unlocking.

Who should attend?

This course is aimed at experienced Java Programmers

Pre-requisites

Candidates should have either completed c2’s Core Java Programming course or have a strong understanding and experience of using the Java language 
Powered by Create your own unique website with customizable templates.