SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
The Definitive Guide to Java RTS for Developers and Architects
Sun Microsystems’ Java Real-Time System (Java RTS) is proving itself in numerous, wide-ranging environments, including finance, control systems, manufacturing, and defense. Java RTS and the RTSJ standard (JSR-001) eliminate the need for complicated, specialized, real-time languages and operating environments, saving money by leveraging Java’s exceptional productivity and familiarity.
In Real-Time Java™ Programming, two of Sun’s top real-time programming experts present the deep knowledge and realistic code examples that developers need to succeed with Java RTS and its APIs. As they do so, the authors also illuminate the foundations of real-time programming in any RTSJ-compatible environment.
Key topics include
Real-Time Java Development and JavaFX with Eric Bruno
Using the Sun Java Real-Time System
Please visit the author's website at www.ericbruno.com/realtime.
Real-Time Java for the Rest of Us
Download the sample pages (includes Chapter 1 and Index)
Preface xiii
Acknowledgments xix
About the Authors xxi
Part I: Real-Time Computing Concepts 1
Chapter 1: Real-Time for the Rest of Us 3
Qualities of Real-Time Systems 3
Predictability and Determinism 7
Real-Time Computing 15
Real-Time Scheduling 18
Further Reading 35
Chapter 2: Real-Time and Java SE 37
Is Java a Real-Time Language? 37
Garbage Collection 40
Garbage Collection in Sun’s Java SE 6 HotSpot 48
Real-Time GC Algorithms 66
The Java Dilemma 76
Chapter 3: The Real-Time Specification for Java 77
A Foundation for Real-Time Java 78
Inside the RTSJ 81
Optional RTSJ Facilities 92
The Future of Real-Time Java 92
Chapter 4: The Sun Java Real-Time System 95
A Prelude to Java RTS Programming 96
Installing Java RTS 102
Guide to Determinism 107
Command-Line Options 133
Part II: Inside Java RTS 143
Chapter 5: Threads, Scheduling, and New Memory Models 145
Schedulable Objects 146
Real-Time Threads 159
Memory Models 185
Chapter 6: Synchronization 203
Resource Sharing 203
Wait-Free Thread Communication 209
Chapter 7: The Real-Time Clock API 223
The Clock API 223
Java RTS High-Resolution Time Operations 226
A Conflated Stock Data Feed Example 229
Chapter 8: Asynchronous Events 237
Asynchronous Event Processing 237
Building an Asynchronous Event Handler (AEH) 240
Time-Based Events 258
Chapter 9: Asynchronous Transfer of Control and Thread Termination 269
Asynchronous Transfer of Control (ATC) 269
Asynchronous Thread Termination 284
Chapter 10: Inside the Real-Time Garbage Collector 289
RTGC Theory of Operation 290
RTGC Memory Allocation 302
RTGC Policies 306
Part III: Using Java RTS 315
Chapter 11: An Equities Trading System 317
The Equities Market 317
The Trading System Implementation 319
The Java SE Version 322
The Java RTS Version 333
The Java RTS No-Heap Version 336
Application Confi guration 346
Chapter 12: Java RTS Tools 347
Java RTS Development 347
The Thread Schedule Visualizer (TSV) 353
Java RTS DTrace Probes 373
Bibliography 391
Index 393