Cart
Free Shipping in Australia
Proud to be B-Corp

Java (TM) Programming Language, The Ken Arnold

Java (TM) Programming Language, The By Ken Arnold

Java (TM) Programming Language, The by Ken Arnold


Condition - Very Good
Out of stock

Summary

Covers various classes in Java's main packages, presenting explanations of why these classes work as they do, with examples. This book provides an introduction to the Java language and essential libraries, and is a useful reference for programmers.

Java (TM) Programming Language, The Summary

Java (TM) Programming Language, The by Ken Arnold

Direct from the creators of the Java (TM) programming language, the completely revised fourth edition of The Java (TM) Programming Language is an indispensable resource for novice and advanced programmers alike. Developers around the world have used previous editions to quickly gain a deep understanding of the Java programming language, its design goals, and how to use it most effectively in real-world development. Now, Ken Arnold, James Gosling, and David Holmes have updated this classic to reflect the major enhancements in Java (TM) 2 Standard Edition 5.0 (J2SE (TM) 5.0). The authors systematically cover most classes in Java's main packages, java.lang.*, java.util, and java.io, presenting in-depth explanations of why these classes work as they do, with informative examples. Several new chapters and major sections have been added, and every chapter has been updated to reflect today's best practices for building robust, efficient, and maintainable Java software. Key changes in this edition include New chapters on generics, enums, and annotations, the most powerful new language features introduced in J2SE 5.0 Changes to classes and methods throughout to reflect the addition of generics Major new sections on assertions and regular expressions Coverage of all the new language features, from autoboxing and variable argument methods to the enhanced for-loop and covariant return types Coverage of key new classes, such as Formatter and Scanner The Java (TM) Programming Language, Fourth Edition, is the definitive tutorial introduction to the Java language and essential libraries and an indispensable reference for all programmers, including those with extensive experience. It brings together insights you can only get from the creators of Java: insights that will help you write software of exceptional quality.

About Ken Arnold

Ken Arnold, formerly senior engineer at Sun Microsystems Laboratories, is a leading expert in object-oriented design and implementation. He was one of the original architects of the Jini (TM) technology, and the lead engineer of Sun's JavaSpaces (TM) technology. James Gosling is a Fellow and Chief Technology Officer of Sun's Developer Products group, the creator of the Java programming language, and one of the computer industry's most noted programmers. He is the 1996 recipient of Software Development's "Programming Excellence Award." He previously developed NeWS, Sun's network-extensible window system, and was a principal in the Andrew project at Carnegie Mellon University, where he earned a Ph.D. in computer science. David Holmes is director of DLTeCH Pty Ltd, located in Brisbane, Australia. He specializes in synchronization and concurrency and was a member of the JSR-166 expert group that developed the new concurrency utilities. He is also a contributor to the update of the Real-Time Specification for Java, and has spent the past few years working on an implementation of that specification.

Table of Contents

