副标题:无

作   者:

分类号:

ISBN:9780131002876

微信扫一扫,移动浏览光盘

简介

  Bruce Eckel's Thinking in Java - JavaWorld Editor's Choice Award for Best Book, 2001 JavaWorld Reader's Choice Award for Best Book, 2000 Software Development Magazine Productivity Award, 1999 Java Developer's Journal Editor's Choice Award for Best Book, 1998 Software Development Magazine Jolt Product Excellence Award (for Thinking in C++), 1995 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 (in-depth object-oriented concepts, multithreading, automated project building, unit testing, and debugging), Thinking in Java is designed to teach, one simple step at a time. The classic Java Introduction, fully updated for Java 2 version 1.4, with new topics throughout! New testing framework validates each program and shows you the output. New chapter on unit testing, automated building, assertions, logging, debugging, and other ways to keep your programs in tune. Completely rewritten threading chapter gives you a solid grasp of the fundamentals. 350+ working Java programs, rewritten for this edition. 15,000+ lines of code. Companion web site includes all source code, annotated solution guide, essays and other resources. Includes entire Foundations for Java multimedia seminar on CD-ROM for Windows, Linux and Mac. For beginners and experts alike. Teaches Java linguistics, not platform-dependent mechanics. Thorough coverage of fundamentals; demonstrates advanced topics. Explains sound object-oriented principles as they apply to Java. Hands-on Java CD available online, with 15 hours of lectures and slides by Bruce Eckel. Live seminars, consulting, and reviews available. www.BruceEckel.comWhat people are saying- "The best book on Java...Your depth is amazing." "Definitely the thinking person's choice in a Java book." "One of the absolutely best programming tutorials I've seen, for any language."   

目录

preface

preface to the 3rd edition

java 2, jdk 1.4

introduction

prerequisites

learning java

goals

jdk html

documentation

chapters

exercises

the cd rom

source code

coding standards.

java versions

errors

note on the cover design

acknowledgements

introducfion

to objects

.the progress

of abstraction

an object

has an interface

an object

provides services

the hidden

implementation

reusing

the implementation

inheritance: reusing

the interface

is-a vs. is-like-a relationships

interchangeable objects

with polymorphism,

abstract base classes

and interfaces

object creation,

use & lifetimes

collections and iterators

the singly rooted hierarchy

downcasting vs.

templates/generics

ensuring proper cleanup

exception handling:

dealing with errors

concurrency

persistence

java and the internet

what is the web?

client-side programming

server-side programming

applications

why java succeeds

systems are easier to

express and understand

maximal leverage

with libraries

error handling

programming in the large

java vs. c++?

summary

2: everything

is an object

you manipulate objects

with references

you must create

all the objects

where storage lives

special case: primitive types

arrays in java

you never need to

destroy an object

scoping

scope of objects

creating new

data types: class

fields and methods

methods, arguments,

and return values

the argument list,

building a java program

name visibility

using other components,

the static keyword

your first java program

compiling and running

comments and embedded

documentation

comment documentation

syntax

embedded html

some example tags

documentation example

coding style

summary

exercises

3: controlling

program flow

using java operators

precedence

assignment

mathematical operators

auto increment

and decrement

relational operators

logical operators

bitwise operators

shift operators

ternary if-else operator

the comma operator

string operator +

common pitfalls when

using operators

casting operators

java has no "sizeof'

precedence revisited

a compendium of operators

execution control

true and false

if-else

return

iteration

do-while

for,

break and continue

switch

summary

exercises

4: initialization

& cleanup

guaranteed initialization

with the constructor

method overloading

distinguishing

overloaded methods

overloadihg with primitives

overloading on return values

default constructors

the this keyword

cleanup: finalization

and garbage collection

what is finalize( ) for?

you must perform cleanup

the termination condition

how a garbage

collector works

member initialization

specifying initialization

constructor initialization

array initialization

