Home   FAQs   New Arrivals   Specials   Pricing & Shipping   Location   Corporate Services  
 Search:   
 View Cart   Check Out   
 
Browse by Subject
I.T
 .NET 3.5
 Windows 2000/XP
 Cisco
 Java
 Office XP
 VB
 ASP
 UML
 Web Design
 E-Commerce
 Project Management
 Macintosh
 Linux
 Windows Server 2008
 Sharepoint 2007
Certification
 MCITP
 MCTS
Economics and Business
 Accounting
 Business Information Systems
 Economics
 Finance
 Management
 Marketing
 Human Resources
 OneKey Textbooks

The Java Programming Language (4th Edition)

by: Ken Arnold, James Gosling, David Holmes

On-line Price: $47.95 (includes GST)

Paperback package 928

20%Off Retail Price

You save: $12.00

In Stock - Available for immediate delivery!
_____________________
N.Sydney : In Stock

Retail Price: $59.95

Publisher: ADDISON-WESLEY,17/8/2005

Category: JAVA Level:

ISBN: 0321349806
ISBN13: 9780321349804

Add to Shopping Cart

Direct from the creators of the Java programming language, the completely revised fourth edition of The Java 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 2 Standard Edition 5.0 (J2SE 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 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.

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