Gateway Software Symposium
March 6 - 8, 2009 - St. Louis, MO
Alex Miller
Sr. Engineer with Terracotta Inc.
Alex Miller is a Sr. Engineer with Terracotta Inc, the makers of the open-source Java clustering product Terracotta. Prior to Terracotta, Alex worked at BEA Systems on the AquaLogic product line and was Chief Architect at MetaMatrix. His interests include Java, concurrency, distributed systems, query languages, and software design. Alex enjoys writing his blog at http://tech.puredanger.com and has spoken at a number of Java user group meetings and conferences.
In St. Louis, Alex is responsible for founding the Lambda Lounge, a user group for the study of functional and dynamic languages.
Presentations
Java 7 Preview
Possible library and language changes for Java 7 have been in discussion since early 2007 and many things have been proposed. This talk will focus on those items that are most likely to be included and some of the more controversial language changes that might be included in a future release. For a comprehensive list of almost everything being considered, see http://tech.puredanger.com/java7.
Some examples of topics that will be discussed include: * Java Module System * NIO 2 (new NEW IO) * Swing Application Framework, Bean Binding, and Bean Validation * Date and Time API * Fork/Join framework * JMX 2.0
Java Concurrency Idioms
This presentation will look at the many new additions in Java 5 and 6 for concurrent programming such as Atomics, Locks, synchronizers, and concurrent collections. In particular, we will be looking at common concurrency idioms around locking and access to shared state, thread coordination, thread pooling, and work execution. Each of these topics will be presented with code examples demonstrating common idioms and the usage of these new concurrency primitives.
Some topics we will cover in detail include: * Thread coordination with Thread.join(), CountdownLatch, and CyclicBarrier * Access to shared state with synchronized, volatile, Atomics, Lock, ReadWriteLock * Using Locks and Conditions to achieve more flexibility than synchronized and wait/notify * Concurrent collections like ConcurrentHashMap, CopyOnWriteArrayList, and ConcurrentSkipListMap * Work execution with Queues, ThreadPools, and Executors
Java Concurrency Gotchas
Concurrency is hard. Java has a rich set of concurrency primitives but its still possible to shoot yourself in the foot. In fact, concurrency makes it substantially more likely that you'll shoot both your feet and possibly the guy next to you. This talk will cover some common concurrency gotchas in Java, how to detect them, and how to fix them.
Examples include: * what NOT to synchronize on * inconsistent locking * wait/notify dangers * deadlock * race conditions * visibility * safe publication * final fields
Books
by Terracotta Inc.
-
Get the definitive guide on all the fundamentals of Terracotta as well as user secrets, recipes, and prepackaged frameworks.
Written by Terracotta's chief technology officer Ari Zilka and his team, The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability covers the following:
- High Availability (HA) nth degree scaling and clustering for traditional J2EE and Java EE 5 applications (using Seam or other application) as well as Spring–based enterprise applications
- Everyday Terracotta using its prepackaged frameworks and integration recipes, including configuration and customization for your application tuning, no matter the scale
- Power user secrets available, including config modules, customized advanced performance tuning, SDLC, Maven, and more
What you’ll learn
- See how Terracotta works fundamentally, and the user pieces and parts necessary for using Terracotta and its open source options
- Learn and apply case studies involving distributed cache, Hibernate, Master/Worker, and HTTP Session
- Understand thread coordination and advanced performance tuning
- Use more advanced case studies involving Spring, POJOs, FOO, and more
- Configure and create your own modules using the software development and deployment life cycle
Who this book is for
This definitive book from the Terracotta team is for both developers and architects who want to learn the “whats, wheres, whens, and whys” of the Terracotta scaling engine.
Table of Contents
- Theory and Foundation: Forming a Common Understanding
- History of Terracotta
- Jumping Into Terracotta
- POJO Clustering
- Caching
- Hibernate with Terracotta
- Extending HTTP Sessions with Terracotta
- Clustering Spring
- Integration Modules
- Thread Coordination
- Grid Computing Using Terracotta
- Visualizing Applications
-
Get the definitive guide on all the fundamentals of Terracotta as well as user secrets, recipes, and prepackaged frameworks.
Written by Terracotta's chief technology officer Ari Zilka and his team, The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability covers the following:
- High Availability (HA) nth degree scaling and clustering for traditional J2EE and Java EE 5 applications (using Seam or other application) as well as Spring–based enterprise applications
- Everyday Terracotta using its prepackaged frameworks and integration recipes, including configuration and customization for your application tuning, no matter the scale
- Power user secrets available, including config modules, customized advanced performance tuning, SDLC, Maven, and more
What you’ll learn
- See how Terracotta works fundamentally, and the user pieces and parts necessary for using Terracotta and its open source options
- Learn and apply case studies involving distributed cache, Hibernate, Master/Worker, and HTTP Session
- Understand thread coordination and advanced performance tuning
- Use more advanced case studies involving Spring, POJOs, FOO, and more
- Configure and create your own modules using the software development and deployment life cycle
Who this book is for
This definitive book from the Terracotta team is for both developers and architects who want to learn the “whats, wheres, whens, and whys” of the Terracotta scaling engine.
Table of Contents
- Theory and Foundation: Forming a Common Understanding
- History of Terracotta
- Jumping Into Terracotta
- POJO Clustering
- Caching
- Hibernate with Terracotta
- Extending HTTP Sessions with Terracotta
- Clustering Spring
- Integration Modules
- Thread Coordination
- Grid Computing Using Terracotta
- Visualizing Applications


