|
|
|
|
|
Submitted by pcw on Tue, 12/02/2008 - 23:36.
|
| 1 |
RAM |
1 |
| 1.1 |
Embracing RAM Resident Data |
2 |
| 1.2 |
Why This May Not Be For You |
5 |
| 1.3 |
Threat Models |
6 |
| 1.4 |
ACID Compliance |
7 |
| 1.5 |
Using the Book |
9 |
| 2 |
Basic Object in Files |
11 |
| 2.1 |
An Example |
12 |
| 2.2 |
Serializable |
13 |
| 2.2.1 |
Transient |
14 |
| 2.3 |
The File |
14 |
| 2.4 |
Repeated Objects |
16 |
| 2.5 |
Linked Objects |
18 |
| 2.6 |
Conclusion |
20 |
| 2.6.1 |
Lessons |
20 |
| 3 |
A Quick Start |
23 |
| 3.1 |
Appending Object Streams |
24 |
| 3.1.1 |
Avoiding the Header |
25 |
| 3.2 |
A Data Store |
26 |
| 3.3 |
Conclusion |
27 |
| 3.3.1 |
Lessons |
27 |
| 4 |
Atomic Operations |
29 |
| 4.1 |
Basic Atomicity |
30 |
| 4.2 |
Optimistic Commit |
31 |
| 4.2.1 |
Pessimistic Commitment |
32 |
| 4.3 |
Rollback Wrappers |
32 |
| 4.4 |
Conclusion |
34 |
| 4.4.1 |
Lessons |
34 |
| 5 |
Commands |
37 |
| 5.1 |
A Monster Example |
38 |
| 5.2 |
Processing Commands |
40 |
| 5.3 |
Conclusion |
40 |
| 5.3.1 |
Lessons |
41 |
| 6 |
Threads |
43 |
| 6.1 |
Total Information Locking |
44 |
| 6.2 |
Individual Object Locking |
45 |
| 6.3 |
Command Level Locking |
46 |
| 6.4 |
Conclusion |
48 |
| 6.4.1 |
Lessons |
49 |
| 7 |
Prevayler |
51 |
| 7.1 |
Prevayler 1.0¹s Architecture |
52 |
| 7.2 |
An Example |
53 |
| 7.2.1 |
Team Objects |
54 |
| 7.2.2 |
The TeamRecords Object |
55 |
| 7.2.3 |
The PrintRecordsCommand |
56 |
| 7.2.4 |
The ReportGameCommand |
56 |
| 7.2.5 |
Tying It Together |
57 |
| 7.3 |
Conclusion |
58 |
| 7.3.1 |
Lessons |
58 |
| 8 |
Schema |
61 |
| 8.1 |
Conversion |
62 |
| 8.2 |
Faking It |
63 |
| 8.2.1 |
Adding A New Field |
64 |
| 8.2.2 |
The Format |
65 |
| 8.3 |
Defining readObject |
67 |
| 8.3.1 |
Overriding Built-In Methods . |
67 |
| 8.3.2 |
Overriding Everything |
69 |
| 8.4 |
Conclusion |
70 |
| 8.4.1 |
Lessons |
70 |
| 9 |
XML |
73 |
| 9.1 |
Cheap XML |
73 |
| 9.2 |
Using Commas or Tabs for Tags |
75 |
| 9.3 |
Built-inXML |
75 |
| 9.4 |
Conclusion |
77 |
| 9.4.1 |
Lessons |
77 |
| 10 |
Mirrors |
79 |
| 10.1 |
Choosing a Model |
80 |
| 10.2 |
A Reservation Example |
80 |
| 10.2.1 |
RMI Guts |
82 |
| 10.2.2 |
Working with RMI |
84 |
| 10.3 |
Conclusion |
84 |
| 10.3.1 |
Lessons |
85 |
| 11 |
Double Checking |
87 |
| 11.1 |
Implementation |
88 |
| 11.1.1 |
An Object to Back Up |
88 |
| 11.1.2 |
Stitching It Together |
90 |
| 11.1.3 |
A Hex Dump |
91 |
| 11.2 |
Conclusion |
92 |
| 11.2.1 |
Lessons |
92 |
| 12 |
Prevayler 2 |
93 |
| 12.1 |
Basic Prevayler 2 |
93 |
| 12.2 |
Simple Example |
95 |
| 12.2.1 |
The Transactions and Query |
95 |
| 12.2.2 |
Putting Everything Together |
97 |
| 12.3 |
Advanced Features |
98 |
| 12.3.1 |
Mirrors |
98 |
| 12.4 |
Conclusion |
99 |
| 12.4.1 |
Lessons |
99 |
| 13 |
Closing |
101 |
| 13.1 |
Beyond this Book |
102 |
|
|
|
|
|
|