BibliographyKen Arnold, James Gosling, and David Holmes. The Java Programming Language , Fourth Edition. AddisonWesley, 2005. David F. Bacon, Ravi B. Konuru, Chet Murthy, and Mauricio J. Serrano. Thin Locks: Featherweight Synchronization for Java . In SIGPLAN Conference on Programming Language Design and Implementation , pages 258268, 1998. URL http://citeseer.ist.psu.edu/bacon98thin.html. Joshua Bloch. Effective Java Programming Language Guide . AddisonWesley, 2001. Joshua Bloch and Neal Gafter. Java Puzzlers . AddisonWesley, 2005. Hans Boehm. Destructors, Finalizers, and Synchronization. In POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages , pages 262272. ACM Press, 2003. URL http://doi.acm.org/10.1145/604131.604153. Hans Boehm. Finalization, Threads, and the Java Memory Model. JavaOne presentation , 2005. URL http://developers.sun.com/learning/javaoneonline/2005/coreplatform/TS-3281.pdf. Joseph Bowbeer. The Last Word in Swing Threads , 2005. URL http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html. Cliff Click. Performance Myths Exposed. JavaOne presentation , 2003. Cliff Click. Performance Myths Revisited. JavaOne presentation , 2005. URL http://developers.sun.com/learning/javaoneonline/2005/coreplatform/TS-3268.pdf.
Martin
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns . AddisonWesley, 1995. Martin Gardner. The fantastic combinations of John Conway's new solitaire game 'Life' . Scientific American , October 1970. James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification , Third Edition. AddisonWesley, 2005. Tim Harris and Keir Fraser. Language Support for Lightweight Transactions . In OOPSLA '03: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications , pages 388402. ACM Press, 2003. URL http://doi.acm.org/10.1145/949305.949340. Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy. Composable Memory Transactions . In PPoPP '05: Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming , pages 4860. ACM Press, 2005. URL http://doi.acm.org/10.1145/1065944.1065952. Maurice Herlihy. Wait-Free Synchronization . ACM Transactions on Programming Languages and Systems , 13(1):124149, 1991. URL http://doi.acm.org/10.1145/114005.102808. Maurice Herlihy and Nir Shavit. Multiprocessor Synchronization and Concurrent Data Structures . Morgan-Kaufman, 2006. C. A. R. Hoare. Monitors: An Operating System Structuring Concept . Communications of the ACM , 17(10):549557, 1974. URL http://doi.acm.org/10.1145/355620.361161. David Hovemeyer and William Pugh. Finding Bugs is Easy . SIGPLAN Notices , 39 (12):92106, 2004. URL http://doi.acm.org/10.1145/1052883.1052895. Ramnivas Laddad. AspectJ in Action . Manning, 2003. Doug Lea. Concurrent Programming in Java , Second Edition. AddisonWesley, 2000. Doug Lea. JSR-133 Cookbook for Compiler Writers . URL http://gee.cs.oswego.edu/dl/jmm/cookbook.html. J. D. C. Little. A proof of the Queueing Formula L = l W " . Operations Research , 9: 383387, 1961. Jeremy Manson, William Pugh, and Sarita V. Adve. The Java Memory Model . In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages , pages 378391. ACM Press, 2005. URL http://doi.acm.org/10.1145/1040305.1040336. George Marsaglia. XorShift RNGs . Journal of Statistical Software , 8(13), 2003. URL http://www.jstatsoft.org/v08/i14. Maged M. Michael and Michael L. Scott. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In Symposium on Principles of Distributed Computing , pages 267275, 1996. URL http://citeseer.ist.psu.edu/michael96simple.html. Mark Moir and Nir Shavit. Concurrent Data Structures , In Handbook of Data Structures and Applications , chapter 47. CRC Press, 2004. William Pugh and Jeremy Manson. Java Memory Model and Thread Specification , 2004. URL http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf. M. Raynal. Algorithms for Mutual Exclusion . MIT Press, 1986. William N. Scherer, Doug Lea, and Michael L. Scott. Scalable Synchronous Queues . In 11th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming (PPoPP) , 2006. R. K. Treiber. Systems Programming: Coping with Parallelism. Technical Report RJ 5118 , IBM Almaden Research Center, April 1986. Andrew Wellings. Concurrent and Real-Time Programming in Java . John Wiley & Sons, 2004. |