multidimensional arrays

summary

exercises

5 hiding the

implementation

package: the library unit

creating unique

package names

a custom tool library

using imports

to change behavior

package caveat

java access specifiers

package access

public: interface access

private:

you can't touch that!

protected:

inheritance access

interface

and implementation

class access

summary

exercises

6: reusing classes

composition syntax

inheritance syntax

initializing the base class

combining composition

and inheritance

guaranteeing proper cleanup

name hiding

choosing composition

vs. inheritance

protected

incremental

development

upcasting

why "upcasting"?

the final keyword

final data

final methods

final classes

final caution

initialization

and class loading

initialization with inheritance

summary

exercises

7: polymorphism

upeasting revisited

forgetting the object type

the twist

method-call binding

producing the fight behavior

extensibility

pitfall: "overriding" private

methods

abstract classes

and methods

constructors and

polymorphism

order of constructor calls

inheritance and cleanup

behavior of polymorphic

methods inside constructors

designing

with inheritance

pure inheritance

vs. extension

downcasting and

run-time type identification

summary

exercises

8: interfaces

& inner classes

interfaces

"multiple inheritance" in java

extending an interface

with inheritance

grouping constants

initializing fields

in interfaces

nesting interfaces

inner classes

inner dasses and upcasting

inner dasses in methods

and scopes

anon wnous inner classes

the link to the outer class

nested classes

referring to the

outer class object

reaching outward from a

multiply-nested class

inheriting from inner classes

can inner classes

be overridden?

local inner classes

inner class identifiers

why inner classes?

closures & callbacks

inner classes

& control frameworks

summary,

exercises

9: error handling

with exceptions

basic exceptions

exception arguments

catching an exception

the try block

exception handlers

creating your

own exceptions

the exception

specification

catching any exception

rethrowing an exception

exception chaining

standard

java exceptions

the special case of

runtimeexception

performing cleanup

with finally

what's finally for?

pitfall: the lost exception

exception restrictions

constructors

exception matching

alternative approaches

history

perspectives

passing exceptions

to the console

converting checked

to unchecked exceptions

exception guidelines

summary

exercises

10: detecting types

the need for rtti

the class object

checking before a cast

rtti syntax

reflection: run time

class information

a class method extractor

summary

exercises

11: collections

of 0bjects

arrays

arrays are first-class objects

returning an array

the arrays class

filling an array

copying an array

comparing arrays

array element comparisons

sorting an array

searching a sorted array

array summary

introduction

to containers

printing containers

filling containers

container disadvantage:

unknown type

sometimes it works anyway

making a type-conscious

arraylist

iterators

container taxonomy

collection functionality

list functionality

making a stack

from a linkedlist

making a queue

from a linkedlist

set functionality

sortedset

map functionality

sortedmap

linkedhashmap

hashing and hash codes

overriding hashcode( )

holding references

the weaki-iashmap

iterators revisited

choosing

an implementation

choosing between lists

choosing between sets

choosing between maps

sorting and

searching lists

utilities

making a collection

or map unmodifiable

sypchronizing a

collection or map

unsupported operations

java 1.0/1.1 containers

vector & enumeration

hashtable

stack

bitset

summary

exercises

12: the java

i/0 system

the file class

a directory lister

checking for and

creating directories

input and output

types of inputstream

types of outputstream

adding attributes

and useful interfaces

reading from an inputstream

with filterlnputstream

writing to an outputstream

with filteroutputstream

readers & writers

sources and sinks of data

modifying stream behavior

unchanged classes

off by itself:

randomaccessfile

typical uses

of i/0 streams

input streams

output streams

piped streams

file reading

& writing utilities

standard i/o

reading from standard input

changing system.out

to a printwriter

redirecting standard i/o

new i/o

converting data

fetching primitives

view buffers

data manipulation

with buffers

buffer details

memory-mapped files

file locking

compression

simple compression

