Joshua Bloch

From Wikipedia, the free encyclopedia
(Redirected from Effective Java)
Jump to navigation Jump to search
Joshua J. Bloch
Bloch at JavaOne in 2005
Born (1961-08-28) August 28, 1961 (age 64)
Alma materColumbia University (B.S.)
Carnegie Mellon University (Ph.D.)
Scientific career
InstitutionsCarnegie Mellon University
Doctoral advisorAlfred Spector

Joshua J. Bloch (born August 28, 1961) is an American software engineer and a technology author.

He led the design and implementation of numerous Java platform features, including the Java Collections Framework, the java.math package, and the assert mechanism.[1] He is the author of the programming guide Effective Java (2001), which won the 2001 Jolt Award,[2] and is a co-author of two other Java books, Java Puzzlers (2005) and Java Concurrency In Practice (2006).

Bloch holds a B.S. in computer science from Columbia University's School of Engineering and Applied Science and a Ph.D. in computer science from Carnegie Mellon University.[1] His 1990 thesis was titled A Practical Approach to Replication of Abstract Data Objects[3] and was nominated for the ACM Distinguished Doctoral Dissertation Award.[4]

Bloch has worked as a Senior Systems Designer at Transarc, and later as a Distinguished Engineer at Sun Microsystems. In June 2004, he left Sun and became Chief Java Architect at Google.[5] On August 3, 2012, Bloch announced that he would be leaving Google.[6]

In December 2004, Java Developer's Journal included Bloch in its list of the "Top 40 Software People in the World".[7]

Bloch has proposed the extension of the Java programming language with two features: Concise Instance Creation Expressions (CICE) (coproposed with Bob Lee and Doug Lea) and Automatic Resource Management (ARM) blocks. The combination of CICE and ARM formed one of the three early proposals for adding support for closures to Java.[8] ARM blocks were added to the language in JDK7.[9]

As of February 2025, Bloch is listed as Professor of practice of the Software and Societal Systems Department at Carnegie Mellon University.[10]

Bibliography

[edit | edit source]
  • Effective Java: Programming Language Guide, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., 2001; second edition: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., 2008; third edition: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., 2017
  • Java Puzzlers: Traps, Pitfalls, and Corner Cases, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., 2005 (co-authored with Neal Gafter)
  • Java Concurrency in Practice, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., 2006 (co-authored with Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes, and Doug Lea)
  • Lua error in Module:Cite_Q/config at line 10: attempt to index field 'wikibase' (a nil value).

References

[edit | edit source]
  1. ^ a b "About the Author", Effective Java Programming Language Guide
  2. ^ 2002 Jolt & Productivity Award Winners Archived 2007-05-03 at the Wayback Machine. Dr. Dobb's Portal.
  3. ^ A Practical Approach to Replication of Abstract Data Objects. Computer Science Department, School of Computer Science, Carnegie Mellon University. May 1990.
  4. ^ Books & Authors: Effective Java, accessed 16 April 2008
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Joshua Bloch, After eight years at Google, the time has come for me to move on
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).