OO Design and Implementation
Java and Java Analysis Studio
Overview
Lecture 1 – Part
1
Introduction to Java
Introduction to Java
Java Today
Major Features of Java
Java libraries
Java versus C++
Java vs. C++ - Specifics
Java vs. C++
A Sample Program
Lecture 1 - Part 2
OO Techniques in Java
OO Techniques in Java
Java Interfaces
Simple Interface Example
More Interface Examples
Adaptors
Adapter Example
Adapters vs. Converters
Inner Classes
Inner Class Example
Anonymous Inner Class
Dynamic Code Loading
Reflection
Threads
Java Support for Threads
Thread Example
Lecture 1 - Part 3
Java Performance and Performance Tips
Java Performance
Static Optimization
Dynamic Optimization
Dynamic Optimization
Memory Allocation
Performance Tips
HEP Performance Tips
Simple Track Factory
Smarter Track Factory
Smartest Track Factory
Test Program
Test Program
Test Program Results
Performance Caveats
“Real Life” Performance
“Real Life” Performance
Conclusion
References
OO Design and Implementation
Java and Java Analysis Studio
Overview
Lecture 2 – Part
1
Introduction to JAS
JAS Overview
JAS GUI
Histogram Viewer
Editor/Compiler
User Extensible
Data Format Independent
Data Types
Analysis Modules
Example Analysis
Lecture 2 – Part 2
JAS Implementation
Implementation
JAS Modules
Use Standard Libraries
FreeHEP Library
FreeHEP library
Java Language Features
EventSource Interface
Lecture 2 – Part
3
Advanced Features
Remote Data Access
Distributed Computing
XML Support
HTML Support
HTML Support
Java 3D
Java 3D
JAS Plugins
BeanShell Scripting
Lecture 2 – Part
4
Using the JAS Plot Widget
JAS Plot Component
Adapter Example
Plot Component Features
JASHist Example
JASHist Example
Servlet Support
Lecture 2 – Part
5
Using JAS Histograms from C++
AIDA
C++ ŕ Java with AIDA
Prototype Implementation
JAS at the CSC
JAS Tutorials at the CSC
Where to get more info.
Conclusion