with gzip

multifile storage with zip

java .archives (jars)

object serialization

finding the class

controlling serialization

using persistence

preferences

regular expressions

creating regular expressions

quantifiers

pattern and matcher

split( )

replace operations

reset( )

regular expressions

and java i/o

is stringtokenizer needed?

summary

exercises

13: concurrency

motivation

basic threads

yielding

sleeping

priority

daemon threads

joining a thread

coding variations

creating responsive

user interfaces

sharing

limited resources

improperly

accessing resources

colliding over resources

resolving shared

resource contention

critical sections

thread states

becoming blocked

cooperation

between threads

wait and notify

using pipes for i/0

between threads

more sophisticated

cooperation

deadlock

the proper way to stop

interrupting a

blocked thread

thread groups

summary

exercises

14: creating

windows & applets

the basic applet

applet restrictions

applet advantages

application frameworks

running applets inside

a web browser

using appletviewer

testing applets

running applets

from the command line

a display framework

making a button

capturing an event

text areas

controlling layout

borderlayout

flowlayout

gridlayout

gridbaglayout

absolute positioning

boxlayout

the best approach?

the swing event model

event and listener types

tracking multiple events

a catalog of

swing components

buttons

icons

tool tips

text fields

borders

jscrollpanes

a mini-editor

check boxes

radio buttons

combo boxes

(drop-down lists)

list boxes

tabbed panes

message boxes

menus

pop-up menus

drawfng

dialog boxes

file dialogs

html on swing components

sliders and progress bars

trees

tables

selecting look & feel

the clipboard

packaging an applet

into a jar file

signing applets

jnlp and

java web start

programming

techniques

binding events dynamically

separating business logic

from ui logic

a canonical form

concurrency & swing

runnable revisited

managing concurrency

visual programming

and javabeans

what is a javabean?

exracting beaninfo

with the introspector

a more sophisticated bean

javabeans

and synachronization

packaging a bean

more complex bean support

more to beans

summary

exercises

discovering

problems

unit testing

a simple testing framework

junit

improving reliability

with assertions

assertion syntax

using assertions for

design by contract

example: dbc +

white-box unit testing

building with ant

automate everything

problems with make

ant: the defacto standard

version control with cts

daily builds

logging

logging levels

logrecords

handlers

filters

formatters

example: sending email

to report log messages

controlling logging levels

through namespaces

logging practices

for large projects

summary

debugging

debugging with jdb

graphical debuggers

profiling and optimizing

tracking

memory consumption

tracking cpu usage

coverage testing

jvm profiling interface

using hprof

thread performance

optimization guidelines

dodets

summary

exercises

16: analysis

and design

methodology

phase o: make a plan

the mission statement

phase 1:

what are we making?

phase e:

how will we build it?

five stages of object design

guidelines for

object development

phase 3: build the core

phase 4:

iterate the use cases

phase 5: evolution

plans pay off

extreme programming

write tests first

pair programming

strategies for transition

guidelines

management obstacles

summary

a: passing

& returning objects

passing references

around

aliasing

making local copies

pass by value

cloning objects

adding doneability

to a class

successful cloning

the effect of

object.clone( )

cloning a composed object

a deep copy

with arraylist

deep copy via serialization

adding cloneability

farther down a hierarchy

why this strange design?

controlling

doneability

the copy constructor

read-only classes

creating read-only classes

the drawback

to immutability

immutable strings

the string and

stringbuffer classes

strings are special

summary

exercises

b: java programming

guidelines

design

implementation

c: supplements

foundations for java

seminar-on-cd

thinking in java

seminar

hands-on java seminar-

on-cd 3rd edition

designing objects &

systems seminar

thinking in

enterprise java

the j2ee seminar

thinking in patterns

(with java)

thinking in patterns

seminar

design consulting

and reviews

d: resources

software

books

analysis & design

python

my own list of books

index


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon