ThinkinginJavaFourth EditionBruce EckelPresident, MindView, Inc.teochew

Comments from readers:Thinking In Java should be read cover to cover by every Java programmer, then kept close athand for frequent reference. The exercises are challenging, and the chapter on Collections issuperb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it’salso the first book I turn to whenever I have a Java question. Jim Pleger, LoudounCounty (Virginia) GovernmentMuch better than any other Java book I’ve seen. Make that “by an order of magnitude”. verycomplete, with excellent right-to-the-point examples and intelligent, not dumbed-down,explanations . In contrast to many other Java books I found it to be unusually mature,consistent, intellectually honest, well-written and precise. IMHO, an ideal book for studyingJava. Anatoly Vorobey, Technion University, Haifa, IsraelOne of the absolutely best programming tutorials I’ve seen for any language. JoakimZiegler, FIX sysopThank you for your wonderful, wonderful book on Java. Dr. Gavin Pillay, Registrar, KingEdward VIII Hospital, South AfricaThank you again for your awesome book. I was really floundering (being a non-Cprogrammer), but your book has brought me up to speed as fast as I could read it. It’s reallycool to be able to understand the underlying principles and concepts from the start, ratherthan having to try to build that conceptual model through trial and error. Hopefully I will beable to attend your seminar in the not-too-distant future. Randall R. Hawley,Automation Technician, Eli Lilly & Co.The best computer book writing I have seen. Tom HollandThis is one of the best books I’ve read about a programming language The best book everwritten on Java. Ravindra Pai, Oracle Corporation, SUNOS product lineThis is the best book on Java that I have ever found! You have done a great job. Your depth isamazing. I will be purchasing the book when it is published. I have been learning Java sinceOctober 96. I have read a few books, and consider yours a “MUST READ.” These past fewmonths we have been focused on a product written entirely in Java. Your book has helpedsolidify topics I was shaky on and has expanded my knowledge base. I have even used someof your explanations as information in interviewing contractors to help our team. I havefound how much Java knowledge they have by asking them about things I have learned fromreading your book (e.g., the difference between arrays and Vectors). Your book is great!Steve Wilkinson, Senior Staff Specialist, MCI TelecommunicationsGreat book. Best book on Java I have seen so far. Jeff Sinclair, Software Engineer,Kestral ComputingThank you for Thinking in Java. It’s time someone went beyond mere language descriptionto a thoughtful, penetrating analytic tutorial that doesn’t kowtow to The Manufacturers. I’veread almost all the others—only yours and Patrick Winston’s have found a place in my heart.I’m already recommending it to customers. Thanks again. Richard Brooks, JavaConsultant, Sun Professional Services, DallasBruce, your book is wonderful! Your explanations are clear and direct. Through yourfantastic book I have gained a tremendous amount of Java knowledge. The exercises are alsoFANTASTIC and do an excellent job reinforcing the ideas explained throughout the chapters.I look forward to reading more books written by you. Thank you for the tremendous servicethat you are providing by writing such great books. My code will be much better after reading

