or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $17.40 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Thinking in Java (4th Edition)
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Thinking in Java (4th Edition) [Paperback]

Bruce Eckel (Author)
4.2 out of 5 stars  See all reviews (312 customer reviews)

List Price: $69.99
Price: $41.36 & this item ships for FREE with Super Saver Shipping. Details
You Save: $28.63 (41%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, May 21? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Paperback $41.36  
Sell Back Your Copy for $17.40
Whether you bought it on Amazon or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $17.40.
Used Price$27.30
Trade-in Price$17.40
Price after
Trade-in
$9.90

Book Description

February 20, 2006 0131872486 978-0131872486 4

Thinking in Java should be read cover to cover by every Java programmer, then kept close at hand for frequent reference. The exercises are challenging, and the chapter on Collections is superb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it’s also the first book I turn to whenever I have a Java question.”
—Jim Pleger, Loudoun County (Virginia) Government
Much better than any other Java book I’ve seen. Make that ‘by an order of magnitude’.... Very complete, 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 studying Java.”
—Anatoly Vorobey, Technion University, Haifa, Israel
“Absolutely one of the best programming tutorials I’ve seen for any language.”
—Joakim Ziegler, FIX sysop
“Thank you again for your awesome book. I was really floundering (being a non-C programmer), but your book has brought me up to speed as fast as I could read it. It’s really cool to be able to understand the underlying principles and concepts from the start, rather than having to try to build that conceptual model through trial and error. Hopefully I will be able to attend your seminar in the not-too-distant future.”
—Randall R. Hawley, automation technician, Eli Lilly & Co.
“This is one of the best books I’ve read about a programming language.... The best book ever written on Java.”
—Ravindra Pai, Oracle Corporation, SUNOS product line
“Bruce, your book is wonderful! Your explanations are clear and direct. Through your fantastic book I have gained a tremendous amount of Java knowledge. The exercises are also fantastic 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 service that 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 my code 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 of Java (practical programming examples). Thinking in Java is the only book I know that explains 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 a good job of teaching the what and how of the language, Thinking in Java is definitely the thinking person’s choice in a Java book.”
—Robert S. Stephenson
Awards for Thinking in Java
2003 Software Development Magazine Jolt Award for Best Book
2003 Java Developer’s Journal Reader’s Choice Award for Best Book
2001 JavaWorld Editor’s Choice Award for Best Book
2000 JavaWorld Reader’s Choice Award for Best Book
1999 Software Development Magazine Productivity Award
1998 Java Developer’s Journal Editor’s Choice Award for Best Book

Thinking in Java has earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features, Thinking in Java is designed to teach, one simple step at a time.

  • The classic object-oriented introduction for beginners and experts alike, fully updated for Java SE5/6 with many new examples and chapters!
  • Test framework shows program output.
  • Design patterns are shown with multiple examples throughout: Adapter, Bridge, Chain of Responsibility, Command, Decorator, Facade, Factory Method, Flyweight, Iterator, Data Transfer Object, Null Object, Proxy, Singleton, State, Strategy, Template Method, and Visitor.
  • Introduction to XML for data transfer; SWT, Flash for user interfaces.
  • Completely rewritten concurrency chapter gives you a solid grasp of threading fundamentals.
  • 500+ working Java programs in 700+ compiling files, rewritten for this edition and Java SE5/6.
  • Companion web site includes all source code, annotated solution guide, weblog, and multimedia seminars.
  • Thorough coverage of fundamentals; demonstrates advanced topics.
  • Explains sound object-oriented principles.
  • Hands-On Java Seminar CD available online, with full multimedia seminar by Bruce Eckel.
  • Live seminars, consulting, and reviews available. See www.MindView.net

Download seven free sample chapters from Thinking in Java, Fourth Edition. Visit http://mindview.net/Books/TIJ4.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $2 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Thinking in Java (4th Edition) + Effective Java (2nd Edition) + Head First Java, 2nd Edition
Price For All Three: $109.41

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Effective Java (2nd Edition) $43.53

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Head First Java, 2nd Edition $24.52

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details



Editorial Reviews

Amazon.com Review

Perfect for migrating to Java from a fellow object-oriented language (such as C++), the second edition of Thinking in Java continues the earlier version's thoughtful approach to learning Java inside and out, while also bringing it up to speed with some of the latest in Java 2 features. This massive tutorial covers many of the nooks and crannies of the language, which is of great value in the programming world.

The most prominent feature of the book is its diligent and extremely thorough treatment of the Java language, with special attention to object design. (For instance, 10 pages of sample code show all of the available operators.) Some of the best thinking about objects is in this book, including when to use composition over inheritance. The esoteric details of Java in regard to defining classes are thoroughly laid out. (The material on interfaces, inner classes, and designing for reuse will please any expert.) Each section also has sample exercises that let you try out and expand your Java knowledge.

Besides getting the reader to "think in objects," Thinking in Java also covers other APIs in Java 2. Excellent sections include an in-depth tour of Java's collection and stream classes, and enterprise-level APIs like servlets, JSPs, EJBs, and RMI. Weighing in at over 1,000 pages, any reader who is serious about learning Java inside and out will want to take a look at this superior resource on some of the latest and most advanced thinking in object design. --Richard Dragan

Topics covered:
  • Object-design basics
  • Inheritance and polymorphism
  • Object lifetimes
  • Exception handling
  • Multithreading and persistence
  • Java on the Internet
  • Analysis and design basics
  • Java basics: keywords and flow control
  • Initializing objects
  • Garbage collection
  • Java packages
  • Designing for reuse: composition vs. inheritance
  • The final keyword
  • Interfaces and inner classes
  • Arrays and container classes

  • Java I/O classes
  • Run-time type identification
  • UI design basics with Swing
  • Deploying to JAR files
  • Network programming with sockets
  • JDBC database programming
  • Introduction to servlets
  • JavaServer Pages (JSPs)
  • RMI
  • CORBA
  • Enterprise JavaBeans (EJBs) and Jini
  • Cloning objects
  • The Java Native Interface (JNI)
  • Java programming guidelines
  • --This text refers to an out of print or unavailable edition of this title.

    Review

    "This book is a tremendous achievement. You owe it to yourself to have a copy on your shelf. The chapter on iostreams is the most comprehensive and understandable treatment of that subject Ive seen to date." - Al Stevens Contributing Editor, Doctor Dobbs Journal" Eckels book is the only one to so clearly explain how to rethink program construction for object orientation. That the book is also an excellent tutorial on the ins and outs of C++ is an added bonus." - Andrew Binstock Editor, Unix Review"Bruce continues to amaze me with his insight into C++, and Thinking in C++ is his best collection of ideas yet. If you want clear answers to difficult questions about C++, buy this outstanding book." - Gary Entsminger Author, The Tao of Objects"Thinking in C++ patiently and methodically explores the issues of when and how to use inlines, references, operator overloading, inheritance, and dynamic objects, as well as advanced topics such as the proper use of templates, exceptions and multiple inheritance. The entire effort is woven in a fabric that includes Eckels own philosophy of object and program design. A must for every C++ developers bookshelf, Thinking in C++ is the one C++ you must have if youre doing serious development with C++." - Richard Hale Shaw Contributing Editor, PC Magazine --This text refers to an out of print or unavailable edition of this title.

    Product Details

    • Paperback: 1150 pages
    • Publisher: Prentice Hall; 4 edition (February 20, 2006)
    • Language: English
    • ISBN-10: 0131872486
    • ISBN-13: 978-0131872486
    • Product Dimensions: 9.3 x 7 x 2.1 inches
    • Shipping Weight: 3.4 pounds (View shipping rates and policies)
    • Average Customer Review: 4.2 out of 5 stars  See all reviews (312 customer reviews)
    • Amazon Best Sellers Rank: #21,788 in Books (See Top 100 in Books)

    More About the Author

    Discover books, learn about writers, read author blogs, and more.

    Customer Reviews

    Most Helpful Customer Reviews
    189 of 201 people found the following review helpful
    Format:Paperback
    rating 4.5.
    First of all this book was freely available online. That was how it was written I believe: posted, public review, correction. A novel approach.

    This books is plain inside. His prose and explanations were ostly good, but a time just a little too verbose for me (no criticism but it just didn't do it for me: I prefer succint explanation + example: he can wax lyrical just a little bit, which lends some warmth to the work, but also for busy people uneeded....so it's a personal judgement). The code examples in the book are probably the ugliest I've ever seen in a while (font wise...the code is presented as pages and pages and pages of monospace...ah the humanity! Very intimidating for the novice! Compare to deitel: colored!)

    Seriously, given the process this book went through: continual public online review, editing and criticism, means the errors are minimal and the content focused on what you need to know as guaranteed by peer-reivew (not a bunch of superfluous, repitition nonsense that pad out Deitel books)...This is a really great book that was diminished a little through corner cutting by a publisher. If you can get beyond the mediocre presentation, then you find an excellent book for the above novice programmer. It's quite a philosophical journey through the heart of Java at times. And coverage of most topics is quite strong (if a little weirdly ordered at times...but then that's a personal thing: eg. the introduction that the beginning is quite deep and intrduces some heavy-ish concecpts straight off the bat...but again this is a personal judgement: objects first or basics first? its 50-50 either way?)

    Actually I should clarify that: if you're a beginner: This book is not for you I don't think. I tutor a student who is just starting out in Java programming and he managed to get about 20 pages into this brick and then quit -> he said it was too hard. He opened it, looked at the code and his jaw dropped!

    Having read this book I can understand why. The presentation is not conducive to the beginner who needs more guidance through concepts rather than just slabs of text. That's the problem with writing a book this way (publically post-review-correct): the only people who interact are people who already know some Java or a lot of Java so this skews the process toward producing a book for them. Most beginners probably have never heard of Bruce Eckel and thereby didn't contribute to the making of this book. Hence they have been somehwat excluded from the process.

    I can wade through pages of monspace Java code because I am not a beginner. But this is probably too overwhelming for one new to the language (it just hits them too hard I think). I recommend Kathy Sierra's Headfirst Java (foremost for the beginner!). FOr everybody else...what they hey why not! It's pretty good value and not a insipid and dumb as Deitel. And it's more concrete that Van Der Linden. It and Ivor Horton's Beginning Java are on about par I feel, for different reasons: Bruce, the language coverage (depth far exceeds Ivor!). Ivor: for breadth and succinctness. I feel Bruce is wanting you to understand backward-forwards-upwards-downwards-inside-out the language. Not dazzle you with simple Swing stuff (which only works for novices anyway). When you're finished Kathy Sierra, come back and try this. YOu'll be ready by then!

    Hopefully version 4 they'll put a bit more effort into the graphical arrangement of the book: a few diagrams here and there wouldn't hurt...just to break the monotony. Seriously I think Bruce should get a new publisher...one who will fulfill his vision, not impede it with their cheapness.

    COntent wise: VERY good. Doesn't wallow in the cheap ooh-ahh factor of Swing that much, but does the langauge very well (I wasn't overly fussed on treatment of inner classes...but that's a personal thing I guess). Still this is one of the benchmark books for begining/intermediate programmers and that didn't happen by accident!

    And as one of the benchmark books
    Thinking in Java: Bruce Eckel
    Beginning Java: Ivor Horton
    Just Java 2: Peter Van Der Linden
    How to Program Java: Deitel & Deitel
    Core Java 2: Horstmann

    I would rate them as such (in order):
    For beginners: Horton, Eckel, Deitel, Horstmann, Van Der Linden
    For Intermediate: Eckel, Van Der Linden, Horton, Horstmann, Deitel
    Best all round: Eckel, Horton, van Der Linden, horstmann, Deitel
    best visual layout/ quality of publication: deitel, Van Der Linden, Horton, Horstmann, Eckel
    broadest view: van der linden, eckel, Horton, Deitel, Horstmann
    most useful code: horstmann, deitel = eckel = horton, van der linden
    value for money: eckel, horton, van der linden, horstmann, deitel

    Was this review helpful to you?
    111 of 116 people found the following review helpful
    By A Customer
    Format:Paperback
    The book is great! I particularly enjoyed the following chapters:

    - inner classes (this chapter kicks serious butts; far better than even Core Java 4th edition's chapter on them)

    - the Class class and its usage (same stands for reflection)

    - discussing the Collection classes just kicks ass - Just Java 1.2, the only book Ive read that contains SOME info on these classes is far less comprehensive. Bruce kicks ass!

    - I also loved the chapter on threads - this book is the only one (I've read several Java2 books) to discuss WHY suspend/resume/ stop are deprecated in Java2 (actually, the reason for deprecating stop() is a bit misleading - the author should have stressed that it's exiting run() from _inside_ an atomic operation that causes the problem here). Just Java 1.2 doesn't even try to discuss the problem of these three methods.

    - I really liked it that Bruce Eckel always prefers experimenting to repeating what the Language Specification says

    - the remarks scattered in the book are particularly cool. Even Core Java 4th ed lacks the number and depth of remarks, not to speak of other books (Just Java 1.2 is even worse in this respect) <hr>

    The bad points of the book:

    - the Swing chapter sucks... it needs REAL update. There are no other JFC libs, either - there is no Java2D, accessibility, drag-and-drop etc.

    - the discussion of sing the clipboard is far worse than that of Core Java 3rd ed. vol.2.

    - the same stands for 1.1/1.2 security - both Core Java 3rd ed. vol.2. (1.1) and Just Java 1.2 (1.2) are better in this respect

    - the same stands for i18n

    - the introduction to CORBA was particularly weak (not that other Java-books are good in this respect)

    - the author pays too much attention to the 1.0 event model - it's unnecessary. Most widgets are presented first using the 1.0 even model - do NOT teach your students 1.0 event model. At least, we at Sun Microsystems do NOT teach it any more - why would we confuse our students? So, all widget presentations should be rewritten to use the 1.1 event model.

    - nextToken()'s return value when there are no more tokens is NOT an empty String but a NoSuchElementException

    - there is no GridBagLayout in the book (not that I use it.. I dont even teach it at our courses).

    - PipedOutputStream's constructor param is NOT an PipedInputStream instance (only the other way round) <hr>

    I still LOVE the book and recommend it to my students. You should get Core Java Foundation Classes and Core Java in addition to this book, though.

    Comment | 
    Was this review helpful to you?
    161 of 174 people found the following review helpful
    Thinking in Java June 8, 2000
    Format:Paperback
    If your are new to Java or just the whole OOP programming concept, this is the book for you.

    Here is my story:

    In the beginning of Sept. of 1999 I started read Bruce's Thinking in Java with only a structured programming background. I had previously done some programming in a language called CSP (a Cobal generator) on the mainframe and had some experience with VB and C. A friend and I made a commitment to get java certified by January of 2000 or around then because if we were going to learn java, might as well do it the right way. So, through five month of reading and doing almost every example in the book, I was java certified on January 14. The point I am trying to make is 1. use this book as a launch pad into the java and OOP world, 2. I would recommend learning Java with a friend because it is easier for you to stay focused on the true goal, and 3. do all of the examples in the book. This, obiously is not the only way to learn, however, it was a way that helped me.

    Note: I was working full time.

    So, I would recommend "Thinking in Java" for beginners and intermediates programmers

    Comment | 
    Was this review helpful to you?
    Most Recent Customer Reviews
    It's good.
    I was given this book when I started training on a new job as a Java developer. It's the corporate-issued text. Read more
    Published 2 months ago by Christopher T. Swearingen
    Good book, but could be so much better
    After reading (more than) 1/4 of the book, I find to be pretty useful (I'll try to keep updating this until I finish this book). Read more
    Published 6 months ago by Ziyao Wei
    Good if you fairly know java , bad if at your early stages
    This is not a "learn programming using java" - type of a book . This is a pure and solid Java SE book for those who already used java and do have some real-world programming... Read more
    Published 7 months ago by asem jordan
    Thinking in Java (4th edition)
    If you ever wanted to learn Java programming language, i would recommend you this book, but not as first choice. Read more
    Published 8 months ago by Boris
    Formatting of text
    Good book, but did not like the formatting of text. The sources are very large, so the book exceeds one thousand pages. Read more
    Published 8 months ago by Carlos Almeida
    This is what I just wanted to have.
    I like it. This is what I just wanted to have. Hard things are discribed very easily. Enjoy it! Where are my 20 words here?)))
    Published 9 months ago by oleg.a.dovger
    The book I used to learn Java
    I purchased first edition of this book long time back, probably around 2000. It was my first book on Java. It turned out to be great choice to learn the language. Read more
    Published 11 months ago by Matthew
    This book is overrated
    I read a lot of people suggesting this book, and a few who said it was not good, like a lot of books. I am rating this book at 2 stars. Read more
    Published 15 months ago by Kenny
    This book is for people who want to work in sun microsystems
    Intro:
    First and for most, back when I first started programming, I grabbed the first few editions from Bruce Eckel off his website and used those books as a reference guide,... Read more
    Published 16 months ago by kingocto
    A hard look at the core for the hard-core
    This book is the best way to learn the core language of Java and to learn about object-oriented programming and design. Read more
    Published 20 months ago by J. M. Morrison
    Search Customer Reviews
    Only search this product's reviews

    What Other Items Do Customers Buy After Viewing This Item?


    Tags Customers Associate with This Product

     (What's this?)
    Click on a tag to find related items, discussions, and people.
     
    (21)
    (1)

    Your tags: Add your first tag
     

    Sell a Digital Version of This Book in the Kindle Store

    If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

    Customer Discussions

    This product's forum
    Discussion Replies Latest Post
    Version Of Java 1 Aug 21, 2006
    See all discussions...  
    Start a new discussion
    Topic:
    First post:
    Prompts for sign-in
     


    Active discussions in related forums
    Search Customer Discussions
       
    Related forums



    So You'd Like to...


    Create a guide


    Look for Similar Items by Category


    Look for Similar Items by Subject