Cart
Free US shipping over $10
Proud to be B-Corp

Thinking in Java Bruce Eckel

Thinking in Java By Bruce Eckel

Thinking in Java by Bruce Eckel


$6.80
Condition - Well Read
Only 1 left

Summary

Intended for Java programmers, this book explains the why of Java. From the fundamentals of Java syntax to its advanced features, it is designed to teach, one step at a time. Design patterns are shown with multiple examples throughout: Adapter, Bridge, Chain of Responsibility, Command, Decorator, Facade, Factory Method, Flyweight, and more.

Faster Shipping

Get this product faster from our US warehouse

Thinking in Java Summary

Thinking in Java by Bruce Eckel

" 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 Java2003 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, Ite

About Bruce Eckel

Bruce Eckel is president of MindView, Inc. (www.MindView.net), which provides public and private training seminars, consulting, mentoring, and design reviews in object-oriented technology and design patterns. He is the author of several books, has written more than fifty articles, and has given lectures and seminars throughout the world for more than twenty years. Bruce has served as a voting member of the C++ Standards Committee. He holds a B.S. in applied physics and an M.S. in computer engineering.

Table of Contents

Preface 1 Introduction 13 Prerequisites 14 Learning Java 14 Goals 15 Teaching from this book 16 JDK HTML documentation 17 Exercises 17 Foundations for Java 18 Source code 18 Errors 21 Introduction to Objects 23 The progress of abstraction 24 An object has an interface 26 An object provides services 29 The hidden implementation 30 Reusing the implementation 32 Inheritance 33 Interchangeable objects with polymorphism 38 The singly rooted hierarchy 43 Containers 44 Object creation & lifetime 46 Exception handling: dealing with errors 49 Concurrent programming 50 Java and the Internet 51 Summary 60 Everything Is an Object 61 You manipulate objects with references 61 You must create all the objects 63 You never need to destroy an object 67 Creating new data types: class 69 Methods, arguments, and return values 72 Building a Java program 74 Your first Java program 78 Comments and embedded documentation 81 Coding style 88 Summary 89 Exercises 89 Operators 93 Simpler print statements 93 Using Java operators 94 Precedence 95 Assignment 95 Mathematical operators 98 Auto increment and decrement 101 Relational operators 103 Logical operators 105 Literals 108 Bitwise operators 111 Shift operators 112 Ternary if-else operator 116 String operator + and += 118 Common pitfalls when using operators 119 Casting operators 120 Java has no "sizeof" 122 A compendium of operators 123 Summary 133 Controlling Execution 135 true and false 135 if-else 135 Iteration 137 Foreach syntax 140 return 143 break and continue 144 The infamous "goto" 146 switch 151 Summary 154 Initialization & Cleanup 155 Guaranteed initialization with the constructor 155 Method overloading 158 Default constructors 166 The this keyword 167 Cleanup: finalization and garbage collection 173 Member initialization 181 Constructor initialization 185 Array initialization 193 Enumerated types 204 Summary 207 Access Control 209 package: the library unit 210 Java access specifiers 221 Interface and implementation 228 Class access 229 Summary 233 Reusing Classes 237 Composition syntax 237 Inheritance syntax 241 Delegation 246 Combining composition and inheritance 249 Choosing composition vs. inheritance 256 protected 258 Upcasting 260 The final keyword 262 Initialization and class loading 272 Summary 274 Polymorphism 277 Upcasting revisited 278 The twist 281 Constructors and polymorphism 293 Covariant return types 303 Designing with inheritance 304 Summary 310 Interfaces 311 Abstract classes and methods 311 Interfaces 316 Complete decoupling 320 "Multiple in heritance" in Java 326 Extending an interface with inheritance 329 Adapting to an interface 331 Fields in interfaces 335 Nesting interfaces 336 Interfaces and factories 339 Summary 343 Inner Classes 345 Creating inner classes 345 The link to the outer class 347 Using .this and .new 350 Inner classes and upcasting 352 Inner classes in methods and scopes 354 Anonymous inner classes 356 Nested classes 364 Why inner classes? 369 Inheriting from inner classes 382 Can inner classes be overridden? 383 Local inner classes 385 Inner-class identifiers 387 Summary 388 Holding Your Objects 389 Generics and type-safe containers 390 Basic concepts 394 Adding groups of elements 396 Printing containers 398 List 401 Iterator 406 LinkedList 410 Stack 412 Set 415 Map 419 Queue 423 Collection vs. Iterator 427 Foreach and iterators 431 Summary 437 Error Handling with Exceptions 443 Concepts 444 Basic exceptions 445 Catching an exception 447 Creating your own exceptions 449 The exception specification 457 Catching any exception 458 Standard Java exceptions 468 Performing cleanup with finally 471 Exception restrictions 479 Constructors 483 Exception matching 489 Alternative approaches 490 Exception guidelines 500 Summary 501 Strings 503 Immutable Strings 503 Overloading &8216;+' vs. StringBuilder 504 Unintended recursion 509 Operations on Strings 511 Formatting output 514 Regular expressions 523 Scanning input 546 StringTokenizer 551 Summary 552 Type Information 553 The need for RTTI 553 The Class object 556 Checking before a cast 569 Registered factories 582 instanceof vs. Class equivalence 586 Reflection: runtime class information 588 Dynamic proxies 593 Null Objects 598 Interfaces and type information 607 Summary 613 Generics 617 Comparison with C++ 618 Simple generics 619 Generic interfaces 627 Generic methods 631 Anonymous inner classes 645 Building complex models 647 The mystery of erasure 650 Compensating for erasure 662 Bounds 673 Wildcards 677 Issues 694 Self-bounded types 701 Dynamic type safety 710 Exceptions 711 Mixins 713 Latent typing 721 Compensating for the lack of latent typing 726 Using function objects as strategies 737 Summary: Is casting really so bad? 743 Arrays 747 Why arrays are special 747 Arrays are first-class objects 749 Returning an array 753 Multidimensional arrays 754 Arrays and generics 759 Creating test data 762 Arrays utilities 775 Summary 786 Containers in Depth 791 Full container taxonomy 791 Filling containers 793 Collection functionality 809 Optional operations 813 List functionality 817 Sets and storage order 821 Queues 827 Understanding Maps 831 Hashing and hash codes 839 Choosing an implementation 858 Utilities 879 Holding references 889 Java 1.0/1.1 containers 893 Summary 900 I/O 901 The File class 901 Input and output 914 Adding attributes and useful interfaces 918 Readers & Writers 922 Off by itself: RandomAccessFile 926 Typical uses of I/O streams 927 File reading & writing utilities 936 Standard I/O 941 Process control 944 New I/O 946 Compression 973 Object serialization 980 XML 1003 Preferences 1006 Summary 1008 Enumerated Types 1011 Basic enum features 1011 Adding methods to an enum 1014 enums in switch statements 1016 The mystery of values() 1017 Implements, not inherits 1020 Random selection 1021 Using interfaces for organization 1022 Using EnumSet instead of flags 1028 Using EnumMap 1030 Constant-specific methods 1032 Multiple dispatching 1047 Summary 1057 Annotations 1059 Basic syntax 1060 Writing annotation processors 1064 Using apt to process annotations 1074 Using the Visitor pattern with apt 1079 Annotation-based unit testing 1083 Summary 1106 Concurrency 1109 The many faces of concurrency 1111 Basic threading 1116 Sharing resources 1150 Terminating tasks 1179 Cooperation between tasks 1197 Deadlock 1223 New Library components 1229 Simulation 1253 Performance tuning 1270 Active objects 1295 Summary 1300 Graphical User Interfaces 1303 Applets 1306 Swing basics 1307 Making a button 1311 Capturing an event 1312 Text areas 1315 Controlling layout 1317 The Swing event model 1321 A selection of Swing components 1332 JNLP and Java Web Start 1376 Concurrency & Swing 1382 Visual programming and JavaBeans 1393 Alternatives to Swing 1415 Building Flash Web clients with Flex 1416 Creating SWT applications 1430 Summary 1447 A: Supplements 1449 Downloadable supplements 1449 Thinking in C: Foundations for Java 1449 Thinking in Java seminar 1450 Hands-On Java seminar-on-CD 1450 Thinking in Objects seminar 1450 Thinking in Enterprise Java 1451 Thinking in Patterns (with Java) 1452 Thinking in Patterns seminar 1452 Design consulting and reviews 1453 B: Resources 1455 Software 1455 Editors & IDEs 1455 Books 1456 Index 1463

Additional information

CIN0131872486A
9780131872486
0131872486
Thinking in Java by Bruce Eckel
Used - Well Read
Paperback
Pearson Education (US)
2006-03-02
1520
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book. We do our best to provide good quality books for you to read, but there is no escaping the fact that it has been owned and read by someone else previously. Therefore it will show signs of wear and may be an ex library book

Customer Reviews - Thinking in Java