Preface xxi Chapter 1: A Quick Tour 1 1.1 Getting Started 1 1.2 Variables 3 1.3 Comments in Code 6 1.4 Named Constants 7 1.5 Unicode Characters 8 1.6 Flow of Control 9 1.7 Classes and Objects 12 1.8 Methods and Parameters 15 1.9 Arrays 18 1.10 String Objects 21 1.11 Extending a Class 24 1.12 Interfaces 27 1.13 Generic Types 29 1.14 Exceptions 32 1.15 Annotations 35 1.16 Packages 36 1.17 The Java Platform 38 1.18 Other Topics Briefly Noted 39 Chapter 2: Classes and Objects 41 2.1 A Simple Class 42 2.2 Fields 44 2.3 Access Control 47 2.4 Creating Objects 49 2.5 Construction and Initialization 50 2.6 Methods 56 2.7 this 68 2.8 Overloading Methods 69 2.9 Importing Static Member Names 71 2.10 The main Method 73 2.11 Native Methods 74 Chapter 3: Extending Classes 75 3.1 An Extended Class 76 3.2 Constructors in Extended Classes 80 3.3 Inheriting and Redefining Members 84 3.4 Type Compatibility and Conversion 90 3.5 What protected Really Means 93 3.6 Marking Methods and Classes final 96 3.7 Abstract Classes and Methods 97 3.8 The Object Class 99 3.9 Cloning Objects 101 3.10 Extending Classes: How and When 107 3.11 Designing a Class to Be Extended 108 3.12 Single Inheritance versus Multiple Inheritance 114 Chapter 4: Interfaces 117 4.1 A Simple Interface Example 118 4.2 Interface Declarations 120 4.3 Extending Interfaces 122 4.4 Working with Interfaces 126 4.5 Marker Interfaces 130 4.6 When to Use Interfaces 131 Chapter 5: Nested Classes and Interfaces 133 5.1 Static Nested Types 133 5.2 Inner Classes 136 5.3 Local Inner Classes 142 5.4 Anonymous Inner Classes 144 5.5 Inheriting Nested Types 146 5.6 Nesting in Interfaces 148 5.7 Implementation of Nested Types 149 Chapter 6: Enumeration Types 151 6.1 A Simple Enum Example 151 6.2 Enum Declarations 152 6.3 Enum Constant Declarations 154 6.4 java.lang.Enum 159 6.5 To Enum or Not 160 Chapter 7: Tokens, Values, and Variables 161 7.1 Lexical Elements 161 7.2 Types and Literals 166 7.3 Variables 169 7.4 Array Variables 173 7.5 The Meanings of Names 178 Chapter 8: Primitives as Types 183 8.1 Common Fields and Methods 184 8.2 Void 187 8.3 Boolean 187 8.4 Number 188 8.5 Character 192 8.6 Boxing Conversions 198 Chapter 9: Operators and Expressions 201 9.1 Arithmetic Operations 201 9.2 General Operators 204 9.3 Expressions 214 9.4 Type Conversions 216 9.5 Operator Precedence and Associativity 221 9.6 Member Access 223 Chapter 10: Control Flow 229 10.1 Statements and Blocks 229 10.2 if-else 230 10.3 switch 232 10.4 while and do-while 235 10.5 for 236 10.6 Labels 241 10.7 break 241 10.8 continue 244 10.9 return 245 10.10 What, No goto? 246 Chapter 11: Generic Types 247 11.1 Generic Type Declarations 250 11.2 Working with Generic Types 256 11.3 Generic Methods and Constructors 260 11.4 Wildcard Capture 264 11.5 Under the Hood: Erasure and Raw Types 267 11.6 Finding the Right Method--Revisited 272 11.7 Class Extension and Generic Types 276 Chapter 12: Exceptions and Assertions 279 12.1 Creating Exception Types 280 12.2 throw 282 12.3 The throws Clause 283 12.4 try, catch, and finally 286 12.5 Exception Chaining 291 12.6 Stack Traces 294 12.7 When to Use Exceptions 294 12.8 Assertions 296 12.9 When to Use Assertions 297 12.10 Turning Assertions On and Off 300 Chapter 13: Strings and Regular Expressions 305 13.1 Character Sequences 305 13.2 The String Class 306 13.3 Regular Expression Matching 321 13.4 The StringBuilder Class 330 13.5 Working with UTF-16 336 Chapter 14: Threads 337 14.1 Creating Threads 339 14.2 Using Runnable 341 14.3 Synchronization 345 14.4 wait, notifyAll, and notify 354 14.5 Details of Waiting and Notification 357 14.6 Thread Scheduling 358 14.7 Deadlocks 362 14.8 Ending Thread Execution 365 14.9 Ending Application Execution 369 14.10 The Memory Model: Synchronization and volatile 370 14.11 Thread Management, Security, and ThreadGroup 375 14.12 Threads and Exceptions 379 14.13 ThreadLocal Variables 382 14.14 Debugging Threads 384 Chapter 15: Annotations 387 15.1 A Simple Annotation Example 388 15.2 Annotation Types 389 15.3 Annotating Elements 392 15.4 Restricting Annotation Applicability 393 15.5 Retention Policies 395 15.6 Working with Annotations 395 Chapter 16: Reflection 397 16.1 The Class Class 399 16.2 Annotation Queries 414 16.3 The Modifier Class 416 16.4 The Member classes 416 16.5 Access Checking and AccessibleObject 417 16.6 The Field Class 418 16.7 The Method Class 420 16.8 Creating New Objects and the Constructor Class 423 16.9 Generic Type Inspection 426 16.10 Arrays 429 16.11 Packages 432 16.12 The Proxy Class 432 16.13 Loading Classes 435 16.14 Controlling Assertions at Runtime 444 Chapter 17: Garbage Collection and Memory 447 17.1 Garbage Collection 447 17.2 A Simple Model 448 17.3 Finalization 449 17.4 Interacting with the Garbage Collector 452 17.5 Reachability States and Reference Objects 454 Chapter 18: Packages 467 18.1 Package Naming 468 18.2 Type Imports 469 18.3 Package Access 471 18.4 Package Contents 475 18.5 Package Annotations 476 18.6 Package Objects and Specifications 477 Chapter 19: Documentation Comments 481 19.1 The Anatomy of a Doc Comment 482 19.2 Tags 483 19.3 Inheriting Method Documentation Comments 489 19.4 A Simple Example 491 19.5 External Conventions 496 19.6 Notes on Usage 497 Chapter 20: The I/O Package 499 20.1 Streams Overview 500 20.2 Byte Streams 501 20.3 Character Streams 507 20.4 InputStreamReader and OutputStreamWriter 512 20.5 A Quick Tour of the Stream Classes 514 20.6 The Data Byte Streams 537 20.7 Working with Files 540 20.8 Object Serialization 549 20.9 The IOException Classes 563 20.10 A Taste of New I/O 565 Chapter 21: Collections 567 21.1 Collections 567 21.2 Iteration 571 21.3 Ordering with Comparable and Comparator 574 21.4 The Collection Interface 575 21.5 Set and SortedSet 577 21.6 List 580 21.7 Queue 585 21.8 Map and SortedMap 587 21.9 enum Collections 594 21.10 Wrapped Collections and the Collections Class 597 21.11 Synchronized Wrappers and Concurrent Collections 602 21.12 The Arrays Utility Class 607 21.13 Writing Iterator Implementations 609 21.14 Writing Collection Implementations 611 21.15 The Legacy Collection Types 616 21.16 Properties 620 Chapter 22: Miscellaneous Utilities 623 22.1 Formatter 624 22.2 BitSet 632 22.3 Observer/Observable 635 22.4 Random 639 22.5 Scanner 641 22.6 StringTokenizer 651 22.7 Timer and TimerTask 653 22.8 UUID 656 22.9 Math and StrictMath 657 Chapter 23: System Programming 661 23.1 The System Class 662 23.2 Creating Processes 666 23.3 Shutdown 672 23.4 The Rest of Runtime 675 23.5 Security 677 Chapter 24: Internationalization and Localization 685 24.1 Locale 686 24.2 Resource Bundles 688 24.3 Currency 694 24.4 Time, Dates, and Calendars 695 24.5 Formatting and Parsing Dates and Times 703 24.6 Internationalization and Localization for Text 708 Chapter 25: Standard Packages 715 25.1 java.awt--The Abstract Window Toolkit 717 25.2 java.applet--Applets 720 25.3 java.beans--Components 721 25.4 java.math--Mathematics 722 25.5 java.net--The Network 724 25.6 java.rmi--Remote Method Invocation 727 25.7 java.security and Related Packages--Security Tools 732 25.8 java.sql--Relational Database Access 732 25.9 Utility Subpackages 733 25.10 javax.* --Standard Extensions 737 25.11 javax.accessibility--Accessibility for GUIs 737 25.12 javax.naming--Directory and Naming Services 738 25.13 javax.sound--Sound Manipulation 739 25.14 javax.swing--Swing GUI Components 740 25.15 org.omg.CORBA--CORBA APIs 740 Appendix A: Application Evolution 741 A.1 Language, Library, and Virtual Machine Versions 741 A.2 Dealing with Multiple Dialects 743 A.3 Generics: Reification, Erasure, and Raw Types 744 Appendix B: Useful Tables 749 Further Reading 755 Index 761

Additional information

CIN0321349806VG
9780321349804
0321349806
Java (TM) Programming Language, The by Ken Arnold
Used - Very Good
Paperback
Pearson Education (US)
2005-08-25
928
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Java (TM) Programming Language, The