0% found this document useful (0 votes)
169 views7 pages

Java J2EE Performance Tuning

This 3-day course covers techniques for performance tuning Java programs and J2EE applications. It discusses measuring and analyzing performance, coding best practices, memory footprint optimization, algorithms and data structures, native code integration, profiling tools, garbage collection, and JVM internals. The course also focuses on performance patterns for EJBs, servlets, transactions, and more in the context of J2EE application tuning.

Uploaded by

ravisksksk
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
169 views7 pages

Java J2EE Performance Tuning

This 3-day course covers techniques for performance tuning Java programs and J2EE applications. It discusses measuring and analyzing performance, coding best practices, memory footprint optimization, algorithms and data structures, native code integration, profiling tools, garbage collection, and JVM internals. The course also focuses on performance patterns for EJBs, servlets, transactions, and more in the context of J2EE application tuning.

Uploaded by

ravisksksk
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 7

Microsys Technologies and Solutions Pvt. Ltd.

Java/ J2EE Performance Tuning


Objective:: This prg helps to know to "performance tune" any type of Java program and make Java code run significantly faster. Ths course will help performance tuning process, right from such early considerations as setting goals, measuring performance, and choosing a compiler. This course will lay out a practical method for performance tuning of Web Applications and EJB's on BEA Weblogic and will help you evaluate how to deploy them in the real world to get the performance you need, and also to help you evaluate different approaches. Prerequisite:

Basic understanding of object oriented systems and Java.

Understanding of developing applications with Java and the J2EE.

Duration: 3 days Detailed Coverage:

Day 1 : What is Performance? Computational Performance RAM Footprint Startup Time Scalability Perceived Performance

The Performance Process Developing a Performance Process Analysis Object-Oriented Design


# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6 page 1 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

Coding Testing Profiling

Measuring performance Benchmarking Why Build Benchmarks? Micro-Benchmarks Macro-Benchmarks Analyzing Benchmarks

Java Performance Coding Best Practices for the J2SE

I/O Performance Basic I/O Buffered Streams Custom Buffering Further Improvements Serialization Serialization Example Improved Serialization Example Analyzing Persistent State NIO

RAM Footprint Computing RAM Footprint Assessing Memory Usage Measuring a Program's True Footprint What Contributes to Footprint? Objects Classes Threads
# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6 page 2 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

Native Data Structures Native Libraries Class Loading Measuring Class Loads

Controlling Class Loading Eager Class Loading Controlling Eager Loading Reducing the Number of Classes Simple Inner Classes Collapsing the Listeners Using Reflection Using a Proxy Running Multiple Programs Running in the Same Virtual Machine

Day 2: Object Mutability: String and Other Things Lots of Little Objects Handling String Objects Mutable Objects in AWT and Swing Eliminating Temporary Objects Other Mutable Object Tactics Simulating const Mutable Object Case Study Small Objects and the Modern JVM Object Pooling Array Mutability

Algorithms and Data Structures Selecting Algorithms Comparing Algorithms


# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6 page 3 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

Achieving Elegance Considering the Problem Space Using Recursive Algorithms Beyond Simple Algorithms Selecting Data Structures Java 2 Collections The Collection Interfaces Collection Interface List Objects Set Objects Map Objects Synchronized Collections Collections Framework Algorithms Plain Arrays Immutable Collections Collections Example Collection Benchmark Results

Using Native Code Native Graphics Example Native Code Comparison Examining JNI Costs Java Language Copy JNI Patterns Pattern 1: Call Pattern 2: Call-Pull Pattern 3: Call-Pull-Push Pattern 3 (Variant): Call-Pull-Push with Critical Pattern 4: Call-Invoke

# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6

page 4 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

Reflection and performance Profiling Profiling Execution Times Profiling Memory Usage Profiling to Locate Memory Leaks Basic Tools Using OptimizeIT/JProbe Timers & Logging Common Problems Load Testing Tools Load Testing Techniques JVM Profilers Heap Activity Monitors Dealing with Flat Profiles A Flat Profile Example

The Truth About Garbage Collection Why Should You Care About Garbage Collection? The Guarantees of GC The Object Lifecycle Created In Use Invisible Unreachable Collected Finalized Deallocated

Reference Objects Types of Reference Objects Example GC with WeakReference References on Garbage Collection The Java HotSpot Virtual Machine
# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6 page 5 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

HotSpot Architecture Two Versions of HotSpot Runtime Features Memory Allocation and Garbage Collection Thread Synchronization HotSpot Server Compiler Aggressive Inlining Other Optimizations Array Bounds Checks -X Flags -Xnoclassgc -Xincgc -Xbatch -Xms -Xmx -Xprof -XX Flags Kinds of -XX Flags PrintBytecodeHistogram CompileThreshold NewSize

Detailed look at BEA JRockit JVM and its console

Day 3: Performance in the context of J2EE Performance Coding Best Practices for J2EE EJB best practices Servlet/JSP best practices Transactions , Distributed transactions JDBC and performance. JMS and performance- persistant & non persistant
# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6 page 6 of 7

Microsys Technologies and Solutions Pvt. Ltd.,

Design patterns for performance Performance Anti-patterns

J2EE application performance tuning tuning Web tier tuning ejbs connection leak profiling tuning in response to statistics from app server

# 177, 8th Block, Jayanagar, Bangalore 560082 Ph: 41661184/5/6

page 7 of 7

You might also like