Preface
Chapter 1 Distributed Java Applications
1.1 Message-Based Implementation of Inter-System Communication
1.1.1 Java's Own Technology to Implement Inter-System Communication in the Message-Based Approach
1.1.2 Open-Source Framework Based Implementation of Message-Based Inter-System Communication
1.2 Remote-Based Invocation Method
1.2.1 Based on Java's Own Technology to Realize Inter-System Communication by Remote Invocation Method
1.2.2 Based on Open Source Framework to Realize Inter-System Communication by Remote Invocation Method
Chapter 2 Large Scale Distributed Java Applications and SOA
2.1 Based on SCA to Realize SOA Platform
2.2 Implementing a SOA Platform Based on an ESB
2.3 Implementing a SOA Platform Based on Tuscany
2.4 Implementing a SOA Platform Based on a Mule
Chapter 3 A Deeper Understanding of the JVM
3.1 Execution Mechanisms for Java Code
3.1.1 Compilation Mechanisms for Java Source Code
3.1.1 Java Source Code Compilation Mechanism
3.1.2 Class Loading Mechanism
3.1.3 Class Execution Mechanism
3.2 JVM Memory Management
3.2.1 Memory Space
3.2.2 Memory Allocation
3.2.3 Memory Reclamation
3.2.4 JVM Memory Condition Viewing Methods and Analyzing Tools
< p>3.3 JVM Thread Resource Synchronization and Interaction Mechanisms3.3.1 Thread Resource Synchronization Mechanisms
3.3.2 Thread Interaction Mechanisms
3.3.3 Thread Status and Analysis
Chapter 4 Distributed Applications and the Sun JDK Class Libraries
4.1 Collections
4.1.1 ArrayList
4.1.2 LinkedList
4.1.3 Vector
4.1.4 Stack
4.1.5 HashSet
4.1.6 TreeSet
4.1.7 HashMap
4.1.8 TreeMap
4.1.9 Performance Tests
4.1.10 Summary
4.2 Concurrency Package (java.util.concurrent)
4.2.1 ConcurrentHashMap
4.2.2 CopyOnWriteArrayList
4.2.3 CopyOnWriteArraySet
4.2.4 ArrayBlockingQueue
4.2.5 AtomicInteger
4.2.6 ThreadPoolExecutor
4.2.7 Executors
4.2.8 FutureTask
4.2.9 Semaphore
4.2.10 CountDownLatch
4.2.11 CyclicBarrier
4.2.12 ReentrantLock
4.2.13 Condition
4.2.14 ReentrantReadWriteLock
4.3 Serialization/Deserialization
4.3.1 Serialization<
4.3.2 Deserialization
Chapter 5 Performance Tuning
5.1 Finding Performance Bottlenecks
5.1.1 CPU Consumption Analysis
5.1.2 File IO Consumption Analysis
5.1.3 Network IO Consumption Analysis
5.1.4 Memory Consumption Analysis
5.1.5 Program execution slow cause analysis
5.2 Tuning
5.2.1 JVM tuning
5.2.2 Program tuning
5.2.3 For the case where there is not much consumption of resources but the program is executing slowly
Chapter 6 Building Highly Available Systems
6.1 Avoiding Single Points in the System
6.1.1 Load balancing techniques
6.1.2 Hot standby
6.2 Improving the availability of the application itself
6.2.1 Avoiding failures as much as possible
6.2.2 Detecting failures in a timely manner
6.2.3 Handling failures in a timely manner
6.2.4 Responding to rising access and data volumes Strategies
Chapter 7 Building Scalable Systems
7.1 Vertical Scaling
7.1.1 Supporting High Access Volumes
7.1.2 Supporting Large Data Volumes
7.1.3 Enhancing Computing Power
7.2 Horizontal Scaling
7.2.1 Supporting High Access Volumes
7.2 .2 Supporting Large Data Volumes
7.2.3 Enhancing Computational Capability