Thinking in Java. I thank you and I’m sure any programmers who will have to maintain mycode are also grateful to you. Yvonne Watkins, Java Artisan, Discover Technologies,Inc.Other books cover the WHAT of Java (describing the syntax and the libraries) or the HOW ofJava (practical programming examples). Thinking in Java is the only book I know thatexplains the WHY of Java; why it was designed the way it was, why it works the way it does,why it sometimes doesn’t work, why it’s better than C , why it’s not. Although it also does agood job of teaching the what and how of the language, Thinking in Java is definitely thethinking person’s choice in a Java book. Robert S. StephensonThanks for writing a great book. The more I read it the better I like it. My students like it, too.Chuck IversonI just want to commend you for your work on Thinking in Java. It is people like you thatdignify the future of the Internet and I just want to thank you for your effort. It is very muchappreciated. Patrick Barrell, Network Officer Mamco, QAF Mfg. Inc.I really, really appreciate your enthusiasm and your work. I download every revision of youronline books and am looking into languages and exploring what I would never have dared(C#, C , Python, and Ruby, as a side effect). I have at least 15 other Java books (I needed 3to make both JavaScript and PHP viable!) and subscriptions to Dr. Dobbs, JavaPro, JDJ,JavaWorld, etc., as a result of my pursuit of Java (and Enterprise Java) and certification but Istill keep your book in higher esteem. It truly is a thinking man’s book. I subscribe to yournewsletter and hope to one day sit down and solve some of the problems you extend for thesolutions guides for you (I’ll buy the guides!) in appreciation. But in the meantime, thanks alot. Joshua Long, www.starbuxman.comMost of the Java books out there are fine for a start, and most just have beginning stuff and alot of the same examples. Yours is by far the best advanced thinking book I’ve seen. Pleasepublish it soon! . I also bought Thinking in C just because I was so impressed withThinking in Java. George Laframboise, LightWorx Technology Consulting, Inc.I wrote to you earlier about my favorable impressions regarding your Thinking in C (abook that stands prominently on my shelf here at work). And today I’ve been able to delveinto Java with your e-book in my virtual hand, and I must say (in my best Chevy Chase fromModern Problems), “I like it!” Very informative and explanatory, without reading like a drytextbook. You cover the most important yet the least covered concepts of Java development:the whys. Sean BradyI develop in both Java and C , and both of your books have been lifesavers for me. If I amstumped about a particular concept, I know that I can count on your books to a) explain thethought to me clearly and b) have solid examples that pertain to what I am trying toaccomplish. I have yet to find another author that I continually whole-heartedly recommendto anyone who is willing to listen. Josh Asbury, A 3 Software Consulting, Cincinnati,OhioYour examples are clear and easy to understand. You took care of many important details ofJava that can’t be found easily in the weak Java documentation. And you don’t waste thereader’s time with the basic facts a programmer already knows. Kai Engert, InnovativeSoftware, GermanyI’m a great fan of your Thinking in C and have recommended it to associates. As I gothrough the electronic version of your Java book, I’m finding that you’ve retained the samehigh level of writing. Thank you! Peter R. NeuwaldVERY well-written Java book.I think you’ve done a GREAT job on it. As the leader of aChicagoarea Java special interest group, I’ve favorably mentioned your book and Web site

several times at our recent meetings. I would like to use Thinking in Java as the basis for apart of each monthly SIG meeting, in which we review and discuss each chapter insuccession. Mark ErtesBy the way, printed TIJ2 in Russian is still selling great, and remains bestseller. LearningJava became synonym of reading TIJ2, isn’t that nice? Ivan Porty, translator andpublisher of Thinking in Java 2nd Edition in RussianI really appreciate your work and your book is good. I recommend it here to our users andPh.D. students. Hugues Leroy // Irisa-Inria Rennes France, Head of ScientificComputing and Industrial TranfertOK, I’ve only read about 40 pages of Thinking in Java, but I’ve already found it to be themost clearly written and presented programming book I’ve come across.and I’m a writer,myself, so I am probably a little critical. I have Thinking in C on order and can’t wait tocrack it—I’m fairly new to programming and am hitting learning curves head-on everywhere.So this is just a quick note to say thanks for your excellent work. I had begun to burn a littlelow on enthusiasm from slogging through the mucky, murky prose of most computer books—even ones that came with glowing recommendations. I feel a whole lot better now. GlennBecker, Educational Theatre AssociationThank you for making your wonderful book available. I have found it immensely useful infinally understanding what I experienced as confusing in Java and C . Reading your bookhas been very satisfying. Felix Bizaoui, Twin Oaks Industries, Louisa, Va.I must congratulate you on an excellent book. I decided to have a look at Thinking in Javabased on my experience with Thinking in C , and I was not disappointed. Jaco van derMerwe, Software Specialist, DataFusion Systems Ltd, Stellenbosch, South AfricaThis has to be one of the best Java books I’ve seen. E.F. Pritchard, Senior SoftwareEngineer, Cambridge Animation Systems Ltd., United KingdomYour book makes all the other Java books I’ve read or flipped through seem doubly uselessand insulting. Brett Porter, Senior Programmer, Art & LogicI have been reading your book for a week or two and compared to the books I have readearlier on Java, your book seems to have given me a great start. I have recommended thisbook to a lot of my friends and they have rated it excellent. Please accept my congratulationsfor coming out with an excellent book. Rama Krishna Bhupathi, Software Engineer,TCSI Corporation, San JoseJust wanted to say what a “brilliant” piece of work your book is. I’ve been using it as a majorreference for in-house Java work. I find that the table of contents is just right for quicklylocating the section that is required. It’s also nice to see a book that is not just a rehash of theAPI nor treats the programmer like a dummy. Grant Sayer, Java Components GroupLeader, Ceedata Systems Pty Ltd, AustraliaWow! A readable, in-depth Java book. There are a lot of poor (and admittedly a couple ofgood) Java books out there, but from what I’ve seen yours is definitely one of the best. JohnRoot, Web Developer, Department of Social Security, LondonI’ve just started Thinking in Java. I expect it to be very good because I really liked Thinkingin C (which I read as an experienced C programmer, trying to stay ahead of the curve) You are a wonderful author. Kevin K. Lewis, Technologist, ObjectSpace, Inc.I think it’s a great book. I learned all I know about Java from this book. Thank you formaking it available for free over the Internet. If you wouldn’t have I’d know nothing about

Java at all. But the best thing is that your book isn’t a commercial brochure for Java. It alsoshows the bad sides of Java. YOU have done a great job here. Frederik Fix, BelgiumI have been hooked to your books all the time. A couple of years ago, when I wanted to startwith C , it was C Inside & Out which took me around the fascinating world of C . Ithelped me in getting better opportunities in life. Now, in pursuit of more knowledge andwhen I wanted to learn Java, I bumped into Thinking in Java—no doubts in my mind as towhether I need some other book. Just fantastic. It is more like rediscovering myself as I getalong with the book. It is just a month since I started with Java, and heartfelt thanks to you, Iam understanding it better now. Anand Kumar S., Software Engineer,Computervision, IndiaYour book stands out as an excellent general introduction. Peter Robinson, University ofCambridge Computer LaboratoryIt’s by far the best material I have come across to help me learn Java and I just want you toknow how lucky I feel to have found it. THANKS! Chuck Peterson, Product Leader,Internet Product Line, IVIS InternationalThe book is great. It’s the third book on Java I’ve started and I’m about two-thirds of the waythrough it now. I plan to finish this one. I found out about it because it is used in someinternal classes at Lucent Technologies and a friend told me the book was on the Net. Goodwork. Jerry Nowlin, MTS, Lucent TechnologiesOf the six or so Java books I’ve accumulated to date, your Thinking in Java is by far the bestand clearest. Michael Van Waas, Ph.D., President, TMR AssociatesI just want to say thanks for Thinking in Java. What a wonderful book you’ve made here! Notto mention downloadable for free! As a student I find your books invaluable (I have a copy ofC Inside Out, another great book about C ), because they not only teach me the how-to,but also the whys, which are of course very important in building a strong foundation inlanguages such as C or Java. I have quite a lot of friends here who love programming justas I do, and I’ve told them about your books. They think it’s great! Thanks again! By the way,I’m Indonesian and I live in Java. Ray Frederick Djajadinata, Student at TrisaktiUniversity, JakartaThe mere fact that you have made this work free over the Net puts me into shock. I thoughtI’d let you know how much I appreciate and respect what you’re doing. ShaneLeBouthillier, Computer Engineering student, University of Alberta, CanadaI have to tell you how much I look forward to reading your monthly column. As a newbie tothe world of object oriented programming, I appreciate the time and thoughtfulness that yougive to even the most elementary topic. I have downloaded your book, but you can bet that Iwill purchase the hard copy when it is published. Thanks for all of your help. Dan Cashmer,B. C. Ziegler & Co.Just want to congratulate you on a job well done. First I stumbled upon the PDF version ofThinking in Java. Even before I finished reading it, I ran to the store and found Thinking inC . Now, I have been in the computer business for over eight years, as a consultant,software engineer, teacher/tra