Contents | Prev | Next | Index
Index
Due to the semi-automated, complex technique of generating this extensive index, it has no hyperlinks in the first printing of this document. We plan to insert the index hyperlinks in a later printing. However, in the meantime, you can use the index by double-indirection. (1) Look up an entry here, get its page number, then (2) go to the Table of Contents and find the section that contains that page number, then you can click on that heading in the Table of Contents to jump directly to the section you want.
A
- abrupt completion
- See completion, abrupt
- abs method
- of class
Math
, 526
- abstract modifier
- See also declarations; modifiers
AbstractMethodError
class, 611- classes
- binary compatibility considerations, 242
- declaration of, 131
- definition and characteristics, 131
- direct superinterface relationship to, 136
- interfaces, implicit for every, 184
- methods
- binary compatibility considerations, 254
- classes, 158
- declaration examples, 158, 159, 190
- interfaces, 189
- overloading, 190, 191
- overriding, 189, 190
- semicolon as body of, 164
- reasons why constructors cannot be declared as, 178
- accept method
- of interface
FilenameFilter
, 759
- access
- See also scope
- accessibility
- determining, 99
- term definition, 99
- accessible, term definition, 99
- array, 195
- expression evaluation order, 342
- constructor, binary compatibility considerations, 248
- of fields, expression evaluation, 319
- inheritance of class members, example
- default, 140
private
, 141protected
, 141public
, 141
- interface member names, 186
- to members of a package, 120
- method, binary compatibility considerations, 248
- non-
public
class instances, through public
superclasses and superinterfaces, 142 - overridden methods, using
super
keyword, 165 - qualified
- See also field access expressions; method invocation expressions
- term definition, 99
- threads,
volatile
fields use for, 147
- access control
- See also security
- classes, example, 100, 101
- constructors
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
- fields
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
IllegalAccessError
class, 611IllegalAccessException
class, 611- methods
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
- package names, limited significance of, 115
protected
, details of, 100- qualified names and, 99
- standard exceptions,
IllegalAccessException
, 210 - term definition, 99
- acos method
- of class
Math
, 519
- actions
- See also methods
- main memory subsystem
- lock, 401
- read, 401
- unlock, 401
- write, 401
- prescient store, with threads, 408
- thread
- assign, 401
- load, 401
- lock, 401
- store, 401
- unlock, 401
- use, 401
- threads, constraints on relationships among, 403
- activeCount method
- of class
Thread
, 599 - of class
ThreadGroup
, 609
- activeGroupCount method
- of class
ThreadGroup
, 609
- addElement method
- of class
Vector
, 657
- Addison, Joseph, 143
- addObserver method
- of class
Observable
, 643
- after method
- of class
Date
, 629
- algebraic identities
- See also expressions; mathematical functions
- limits on use of, 308
- allGroups methods
allGroupsCount
method, of class ThreadGroup
, 608- of class
ThreadGroup
, 608
- allThreads method
- of class
ThreadGroup
, 608
- allThreadsCount method
- of class
ThreadGroup
, 608
- alphabet
- See also syntax
- components, see characters
- data types, see primitive types
- term definition, 7
- ambiguity
- See also names, ambiguous; scope
- avoiding, in fields with multiple inheritance, 153
- and method
- of class
BitSet
, 621
- append method
- of class
StringBuffer
, 552
- argument
- See also parameters
IllegalArgumentException
class, 611- lists, evaluation order, 309
- values, method invocation conversion context, 66
- arithmetic
- See also floating-point; integers;
Math
class; numbers; operators; primitive types ArithmeticException
class, 611- integer division,
ArithmeticException
, 307 Math
class, 517Number
class, 487- operators, numeric promotion, specification, 72
Random
class, 646- standard exceptions,
ArithmeticException
, 209
- arrays
- See also classes; data structures
- access, 195
- expression evaluation order, 342
arraycopy
method, of class System
, 584ArrayStoreException
class, 611- assignment, expression evaluation order, 370
ByteArrayInputStream
class, 689ByteArrayOutputStream
class, 727- (chapter), 193
- character, distinguished from strings, 199
Class
- objects, 199
- obtaining, example, 49
Cloneable
interface implemented by, 198- components
- See also variables
- assignment, run-time testing, 199, 303, 370, 375
- default values, 46
- initialization, 194
- as a kind of variable, 44
- type declaration, 194
- creation, 195, 38
- expression evaluation, 315
- order, 316
- order, example, 318
- out-of-memory detection, example, 319
- example, 196
- grammar specification difficulties, 438
- indexing of, 195
IndexOutOfBoundsException
class, 611- initialization, 195, 196
- LALR(1) grammar productions, 446
- members, 197, 88
- names, fully qualified, 106
NegativeArraySizeException
class, 611Object
as superclass of, 199- origin, 195
- standard exceptions
ArrayStoreException
, 199, 209IndexOutOfBoundsException
, 209NegativeArraySizeException
, 209
- variables
- declaration, 194
- initialization, 194
- ASCII characters
- See also characters; Unicode character set
- Unicode character set relationship to, 11
- asin method
- of class
Math
, 519
- assignment
- See also fields; initialization
- array, expression evaluation order, 370, 375
- assignable to, term definition, 61
- compatible, term definition, 61
- compound
- evaluation order, 305
- operators, evaluation, 375
- conversion context, specification, 52, 61
- definite, (chapter), 383
- expressions
- boolean, definite assignment, 390
- definite assignment, 391
- as statements, 272
- operation, to change value of primitive value, 31
- simple operators, evaluation, 370
- atan method
- of class
Math
, 520
- atan2 method
- of class
Math
, 520
- @author tag
- specification, 421
- available method
- of class
BufferedInputStream
, 701 - of class
ByteArrayInputStream
, 691 - of class
FileInputStream
, 686 - of class
FilterInputStream
, 697 - of class
InputStream
, 682 - of class
LineNumberInputStream
, 708 - of class
PushbackInputStream
, 711 - of class
StringBufferInputStream
, 693
B
- backslash \
- escape sequence, 27
- Unicode escape use, 13
- backspace
- escape sequence, 27
- banana-fana, 111
- Bartleby
- Project (Columbia University), ix
- scrivener, 398
- bases
- See also numbers
- permitted in integer literals, 19
- bear, 236
- before method
- of class
Date
, 629
- Bell, Alexander Graham, 119
- Bernard de Morlay, 111
- Beta, 3, 6
- biblical quotations
- I Corinthians 14:40, 305
- John 3:30, 348
- Matthew 6:29, 193
- bibliographic references
- The Art of Computer Programming, Volume 2, 650
- Polling Efficiently on Stock Hardware, 206
- Release-to-Release Binary Compatibility in SOM, 237
- binary
- compatibility
- See also code generation; compile-time errors; exceptions
- changes that do not break, 237
- (chapter), 237
- compatible with term definition, 240
- contrasted with source compatibility, 241
- properties and non-properties, 240
- file format, required properties, 239
- numeric promotion, specification, 74
- representation, verification of classes and interfaces, 220
BitSet class, 618
BitSet
class- blocks
- See also control flow; statements
- (chapter), 263
- definite assignment, 393
- LALR(1) grammar productions, 446
- specification and execution of, 265
- Bobrow, Daniel G., 6
- body
- See also declarations
- class
- declarations in, 138
- term definition, 138
- constructor, 178
- binary compatibility considerations, 257
- interface, declarations, 185
- method, 164
- binary compatibility considerations, 257
- boolean
- See also numbers
Boolean
class, 469booleanValue
method, of class Boolean
, 470- literals, term definition and specification, 23
- operators, 36
- type and values, term definition and specification, 36
- Bovik, Harry, 126
- Bowie, David, 509
- Box, G. E. P., 650
- brackets ([])
- array type declaration, 194, 266, 37
- syntactical ambiguities, handling of, 311
- break statement
- See also control flow
- definite assignment, 397
- as reason for abrupt completion, 264
- specification, 283
- brown paper packages, 126
- buffers
buf
field
- of class
BufferedInputStream
, 699 - of class
BufferedOutputStream
, 732 - of class
ByteArrayInputStream
, 689 - of class
ByteArrayOutputStream
, 727
buffer
field, of class StringBufferInputStream
, 692BufferedInputStream
class, 699BufferedOutputStream
class, 732
- Bunyan, John, 823
- Burke, Edmund, 263
- Burton, Robert
- exception, 213
- lard, ix
- but not phrase
- grammar notation use, 10
- Butler, Samuel, 530
- butter, 530
- Byron, Lord, 823
- byte type
- See also integral types; numbers; primitive types
ByteArrayInputStream
class, 689ByteArrayOutputStream
class, 727- value range, 31
C
- C, 1, 2, 6
- C++, 1, 2, 6
- Caesar, Julius, 352
- caller
- of a statement expression, term definition, 204
- canRead method
- of class
File
, 755
- canWrite method
- of class
File
, 756
- capacity method
- of class
StringBuffer
, 551 - of class
Vector
, 658
- capacityIncrement field
- of class
Vector
, 655
- carriage return (CR)
- escape sequence, 27
- handling in a
- character literal, 24
- string literal, 25
- as a line terminator, not input character, 14
- casting
- See also conversion
boolean
, 37ClassCastException
class, 611- conversion context, 53
- specification, 67
- floating-pointing types, 33
- integral types, 33
- reference types, 67
- run-time testing, 303
- standard exceptions,
ClassCastException
, 209 - to
void
, not permitted, 272
catch clause, 290
catch
clause
- See also control flow;
try
statement - exception handling role of, 204
- exception idiom defined with, 211
- ceil method
- of class
Math
, 524
- Cervantes, Miguel de, 67
- characters
- See also
Character
class; numbers; primitive types; strings - array of, distinguished from strings, 199
char
type, 30
- See also integral types; numbers; primitive types
- value range, 31
Character
class, 471charValue
method, of class Character
, 474- line terminators, 25
- literals
- escape sequences for, 26
- term definition and specification, 24
- Unicode character set
- composite, contrasted with the Unicode decomposed characters, 18
- handling in package names, 117
- lexical grammar use as terminal symbols, 7
- relationship to ASCII, 11
- charAt method
- of class
String
, 536 - of class
StringBuffer
, 551
- Chase, Lincoln, 111
- Chaucer, Geoffrey
- Canterbury Tales, 521
- Troilus and Creseide, 528
- checking
- See also exceptions, checked; throw
checkAccept
method, of class SecurityManager
, 577checkAccess
method
- of class
SecurityManager
, 572 - of class
Thread
, 594 - of class
ThreadGroup
, 605
checkConnect
method, of class SecurityManager
, 576checkCreateClassLoader
method, of class SecurityManager
, 572checkDelete
method, of class SecurityManager
, 576checkError
method, of class PrintStream
, 739
checkExec
method, of class SecurityManager
, 573checkExit
method, of class SecurityManager
, 573checkLink
method, of class SecurityManager
, 574checkListen
method, of class SecurityManager
, 577checkPropertiesAccess
method, of class SecurityManager
, 574checkPropertyAccess
method, of class SecurityManager
, 574checkRead
method, of class SecurityManager
, 575checkSetFactory
method, of class SecurityManager
, 577checkTopLevelWindow
method, of class SecurityManager
, 578checkWrite
method, of class SecurityManager
, 575- for exception handlers, at compile-time, 203
- checkPackageAccess method
- of class
SecurityManager
, 578
- checkPackageDefinition method
- of class
SecurityManager
, 578
- Christie, Agatha
- hand-writing experts, 325
- no method, 465
- Poirot's abrupt departure, 264
- testing a statement, 273
- Cicero, Marcus Tullius, 528
- circular declaration
- See also forward reference
ClassCircularityError
class, 611- of interfaces, compile-time error caused by, 185
- of subclasses, compile-time error caused by, 134
- of types, in different compilation units, legality of, 118
- class(es)
- See also fields; inheritance; interfaces; methods; packages; subclasses; superclasses; superinterfaces
abstract
, 131
- as array component types, 194
- binary compatibility considerations, 242
- declaration of, 131
- overriding
abstract
methods in, 158 - uses, 132
- accessibility, 99
- binary compatibility considerations, 242
- binary representation
- binary file format requirements, 240
- verification of, 220
- body
- declarations, binary compatibility considerations, 245
- term definition and declarations in, 138
Class
class, 466class
file format, binary file format use of, 238Class
objects, associated with arrays, 199, 49.class
suffix, as name for compiled files, 116ClassCastException
class, 611ClassCircularityError
class, 611classDepth
method, of class SecurityManager
, 571ClassFormatError
class, 611ClassLoader
class, 558classLoaderDepth
method, of class SecurityManager
, 572ClassNotFoundException
class, 611- constructors, binary compatibility considerations, 253
- declarations, 128
- (chapter), 127
- LALR(1) grammar productions, 443
- specifying direct superclasses in, 133
- specifying direct superinterfaces in, 135
- term definition, 128
- as declared entity, 78
- exception
Error
, 203, 211Exception
, 203, 208RuntimeException
, 203, 208Throwable
, 201, 202, 208, 463
- fields, see fields, class
final
- binary compatibility considerations, 242
- declaration of, 133
- finalization of, 235
- inaccessible, accessing members of, example, 142
IncompatibleClassChangeError
class, 611- initialization, 223
- detailed procedure, 225
- example, 217
- standard exceptions,
ExceptionInitializerError
, 212
- instances, see instance(s)
- instantiation, preventing, 180
- linking
- at virtual machine startup, 216
- initialization, 212, 223, 225
- preparation, 212, 221, 226
- process description, 220
- resolution, 216
- loading, 218
- at virtual machine startup, 216
- process description, 29
- standard errors
ClassCircularityError
, 219ClassFormatError
, 219NoClassDefFoundError
, 219
- members, 86
- declarations, 138
- binary compatibility considerations, 245
- methods
- class, 160
- interface, 169
- non-
static
, 160 static
, 160
- names
- fully qualified, 105
- scope of, 130
- naming conventions, 108
NoClassDefFoundError
class, 611- non-
public
, in example of qualified names and access control, 101 - objects have, while variables have types, 47
- as package members, 85
- preparation, 221
- at virtual machine startup, 216
- standard exceptions,
AbstractMethodError
, 212
- preventing instantiation of, 132
public
- access control in, 99
- binary compatibility considerations, 243
- in example of qualified names and access control, 101
- references to, binary file format requirements, 239
- resolution
- at virtual machine startup, 216
- process description, 221
- standard exceptions
IllegalAccessError
, 221IncompatibleClassChangeError
, 221InstantiationError
, 222
NoSuchFieldError
, 222NoSucMethodError
, 222
- scope of, 81
- standard, see standard classes
- standard exceptions
ClassCastException
, 209, 69ClassNotFoundException
, 210, 468, 559, 560Error
, 208Exception
, 208RuntimeException
, 208Throwable
, 208
- static initializers, 175
- binary compatibility considerations, 259
- type declarations, as members of packages, 124
- unloading of, 235
- variables
- default values, 46
- specification, 145, 44
- verification
- at virtual machine startup, 216
- standard exceptions,
VerifyError
, 212
- classification
- reclassification of contextually ambiguous names, 91
- syntactic, of a name according to context, 90
- clear method
- of class
BitSet
, 620 - of class
Hashtable
, 638
- clearChanged method
- of class
Observable
, 644
- cloning
clone
method
- of class
BitSet
, 620 - of class
Hashtable
, 636 - of class
Object
, 460 - of class
Vector
, 656
Cloneable
interface, 465CloneNotSupportedException
class, 611
- CLOS (Common Lisp Object System), 4
- close method
- of class
FileInputStream
, 686 - of class
FileOutputStream
, 723 - of class
FilterInputStream
, 697 - of class
FilterOutputStream
, 731 - of class
InputStream
, 682 - of class
OutputStream
, 721 - of class
PipedInputStream
, 688 - of class
PipedOutputStream
, 726
- of class
PrintStream
, 739 - of class
RandomAccessFile
, 746 - of class
SequenceInputStream
, 695
- code generation
- See also binary, compatibility; compile-time errors; exceptions; optimization
- asynchronous exceptions, implications for, 205
- initialization, implications for, 227
- linking, implications for, 222
- loading, implications for, 219
- symbolic reference resolution implications of, 222
- comments
commentChar
method, of class StreamTokenizer
, 716- documentation, (chapter), 419
- term definition and specification, 15
- Common Lisp, 4, 6
- compareTo method
- of class
String
, 538
- compatibility
- binary, see binary, compatibility
- compilation
- See also compile-time errors; exceptions; virtual machine
- CompilationUnit goal symbol, syntactic grammar use, 8
- conditional
- binary compatibility considerations, 251
if
statement reachability handling to support, 298
- exception handlers checked for during, 203
- unit
- components, package declarations, 118
- importing types into, 120
- term definition and characteristics, 117
- compile-time errors, 1
- See also binary, compatibility; errors; exceptions
completion, 264
- completion
- See also control flow; exceptions
- abrupt
break
statement, 283continue
statement, 285- during expression evaluation, 304
for
statement, 282- labeled statements, 272
- reasons for, 264, 304
return
statement, 287synchronized
statement, 289throw
statement, 288
try
statement, 290try-catch
statement, 292try-catch-finally
statement, 293
- normal
- during expression evaluation, 304
- during statement execution, 264
- component(s)
- See arrays, components
- type, arrays, 194
- concat method
- of class
String
, 544
- concurrency, 309
- See also synchronization; threads
- conflicts
- name
- See also hiding; scope
- avoiding through use of syntactic context, 89
- connect method
- of class
PipedInputStream
, 687 - of class
PipedOutputStream
, 725
- Conner, Michael, 237
- constants
- See also fields, class,
final
; fields, interface; literals - characteristics and binary compatibility considerations, 251
- compile-time narrowing of
- by assignment conversion, implications, 61
- not permitted by method invocation conversion, 66
- expressions, 381
- in string literals, 26
- field
- binary compatibility considerations, 251
- term specification, 251
- named, see fields, class,
final
- primitive
- binary compatibility considerations, 251
- term definition, 251
- constructors
- See also class(es); execution; initialization; interfaces; methods
- access, 99
- binary compatibility considerations, 248
- control
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
- hidden fields,
this
keyword use for, 269
- body, 178
- binary compatibility considerations, 257
- as components of a class body, 138
- declarations, 176
- binary compatibility considerations, 253
- LALR(1) grammar productions, 445
- default, 180
- deleting, binary compatibility considerations, 246
- invocation, during instance creation, 228
- as not members of a class, 86
- modifiers, 177
- names of, 176, 79
- overloading, 180
- binary compatibility considerations, 257
- parameters, 177
- See also arguments
- assignment during instance creation, 228
- binary compatibility considerations, 254
- scope, 82
- specification, 177, 45
private
, preventing instantiation with, 132, 181protected
, accessibility of, 100- references to, binary file format requirements, 239
- signature, 177
- binary file format requirements, 240
throws
clause, binary compatibility considerations, 256
- contains method
- of class
Hashtable
, 637 - of class
Vector
, 659
- containsKey method
- of class
Hashtable
, 637
- context(s)
- See also inheritance; scope
- conversion, 52
- assignment, specification, 61
- casting, specification, 67
- method invocation, specification, 66
- string, specification, 67
- reclassification of contextually ambiguous names, 91
- role in determining the meaning of a name, 79, 89
- syntactic classification of a name according to, 90
- context-free grammars
- See grammars, context-free
- continue statement
- See also control flow
- definite assignment, 397
- as reason for abrupt completion, 264
- specification, 285
- contract
- See also binary, compatibility
- term definition, 241
- control flow
- See also completion; definite assignment; exceptions; expressions; statements; statements, unreachable; threads
- boolean expressions use for, 37
break
statement, specification, 283continue
statement, specification, 285- deadlock avoidance, multiple lock use for, 290
do
statement, specification, 279for
statement, specification, 280if
statement, dangling else
handling, 270if-then
statement, specification, 273if-then-else
statement, specification, 274- local variable declaration and
switch
statement, 45 return
statement, specification, 286switch
statement, specification, 274synchronized
statement, specification, 289throw
statement, specification, 287try
statement, specification, 290try-catch
statement, specification, 291try-catch-finally
statement, specification, 293while
statement, specification, 277
- conventions
- naming, 106
- impact on name hiding, 84
- conversion
- See also casting; numbers; promotion
- casting, 67
- categories and contexts, 52
- (chapter), 51
- contexts
- assignment, specification, 61
- casting, specification, 67
- method invocation, specification, 66
- string, specification, 67
- forbidden, specification, 60
- identity
- in assignment conversion context, 61
- in casting conversion context, 67
- in method invocation conversion context, 66
- specification, 54
- kinds of, 54
- in method invocations, 66
- narrowing
- primitive, 55
- in assignment conversion context, 61
- in casting conversion context, 67
- not allowed in method invocation conversion context, reasons for, 66
- reference, in casting conversion context, 67
- reference
- narrowing, 59
- specification, 59
- widening, 58
- specification, 58
- string, 67
- specification, 60
- term definition, 51
- term specification, 58
- widening
- primitive, 54
- in assignment conversion context, 61
- in binary numeric promotion context, 74
- in casting conversion context, 67
- in method invocation conversion context, 66
- in unary numeric promotion context, 73
- reference, 58
- in assignment conversion context, 61
- in casting conversion context, 67
- in method invocation conversion context, 66
- term specification, 58
- copyInto method
- of class
Vector
, 659
- cos method
- of class
Math
, 519
- count field
- of class
BufferedInputStream
, 699 - of class
BufferedOutputStream
, 732 - of class
ByteArrayInputStream
, 689 - of class
ByteArrayOutputStream
, 727 - of class
StringBufferInputStream
, 692
- countObservers method
- of class
Observable
, 643
- countStackFrames method
- of class
Thread
, 598
- countTokens method
- of class
StringTokenizer
, 653
C++, 1, 2, 6
- C++
Creamer, Henry, 595
- Creamer, Henry
- creation
- See also declaration; initialization
- array, 195, 38
- expression evaluation
- example, 318
- order, 316
- out-of-memory detection, example, 319
- instance, 38
- expression evaluation, 314
- order, 315
- expressions as statements, 272
- invocation of initializers for instance variables during, 229
- method dispatching during, 230
- specification and procedure, 228
- object, 38
- threads, 415
- Creatore, Luigi, 28
- currentClassLoader method
- of class
SecurityManager
, 571
- currentThread method
- of class
Thread
, 599
- currentTimeMillis method
- of class
System
, 581
- cuspidor
- See spittoon
D
- Danforth, Scott, 237
- dangling else
- See also control flow
- handling of, 270
- data
- See also constants; fields; variables
DataInput
interface, 667DataInputStream
class, 703DataOutput
interface, 674DataOutputStream
class, 734- structures, see
- arrays
- classes
- hash tables
- interfaces
- primitive types
- vectors
- types, see types
- values, see values
- database
- storing packages in, 117
- Date class, 622
- Dave, 125
- deadlock
- avoidance, multiple lock use for, 290
- decimal
- See also numbers
- base, permitted in integer literals, 19
- numerals, specification, 20
- declarations
- See also body; execution; fields; initialization; methods; parameters; statements
- class
- body, 138
- (chapter), 127
- LALR(1) grammar productions, 443
- member, 138
- term definition and characteristics, 128
- constructor, 176
- example of, 177
- LALR(1) grammar productions, 445
- field(s), 143
- constants in interfaces, 186
- examples of, 151
- grammar specification difficulties, 437
- interface, examples, 188
- LALR(1) grammar productions, 443
- identifiers in, kept separate from those in labeled statements, 80
import
- example, 123
- single-type, 121
- term definition, 120
- type-import-on-demand, 122
- interface, 184
- body, 185
- (chapter), 183
- LALR(1) grammar productions, 445
- members, 185
- local variable, definite assignment, 393
- method(s), 155
- examples of, 168
- grammar specification difficulties, 437
- interface,
abstract
, 189 - LALR(1) grammar productions, 444
- modifiers, see
abstract
modifierfinal
modifiernative
modifierprivate
modifierprotected
modifierpublic
modifierstatic
modifiersynchronized
modifiertransient
modifier
volatile
modifier
- overriding, example, 168
- package, in compilation units, 118
- subclass, 133
- superclass, 133
- superinterface, 135, 185
- term definition, 78
- type
- as members of packages, 124
- need not appear before use of the type, 82
- usage in, 43
- variable
- array, 194
- has a type, while objects have classes, 47
- local, 265
- execution of, 269
- defaults field
- of class
Properties
, 639
- defineClass method
- of class
ClassLoader
, 559
- definite assignment
- See also exceptions; execution; scope
- (chapter), 383
- delete method
- of class
File
, 758
- deleteObserver method
- of class
Observable
, 643
- deleteObservers method
- of class
Observable
, 643
- DeMichiel, Linda G., 6
- denormalized
- IEEE 754 standard, support required for, 34
- term definition, 33
- destroy method
- of class
Process
, 562 - of class
ThreadGroup
, 606
- Dictionary class, 633
- digits
digit
method, of class Character
, 485- Java, term definition, 17
- division
- See also arithmetic; numbers
- integer divide by zero, indicated by
ArithmeticException
, 32, 352
- do statement
- See also control flow
- definite assignment, 395
- specification, 278
- documentation
- comments, (chapter), 419
- Double class, 308, 510
- double quote
- escape sequence, 27
- in string literals, 25
- double type
- See also
Double
class; Math
class - floating-point literal specification, 22
- doubleToLongBits method
- of class
Double
, 515
- doubleValue method
- of class
Double
, 513 - of class
Float
, 506 - of class
Integer
, 490 - of class
Long
, 497 - of class
Number
, 487
- Duff, Tom, 275
- Duff's device, 275
- dumpStack method
- of class
Thread
, 600
- Dylan, 4, 6
E
- E field
- of class
Math
, 518
- Eco, Umberto, 111
- Eisenhower, Dwight D., 364
- element
elementAt
method, of class Vector
, 656elementCount
field, of class Vector
, 655elementData
field, of class Vector
, 655elements
method
- of class
Dictionary
, 634 - of class
Hashtable
, 637 - of class
Vector
, 659
NoSuchElementException
class, 664- type, arrays, term definition, 194
- Ellis, Margaret A., 6
- Elliston, Shirley, 111
- empty method
- of class
Stack
, 662
- EmptyStackException class, 663
- endsWith method
- of class
String
, 540
- ensureCapacity method
- of class
StringBuffer
, 551 - of class
Vector
, 658
- entity
- declared, list of, 78
- enumerate method
- of class
Thread
, 600 - of class
ThreadGroup
, 609
Enumeration interface, 617
Enumeration
interface
eolIsSignificant
method
- of class
StreamTokenizer
, 717
- Epictetus, 186
- equals method
- of class
BitSet
, 619 - of class
Boolean
, 470 - of class
Character
, 473 - of class
Date
, 626 - of class
Double
, 511 - of class
File
, 754 - of class
Float
, 505 - of class
Integer
, 489 - of class
Long
, 496 - of class
Object
, 459 - of class
String
, 535
- equalsIgnoreCase method
- of class
String
, 537
- errors
- See also binary, compatibility; compile-time errors; exceptions
AbstractMethodError
class, 611ClassCircularityError
class, 611ClassFormatError
class, 611err
field
- of class
FileNameDescriptor
, 760 - of class
System
, 580
Error
class, 211, 611
- unchecked exceptions as subclass of, 163
ExceptionInInitializerError
class, 611, 614IllegalAccessError
class, 611IncompatibleClassChangeError
class, 611InstantiationError
class, 611InternalError
class, 611- linking, 211, 220
LinkageError
class, 611- preparation, 221
- resolution, 221
- verification, 220
- loading, 211, 219
NoClassDefFoundError
class, 611NoSuchFieldError
class, 611NoSuchMethodError
class, 611OutOfMemoryError
class, 611- semantic, exceptions as mechanism for signaling, 201
- standard, reasons for, 203
- hierarchical relationships list, 611
- types, run-time, 303
- unchecked, reasons for, 203
UnknownError
class, 611
UnsatisfiedLinkError
class, 611VerifyError
class, 611- virtual machine, 212
- escapes
- sequences, for character and string literals, 26
- Unicode, specification, 12
- evaluation
- See also execution; initialization; scope
- evaluated, term definition, 301
- expressions
- additive operators, 355
- additive operators for numeric types, 358
- array access, 341
- array assignment, 370
- array creation, 315
- assignment operators, 369
- bitwise binary operators, 365
- bitwise complement, 349
- boolean equality operators, 364
- boolean logical operators, 365
- cast, 350
- compound assignment operators, 375
- conditional operator, 367
- conditional-and operator, 366
- conditional-or operator, 366
- division, 352
- equality operators, 362
- field access, 319
- instance creation, 314
- integer bitwise operators, 365
- logical binary operators, 365
- logical complement, 349
- method invocation, 323
- method invocation, order of, 333
- multiplication, 351
- multiplicative operators, 351
- numeric comparison, 361
- numeric equality operators, 363
- parenthesized, 313
- postfix, 344
- pre-decrement, 348
- pre-increment, 347
- primary, 311
- reference equality operators, 364
- relational operators, 360
- remainder, 353
- shift operators, 359
- simple assignment operators, 369
- string concatenation, 355
- superclass access, 322
- type comparison, 361
- unary minus, 349
- unary operators, 346
- unary plus, 348
- literals, 312
- order
- arguments left-to-right, 304
- binary operators, 305
- compound assignment, 305
- left-hand operand first, 305
- left-to-right, 309
- operands before operators, 307
- operands evaluated before operations, 307
- parameters, 303
- parentheses and precedence respected, 308
- result of, term definition, 301
- events
- See also methods
- execution order of, constraints on relationships among, 403
- evolution
- See also binary, compatibility; reuse
- of classes, binary compatibility considerations, 242
- of interfaces, binary compatibility considerations, 259
- of packages, binary compatibility considerations, 242
- examples
- access control, 100
- classes, 101
- fields, methods, and constructors
- default, 102
private
, 105protected
, 104public
, 103
- arrays, 196
- classes,
public
and non-public
, 101 - declarations
- fields, 151
- import, 123
- method, 168
- default-access methods, constructors and fields, 102
- exceptions, 206
- fields
- interface, ambiguous inherited, 188
- interface, multiply inherited, 188
- multiply inherited, 153
- reinheritance of, 154
- hiding, 168
- of variables
- class, 151
- instance, 152
- vs. overriding, 170
- HTML generation from documentation comments, 423
- inheritance
- accessing members of inaccessible classes, 142
- class members, 139
- default access, 140
public
, protected
, and private
access, 141
- multiple, with superinterfaces, 137
- with default access, 140
- with
private
, 141 - with
protected
, 141 - with
public
, 141
- methods
abstract
declarations, 190- invocation of hidden class, 171
private
, 105protected
, 104public
, 103
- overloading, 168
- overriding, 168
- incorrect, 169
- because of
throws
, 174
- large example, 172
- vs. hiding, 170
- exceptions
- See also binary, compatibility; compile-time errors; errors;
Throwable
class ArithmeticException
class, 611ArrayStoreException
class, 611- asynchronous, causes and handling of, 205
- caller, determination of, 204
- causes of, 202
- (chapter), 201
- checked
- compile-time checking for handlers of, 203
- constructors, declaring with
throws
clause in method declarations, 163 - defining new exception classes as, 208
- methods, declaring with
throws
clause in method declarations, 163 - standard, 210
ClassCastException
class, 611- classes
Error
, 203, 211
Exception
, 208- hierarchical relationships list, 611
RuntimeException
, 203, 208RuntimeException
, unchecked exceptions found in, 164Throwable
, 201, 202
ClassNotFoundException
class, 611CloneNotSupportedException
class, 611EmptyStackException
class, 663- example, 206
Exception
class, 611@exception
tag, specification, 422ExceptionInInitializerError
class, 611, 614- handlers
- compile-time checking, 203
- how established, 201
- in
try
statements, 291
- handling of, 204
- asynchronous, 205
- run-time testing, 303
- hierarchy, 208
IllegalAccessException
class, 611IllegalArgumentException
class, 611IllegalThreadStateException
class, 611IndexOutOfBoundsException
class, 611InstantiationException
class, 611- integer divide by zero, 32
InterruptedException
class, 611NegativeArraySizeException
class, 611- never thrown for
- assignment conversions, 61
- information loss due to narrowing primitive conversions, 57
- information loss due to widening primitive conversions, 55
- widening reference conversions, 59
NoSuchElementException
class, 664NoSuchMethodException
class, 611NullPointerException
class, 611NumberFormatException
class, 611- parameters
- See also variables
- declaration, 290
- description, 45
- initial value, 46
- scope, 291, 82
- precise, 205
- standard, 208
NegativeArraySizeException
, 304, 316RuntimeException
, 371
- standard (checked)
ClassNotFoundException
, meaning, 210CloneNotSupportedException
, meaning, 210, 460EOFException
- declaration, 762
- meaning, 210
Exception
, 208FileNotFoundException
, 684, 722
- declaration, 763
- meaning, 210
IllegalAccessException
, meaning, 210InstantiationException
, 131
- meaning, 210
InterruptedException
, 562, 598, 600, 601
- meaning, 210
InterruptedIOException
- declaration, 764
- meaning, 210
IOException
, 564, 565, 668, 669, 670, 671, 672, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 694, 695, 696, 697, 698, 700, 701, 703, 704, 705, 706, 707, 708, 709, 710, 711, 717, 720, 721, 723, 724, 725, 726, 729, 730, 731, 733, 735, 736, 737, 744, 745, 746, 747, 748, 749, 750, 751
- declaration, 761
- meaning, 210
MalformedURLException
, meaning, 211ProtocolException
, meaning, 211SocketException
, meaning, 211UnknownHostException
, meaning, 211UnknownServiceException
, meaning, 211UnsatisfiedLinkException
, 222UTFDataFormatException
- declaration, 765
- meaning, 210
- standard (errors)
AbstractMethodError
, 254, 255
- meaning, 212, 221
ClassCircularityError
, 134, 243
- meaning, 212, 219
ClassFormatError
, 559
- meaning, 212, 219
Error
, 211ExceptionInInitializerError
, 227, 288
- meaning, 212
IllegalAccessError
, 243, 259, 336
- meaning, 212, 221
IncompatibleClassChangeError
, 251, 253, 256, 334, 336
- meaning, 212, 221
InstantiationError
, meaning, 212, 222InternalError
, meaning, 212LinkageError
, 219, 220- loading and linkage, 211
NoClassDefFoundError
, 226
- meaning, 212, 219
NoSuchFieldError
, 250
- meaning, 212, 222
NoSuchMethodError
, 247, 253, 260, 334
- meaning, 212, 222
OutOfMemoryError
, 163, 213, 219, 227, 228, 304, 314, 315, 316, 319, 336
- meaning, 212
StackOverflowError
, meaning, 212ThreadDeath
, 595, 611UnknownError
, meaning, 212UnsatisfiedLinkError
, 583, 584, 611
- meaning, 222
VerifyError
, 255, 260
- meaning, 212, 220
VirtualMachineError
, 212, 611
- standard (unchecked runtime)
ArithmeticException
, 304, 307, 354
- meaning, 209
ArrayStoreException
, 199, 304, 371, 374, 584
- meaning, 209
ClassCastException
, 304, 351, 371, 69
- casting conversion requirements that can result in, 69
ClassCastException
, meaning, 209EmptyStackException
, 662
- declaration, 663
- meaning, 209
IllegalArgumentException
, 597, 607, 625, 631, 744, 745
- meaning, 209
IllegalMonitorStateException
, 461, 462, 463
- meaning, 209
IllegalThreadStateException
, 562, 592, 593, 594, 597, 606
- meaning, 209
IndexOutOfBoundsException
, 195, 304, 342, 371, 376, 533, 534, 536, 543, 546, 551, 552, 553, 555, 556, 557, 559, 564, 565, 584, 655, 656, 657, 659, 660, 668, 675, 681, 685, 688, 690, 693, 695, 697, 701, 708, 711, 720, 723, 726, 731, 733, 735, 736, 737, 739, 746, 747, 749
- meaning, 209
NegativeArraySizeException
, 550
- meaning, 209
NoSuchElementException
, 617, 657
- declaration, 664
- meaning, 209
NullPointerException
, 197, 204, 304, 335, 342, 343, 344, 371, 376, 507, 514, 533, 534, 536, 538, 539, 540, 541, 542, 543, 544, 546, 552, 553, 555, 559, 560, 565, 584, 595, 604, 633, 634, 668, 675, 677, 678, 680, 681, 685, 688, 690, 693, 695, 697, 701, 703, 708, 711, 720, 723, 726, 730, 731, 733, 735, 736, 737, 739, 740, 742, 746, 747, 749, 753, 754
- meaning, 209
NumberFormatException
, 489, 492, 493, 499, 500, 504, 511
- meaning, 209
RuntimeException
, 208, 371SecurityException
, 558, 563, 564, 565, 571, 572, 573, 574, 575, 576, 577, 578, 580, 581, 582, 583, 584, 592, 593, 595, 596, 597, 603, 604, 606, 607, 684, 685, 722, 723, 744, 745, 755, 756, 757, 758
- meaning, 209
- standard, 209
- synchronization integrated with mechanism for handling, 202
Throwable
class, 611- thrown for, narrowing reference conversions, 59
uncaughtException
method, when invoked, 202
- execution
- See also declarations; evaluation; initialization; linking; loading
- (chapter), 215
exec
method, of class Runtime
, 564- order, thread rules, 403
- of statements for their effect, 263
- exists method
- of class
File
, 755
- exit
exit
method
- of class
Runtime
, 563 - of class
System
, 582
exitValue
method, of class Process
, 562- virtual machine, criteria for, 235
- expressions
- See also fields; methods; statements
- abrupt completion of, as reason for abrupt statement completion, 265
- additive operators
- evaluation, 355
- for numeric types, evaluation, 358
- array
- access, evaluation, 341
- assignment, evaluation, 370, 375
- creation, evaluation of, 315
- assignment
- conversion, 61
- definite assignment, 391
- operators, evaluation, 369
- as statements, 272
- bitwise
- binary operators, evaluation, 365
- complement, evaluation, 349
- boolean
- assignment, definite assignment, 390
- constant, definite assignment, 386
- operators
!
, definite assignment, 387!=
, definite assignment, 389&
, definite assignment, 387&&
, definite assignment, 386==
, definite assignment, 389? :
, definite assignment, 389^
, definite assignment, 388|
, definite assignment, 388||
, definite assignment, 387- equality, evaluation, 364
- logical, evaluation, 365
- boolean-valued, definite assignment, 386
- cast, evaluation, 350
- (chapter), 301
- compound, assignment operators, evaluation, 375
- conditional
- and operator
&&
, evaluation, 366 - operator
? :
- definite assignment, 390
- evaluation, 367
- or operator
||
, evaluation, 367
- definite assignment and, 386
- division, evaluation, 352
- equality operators, evaluation, 363
- field access, evaluation of, 319
- instance creation
- evaluation of, 314
- as statements, 272
- integer bitwise operators, evaluation, 366
- LALR(1) grammar productions, 450
- logical
- comparison operators, evaluation, 365
- complement
!
, evaluation, 350
- method invocation
- evaluation, 323
- evaluation order, 333
- as statements, 272
- multiplication
*
, evaluation, 351 - multiplicative operators
*
, /
, &
, evaluation, 351 - names
- context in which a name is classified as, 91
- qualified, meaning of, 96
- simple, meaning of, 95
- numeric
- comparison, evaluation, 361
- equality operators, evaluation, 363
- operators
++
, definite assignment, 392--
, definite assignment, 392- precedence, evaluation, 308
- parenthesized
- evaluation of, 313
- evaluation of, precedence effect of, 308
- post-decrement
--
- evaluation of, 345
- as statements, 272
- post-increment
++
- evaluation of, 345
- as statements, 272
- postfix, evaluation, 344
- pre-decrement
--
- evaluation of, 348
- as statements, 272
- pre-increment
++
- evaluation of, 348
- as statements, 272
- primary, evaluation of, 311
- See also arrays, access expressions; arrays, creation; fields, access expressions; instance, creation; literals; expressions, parenthesized; methods, invocations;
this
keyword
- reference equality operators
==
, !=
, evaluation, 364 - relational operators
<
, >
, <=
, >=
, evaluation, 361 - remainder
%
, evaluation, 353 - run-time checks of, 302
- semantics and evaluation rules, (chapter), 301
- shift operators
<<
, >>
, >>>
, evaluation, 359 - simple assignment operator
=
, evaluation, 370 - statements
- definite assignment, 394
- specification, 272
- string concatenation
+
, evaluation, 355 - superclass access, evaluation, 322
- type
- comparison
instanceof
, evaluation, 362 - how determined, 47
- usage in, 43
- vs. class of object, 47
- unary
- minus
-
, evaluation, 349 - operators, evaluation, 346
- plus
+
, evaluation, 349
- values, variables as, 302
- extends clause
- See also classes; implements; object-oriented concepts
- in class declaration, specifying direct superclasses with, 133
- in interface declaration, 185
F
- FALSE field
- of class
Boolean
, 469
- Feeley, Mark, 206
- Fibonacci numbers, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610
- fields
- See also classes; constants; instances; interfaces; methods; variables
- access control
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
- access expressions, evaluation, 319
- of an array, 197
- of a class
- binary compatibility considerations, 249
- declarations, 143
- examples of, 151
final
, 146
- binary compatibility considerations, 250
volatile
declaration not permitted for, 148
- multiply inherited, example of, 153
- non-
static
- default values, 46
- explicit constructors not permitted to use, 179
- hiding example, 152
- initialization of, 149
- initializers for, 150
- invocation of initializers during instance creation, 229
- specification, 44
- reinheritance of, example, 154
static
- and
final
, binary compatibility considerations, 251 - binary compatibility considerations, 253, 259
- hiding of, example, 151
- initialization of, 149, 175
- initialization of, during the preparation phase of linking, 221
- specification, 44
- term definition and declaration, 145
transient
, 147
- binary compatibility considerations, 253
volatile
, 147
- binary compatibility considerations, 253
final
declaration not permitted for, 148
- declarations
- as declared entity, 78
- binary compatibility considerations, 260
- grammar specification difficulties, 437
- LALR(1) grammar productions, 443
- hidden
- accessing using cast, 323
- accessing with
super
keyword, 322this
keyword, 269
- of an interface
- ambiguous inherited example, 188
- binary compatibility considerations, 251
- declarations, 186, 187
- examples, 188
- initialization, 187
- during the preparation phase of linking, 221
- multiply inherited example, 188
public
by default, 187
length
, as member of an array, 88- as members
- of a class, 86
- of an interface, 87
- names, naming conventions, 109
NoSuchFieldError
class, 611public
, by default in interface declaration, 187- references, active use, 224
- scope of, 81
- Fifth Dimension, 317
- files
- See also I/O; input; output; streams
- binary, format, 238
File
class, 752, 753FileInputStream
class, 684FilenameFilter
interface, 759FileOutputStream
class, 722RandomAccessFile
class, 743- standard
System.err
, 580System.in
, 579System.out
, 580
- standard exceptions
EOFException
, 210, 762FileNotFoundException
, 210, 763InterruptedIOException
, 210, 764IOException
, 210, 261
- systems, storing packages in, 115
- fillInStackTrace method
- of class
ThreadGroup
, 613
- filters
FilterInputStream
class, 696FilterOutputStream
class, 730
- Finagle's Law, 201
- final modifier
- See also declarations; modifiers
- classes
- binary compatibility considerations, 242
- declaration of, 133
- fields
- binary compatibility considerations, 250
- declaration and use, 146, 186
final
by default in, interface, declaration, 187volatile
declaration not permitted for, 148
- methods
- binary compatibility considerations, 255
- declaration and use, 160
- not permitted in interface method declarations, 189
- reasons why constructors cannot be, 178
- finalization
- See also exceptions; linking
- of classes, 235
- finalizable, as object attribute, 232
finalize
method
- as member of
Object
class, 41 - of class
FileInputStream
, 686 - of class
FileOutputStream
, 724 - of class
Object
, 463
- finalized, as object attribute, 232
- finalizer
- method calls, unordered nature of, 234
- finalizer-reachable, as object attribute, 232
finally
clause, exception handling use, 204- implementing, 232
- of instances, 231
- implementation procedures, 232
- unloading implications, 235
- findSystemClass method
- of class
ClassLoader
, 560
- first cat, 126
- firstElement method
- of class
Vector
, 657
- fish
- relationship to pianos and stringed instruments, 137
- Fitzgerald, F. Scott, 635
- float type, 30
- See also floating point
- floating-point
- See also arithmetic; numbers; types
- algebraic identities, limits on use of, 308
Double
class, 308, 510Float
class, 503
float
type, floating-point literal specification, 22, 30floatToIntBits
method, of class Float
, 508floatValue
method
- of class
Double
, 512 - of class
Float
, 505 - of class
Integer
, 490 - of class
Long
, 497 - of class
Number
, 487
- literals
- largest and smallest, 22
- term definition and specification, 22
Long
class, 495- operations, 34
- required behavior, 34, 35
- types and values, term definition and specification, 33
- floor method
- of class
Math
, 524
- flow analysis
- See also security
- conservative, required for definite assignment of local variables, 383
- flush method
- of class
BufferedOutputStream
, 733 - of class
DataOutputStream
, 735 - of class
FilterOutputStream
, 731 - of class
OutputStream
, 721 - of class
PrintStream
, 739
- Foote, Samuel, 290
- for statement
- definite assignment, 396
- ForInit part
- initialization by, 281
- scope of local variable declared in, 82
- header, local variable declaration in, 266
- specification, 280
- forDigit method
- of class
Character
, 486
- form feed
- escape sequence, 27
- formal parameter
- See parameters
- Forman, Ira, 237
- format
- See also binary, compatibility
- binary, properties of, 238
- forName method
- of class
Class
, 468
- forward reference
- See also scope
- compile-time error in
- class variable initialization, 149
- instance variable initialization, 150
- to types allowed before declaration, 82
- Franklin, Benjamin, 215
- freeMemory method
- of class
Runtime
, 565
- Frost, Robert
- Generations of Men, 299
- Line-gang, 415
- Mending Wall, 183
- Mountain, 295
- Fuller, Thomas, 823
G
- Gabriel, Richard P., 6, 92
- Gauss, Carl Friedrich, 42, 196, 650
- gc method
- See also memory
- of class
Runtime
, 566 - of class
System
, 583
- Geisel, Theodore, 125
- generation
- code, see code generation
- get
get
method
- of class
BitSet
, 620 - of class
Dictionary
, 633 - of class
Hashtable
, 637
getAbsolutePath
method, of class File
, 755getBoolean
method, of class Boolean
, 470getBytes
method, of class String
, 536getChars
method
- of class
String
, 536 - of class
StringBuffer
, 552
getClass
method, of class Object
, 458getClassContext
method, of class SecurityManager
, 571getClassLoader
method, of class Class
, 468getDate
method, of class Date
, 627getDay
method, of class Date
, 627getErrorStream
method, of class Process
, 561getException
method, of class ExceptionInInitializerError
, 614
getFD
method
- of class
FileInputStream
, 685 - of class
FileOutputStream
, 723 - of class
RandomAccessFile
, 745
getFilePointer
method, of class RandomAccessFile
, 745getHours
method, of class Date
, 628getInCheck
method, of class SecurityManager
, 572getInputStream
method, of class Process
, 561getInteger
method, of class Integer
, 493getInterfaces
method, of class Class
, 467getLineNumber
method, of class LineNumberInputStream
, 709getLocalizedInputStream
method, of class Runtime
, 567getLocalizedOutputStream
method, of class Runtime
, 568getLong
method, of class Long
, 501getMaxPriority
method, of class ThreadGroup
, 607getMessage
method, of class ThreadGroup
, 612getMinutes
method, of class Date
, 628getMonth
method, of class Date
, 627getName
method
- of class
Class
, 466 - of class
File
, 755 - of class
Thread
, 596 - of class
ThreadGroup
, 605
getOutputStream
method, of class Process
, 561getParent
method
- of class
File
, 755 - of class
ThreadGroup
, 605
getPath
method, of class File
, 755getPriority
method, of class Thread
, 597getProperties
method, of class System
, 581getProperty
method
- of class
File
, 753 - of class
Properties
, 640 - of class
System
, 582
getRuntime
method, of class Runtime
, 563getSeconds
method, of class Date
, 628getSecurityManager
method, of class System
, 580getSuperclass
method, of class Class
, 467
getThreadGroup
method, of class Thread
, 597getTime
method, of class Date
, 629getTimezoneOffset
method, of class Date
, 630getYear
method, of class Date
, 626
- Gilbert, W. S., 181
- goal symbols
- CompilationUnit, 117
- syntactic grammar use, 8
- Input, lexical grammar use, 7
- good fences, 183
- goto statement
- See labeled statements
- gradual underflow
- See also exceptions; floating-point; IEEE 754 standard; numbers
- support required for, 34
- grammars
- See also languages; lexical; semantics
- (chapter), 7
- context-free, term definition, 7
- difficulties with, as given in body of Java Language Specification, 433
if
statement, dangling else
handling, 270- LALR(1), (chapter), 433
- lexical
- (chapter), 11
- term definition, 7
- modifier specification difficulties, 435
- name specification difficulties, 433
- notation, 8
- one-token lookahead, primary expression evaluation implications, 311
- syntactic, 8
- LALR(1) grammar, 440
- term definition, 8
- groups method
- of class
ThreadGroup
, 608
- groupsCount method
- of class
ThreadGroup
, 608
H
- Hammerstein, Oscar, II, 126
- Harbison, Samuel, 6, 543
- Harding, Warren G., 291
- Hardy, Godfrey Harold, 224
hasChanged
method
- of class
Observable
, 644
- hashtables
- See also data, structures
clear
method, of class Hashtable
, 638clone
method, of class Hashtable
, 636contains
method, of class Hashtable
, 637containsKey
method, of class Hashtable
, 637elements
method, of class Hashtable
, 637get
method, of class Hashtable
, 637hashCode
method, 41
- of class
BitSet
, 619 - of class
Boolean
, 470 - of class
Character
, 474 - of class
Date
, 626 - of class
Double
, 512 - of class
File
, 754 - of class
Float
, 505 - of class
Integer
, 489 - of class
Long
, 496 - of class
Object
, 459 - of class
String
, 535
Hashtable
class, 635isEmpty
method, of class Hashtable
, 636keys
method, of class Hashtable
, 637put
method, of class Hashtable
, 637rehash
method, of class Hashtable
, 637remove
method, of class Hashtable
, 637size
method, of class Hashtable
, 636toString
method, class Hashtable
of, 636
- hasMoreElements method
- of class
StringTokenizer
, 653 - of interface
Enumeration
, 617
- hasMoreTokens method
- of class
StringTokenizer
, 652
- haveNextNextGaussian field
- of class
Random
, 647
- hexadecimal
- See also numbers
- base, permitted in integer literals, 19
- numerals, specification, 20
- hiding
- See also scope
- absence of by statement labels, 272
- by class methods, 165
- of field declarations, in superclasses and superinterfaces, 144
- hidden class methods, invocation of, example, 171
- method
- example, 168
- impact on checked exceptions, 164
- requirements, 166
- names, 83
- by local variables, 269
- package, 120
- vs. overriding, example, 170
- term definition, 144
- of variables
- class, example of, 151
- instance, example of, 152
- hierarchy
- exception, 208
- Higginson, Thomas Wentworth, 186
- Hoare, C. A. R., 1, 419, 6
- horizontal tab
- escape sequence, 27
- hosts
- environment inquiries, see
Runtime
class - package support by, 115
- standard exceptions,
UnknownHostException
, 211
- HTML (Hypertext Markup Language)
- generation through documentation comments
- (chapter), 419
- example, 423
- Hyman, Rob, 610
I
- I/O
- See also files
java.io
package, (chapter)- standard exceptions
EOFException
, 210InterruptedIOException
, 210IOException
, 210
- identifiers
- See also fields; names; scope; variables
- characteristics of those that are not names, 79
- in labeled statements, distinguished from those in declarations, 80
- term definition and specification, 17
- as token, 17
- identity
- conversion
- in assignment conversion context, 61
- in casting conversion context, 67
- in method invocation conversion context, 66
- specification, 54
IEEE 754 standard, 6
- IEEE 754 standard
- See also numbers
- compliance, narrowing conversion from double to float, 57
- floating-point
- conversion of numbers to, 22
- types conformance to, 33
- IEEEremainder method
- of class
Math
, 524
- if statements
- See also statements
- dangling
else
, handling of, 270 - definite assignment, 394
if-then
statement, specification, 273if-then-else
statement, specification, 274- specification, 273
- IllegalAccessError class, 611
- IllegalAccessException class, 611
- IllegalArgumentException class, 611
- IllegalThreadStateException class, 611
- implement
- See also classes;
extends
clause; interfaces implements
clause, 185
- class declaration, specifying direct superinterfaces with, 135
- term definition, 135, 87
- import
- See also packages; scope
- automatic, 122
- declarations
- example, 123
- single-type, 121
- term definition, 120
- type-import-on-demand, 122
- imported types
- as declared entity, 78
- scope of, 81
- in field
- of class
FileNameDescriptor
, 760 - of class
FilterInputStream
, 696 - of class
System
, 579
- inCheck field
- of class
SecurityManager
, 570
- inClass method
- of class
SecurityManager
, 571
- inClassLoader method
- of class
SecurityManager
, 572
- IncompatibleClassChangeError class, 611
- index entries
- bogus
- Fibonacci numbers, 783
- prime numbers, 801
- warp factors, 820
- obscure
- Bell, Alexander Graham, 769
- Bovik, Harry, 770
- Fifth Dimension, 784
- first cat, 784
- Gauss, Carl Friedrich, 785
- Hardy, Godfrey Harold, 786
- make it so, 793
- Marx, Chico, 794
- Marx, Groucho, 794
- panjandrum, 800
- Ramanujan, Srinivasa, 803
- razor, 803
- Saturday Night Live, 805
- Tokens, The, 817
- virtue, 820
- warp factors, 820
- self-referential
- index entries, 788
- not, see Russell's paradox
- self-reference, 805
- Star Trek, 808
- silly
- banana-fana, 769
- bear, 769
- brown paper packages, 770
- butter, 770
- cuspidor, 776
- good fences, 786
- mighty minds, 796
- mystic evolution, 796
- one too many, 798
- spittoon, 807
- sweat, 810
- indexing
- of arrays, 195
indexOf
method
- of class
String
, 540 - of class
Vector
, 659
IndexOutOfBoundsException
class, 611
- inexact results
- See also numbers
- rounding behavior, 35
- infinity
- See also number
isInfinite
method
- in class
Double
, 23 - in class
Float
, 23
- Java representation of, 23
NEGATIVE_INFINITY
field
- in class
Double
, 23 - in class
Float
, 23
POSTIVE_INFINITY
field
- in class
Double
, 23 - in class
Float
, 23
- signed, produced by floating-point overflow, 35
- inheritance
- See also object-oriented concepts; scope
- in class
- examples of, 139
- of members, 138
- of members, with
public
, protected
, and private
access, examples, 141 private
, example, 141protected
, example, 141public
, example, 141- with default access, example, 140
- of fields
- in class declarations
- multiply inherited from interfaces, example of, 153
- reinheritance of, example of, 154
- in interface declarations
- ambiguous inherited, example, 188
- multiply inherited, example, 188
- of members, 85
- in interface declarations, 186
- of methods
- in class declarations, 165
- with the same signatures, 166
- in interface declarations, 189
- multiple
- See also superinterfaces
- example, 137
- term definition, 85
- initialization
- See also control flow; linking
- of arrays
- in creation, to default value, 317, 46
- using array initializers, 196
- of classes, 223
- detailed procedure, 225
- detailed procedure, 225
- of fields
- in classes, 149
- in interfaces, 187
- of
for
statement, 281 - of interfaces, 223
- detailed procedure, 225
- standard exceptions,
ExceptionInitializerError
, 212 - of types, when it occurs, 223
- for variables, array, 194
- initializers
- See also creation; execution
- arrays, 196
ExceptionInInitializerError
class, 611, 614- executing, in
Test
class example initialization, 217 - for fields
- in class, 149
- in interface, 187
- static, 149, 175
- binary compatibility considerations, 259
- LALR(1) grammar productions, 444
- for variables
- class, 149
- during class or interface initialization, 149
- instance, 150
- during instance creation, 229
- input
- See also files; output; streams
BufferedInputStream
class, 699ByteArrayInputStream
class, 689- elements, term definition, 14
FileInputStream
class, 684FilterInputStream
class, 696- Input goal symbol, lexical grammar use, 7
InputStream
class, 680LineNumberInputStream
class, 707PipedInputStream
class, 687PushbackInputStream
class, 710SequenceInputStream
class, 694StringBufferInputStream
class, 692- tokens, 14
- insert method
- of class
StringBuffer
, 555
- insertElementAt method
- of class
Vector
, 657
- instance(s)
- See also classes; interfaces; object-oriented concepts
- creation, 228, 38
- constructor
- invocation by creation expressions, 177
- parameter assignment during, 228
- use in, 176
- expression evaluation, 314
- order, 315
- expressions as statements, 272
- invocation of initializers for instance variables during, 229
- method dispatching during, 230
- finalization of, 231
- implementation procedures, 232
instanceof
operator
- testing expression types with, 303
- testing expressions with, 303
- instantiation
InstantiationError
class, 611InstantiationException
class, 611- preventing, with
private
constructors, 132, 180
- methods, see methods, non-
static
- standard exceptions,
InstantiationException
, 131, 210 - variables, see fields, class, non-
static
- instanceof operator
- testing expression types with, 303
- integers
- See also arithmetic; integral types; numbers
- converting to boolean values, 37
intBitsToFloat
method, of class Float
, 508Integer
class, 488intValue
method
- of class
Double
, 512 - of class
Float
, 505 - of class
Integer
, 489 - of class
Long
, 496 - of class
Number
, 487
- literals
- longest permitted, 21
- term definition and specification, 19
- operations, 31
- integral types
- See also arithmetic; 31numbers; 31types; 31
byte
type, 30
- value range, 31
char
type, 30
- value range, 31
int
type, 30
- value range, 31
long
type, 30
- value range, 31
short
type, 30
- value range, 31
- values and operations, 31
- interfaces
- See also class(es); fields; methods; packages; subclasses; superclasses; superinterfaces
abstract
methods, 190, 191- accessibility, 99
- as array element types, 194
- binary compatibility considerations, 259
- binary representation
- binary file format requirements, 240
- verification of, 220
- body, declarations, 185
Cloneable
, implemented by arrays, 198- declarations, 184
- (chapter), 183
- LALR(1) grammar productions, 445
- as members of packages, 85
- as declared entity, 78
- fields
- binary compatibility considerations, 251
- declarations, 186
- examples, 188
- inheritance
- ambiguous, 188
- multiply, 188
- initialization, 187
- initialization, 223
- detailed procedure, 225
- linking, process description, 220
- loading, 218
- process description, 219
- members, 87
- binary compatibility considerations, 260
- declarations, 185
- inheritance from superinterfaces, 186
- names, access to, 186
- methods
- declarations, examples, 190
- overloading, 190
- examples, 191
- overriding, 189
- examples, 190
- names
- fully qualified, 105
- naming conventions, 108
- as package members, 85
- preparation of, 221
- process description, 219
public
- binary compatibility considerations, 259
- declaration, 184
- references to, binary file format requirements, 239
- scope of, 184, 81
- standard,
Cloneable
, implemented by arrays, 198 - superinterfaces
- binary compatibility considerations, 243
- of a class, 135
- declaration of, 135
- unloading of, 235
- intern method
- of class
String
, 547
- InternalError class, 611
- internationalization
- See Unicode character set
- interrupt method
- of class
Thread
, 599
- interrupted method
- of class
Thread
, 599
- InterruptedException class, 611
- invocation
- of constructors
- expression evaluation, 314
- expression evaluation, order, 315
- in creation of new class instances, 228
- language constructs that result in, 177
- of hidden class methods, example, 171
- of methods
- conversion, 66
- expression evaluation, 323
- order, 333
- how chosen, 303
- isAbsolute method
- of class
File
, 755
- isAlive method
- of class
Thread
, 598
- isDaemon method
- of class
Thread
, 597 - of class
ThreadGroup
, 607
- isDefined method
- of class
Character
, 474
- isDigit method
- of class
Character
, 478
- isDirectory method
- of class
File
, 756
- isEmpty method
- of class
Dictionary
, 633 - of class
Hashtable
, 636 - of class
Vector
, 658
- isFile method
- of class
File
, 756
- isInfinite method
- of class
Double
, 515 - of class
Float
, 508
- isInterface method
- of class
Class
, 467
- isInterrupted method
- of class
Thread
, 599
- isJavaLetter method
- of class
Character
, 482
- isJavaLetterOrDigit method
- of class
Character
, 482
- isLetter method
- of class
Character
, 479
- isLetterOrDigit method
- of class
Character
, 480
- isLowerCase method
- of class
Character
, 476
- isNaN method
- of class
Double
, 514 - of class
Float
, 507
- isSpace method
- of class
Character
, 482
- isTitleCase method
- of class
Character
, 478
- isUpperCase method
- of class
Character
, 477
- iteration
- See also control structures
continue
statement, use with, 285do
statement, specification, 279for
statement, specification, 281while
statement, specification, 277
J
- Java
- See also grammars; languages; lexical; semantics; syntax
- digits, term definition, 17
java.io
package
- classes, methods, and fields (chapter), 665
- exceptions, 210
java.lang
package
- classes, methods, and fields (chapter), 455
- exceptions, 209
public
type names automatically imported from, 122public
types defined in, list of, 123
java.net
package, exceptions, 211.java
suffix, as name for source files, 116java.util
package, classes, methods, and fields (chapter), 615
- JDK (Java Developer's Kit), package organization, 117
- letters, term definition, 17
- Virtual Machine, see virtual machine
- Johnson, Samuel
- harmless drudge, 11
- round numbers, 525
- join method
- of class
Thread
, 598
- Jon L White, 544
K
- Keats, John
- Eve of St. Agnes, 200
- Lamia, 638
- Keene, Sonya E., 6
- Kelvin, Lord (William Thompson), 301
- Kernighan, Brian W., 6
- keys method
- of class
Dictionary
, 634 - of class
Hashtable
, 637
- keywords
- list of, 18
- as token, 7
- Kiczales, Gregor, 6
- Knuth, Donald E., 420, 648, 650
L
- labeled statements
- identifiers in, kept separate from those in declarations, 80
- specification, 271
- LALR(1) (Look Ahead Left Right with 1 token lookahead) grammar
- (chapter), 433
- language
- See also grammars; Java; lexical; semantics; syntax
- Beta, 3, 6
- C, 1, 2, 6
- C++, 1, 2, 6
- CLOS, 4
- Common Lisp, 4, 6
- Dylan, 4, 6
- Mesa, 5, 6
- Modula-3, 3, 6
- term definition, 7
- Lao-Tsu, 77
- lastElement method
- of class
Vector
, 657
- lastIndexOf method
- of class
String
, 542
- of class
Vector
, 660
- lastModified method
- of class
File
, 757
- Lauper, Cyndi, 610
- Layton, Turner, 595
- left-hand side
- term definition, 7
- Lehmer, D. H., 648
- length
- of array, 197
- not part of type, 194
length
field, as member of an array, 88length
method
- of class
File
, 757 - of class
RandomAccessFile
, 746 - of class
String
, 535 - of class
StringBuffer
, 550
- letters
- See also Unicode character set
- Java, term definition, 17
- lexical
- See also semantics; syntax
- grammar
- LALR(1) grammar, 440
- term definition, 7
- structure, (chapter), 11
- translations, steps involved in, 12
- life cycle
- See also objects
- of objects, 233
- line terminators, term definition, 13
- linefeed (LF)
- escape sequence, 27
- handling in a
- character literal, 24
- string literal, 25
- as a line terminator, not input character, 25
- lineno method
- of class
StreamTokenizer
, 719
- LineNumberInputStream class, 707
linking, 220
- linking
- See also exceptions; execution; initialization; loading; run-time
- classes, process description, 220
- errors, 211
- in
Test
class example, at virtual machine startup, 216 - interfaces, process description, 220
- linkage editing, as optimization technique, 222
LinkageError
class, 611UnsatisfiedLinkError
class, 611
list
method
- of class
File
, 757 - of class
Properties
, 642 - of class
ThreadGroup
, 609
- Litchfield, I. W., 517
- literals
- See also constants; fields; variables
- boolean, term definition and specification, 23
- character
- escape sequences for, 26
- term definition and specification, 24
- evaluation of, 312
- floating-point
- largest and smallest permitted, 22
- term definition and specification, 22
- integer
- largest and smallest permitted, 21
- term definition and specification, 19
- null, term definition and specification, 27
- string
- escape sequences for, 26
- term definition and specification, 25
- term definition and specification, 19
- as token, 7
- loading
- See also
ClassLoader
class; execution; linking - classes, 218
ClassLoader
class, 558- errors, 211
- in
Test
class example, at virtual machine startup, 216 - interfaces, 218
load
method
- of class
Properties
, 640 - of class
Runtime
, 567 - of class
System
, 583
loadClass
method, of class ClassLoader
, 559loadLibrary
method
- of class
Runtime
, 567 - of class
System
, 584
- process, 219
- local variables
- See also scope; variables
- declarations
- definite assignment, 393
- statements, 265
- declarators and types, 266
- definite assignment, required for, 383
- hiding of names by, 268
- initial value, 46
- naming conventions, 110
- scope, 267, 82
- specification, 45
- locks
- See also monitors; synchronization; threads
- acquisition and release
- by
synchronized
networks, 161 - by
synchronized
statement, 289
- (chapter), 399
- interaction with variables, rules about, 407
- rules about, 406
- synchronization and, 415
- log method
- of class
Math
, 521
- Long class, 495
- long type, 30
- See also integral types; numbers
- integer literal specification, 20
- value range, 31
- longBitsToDouble method
- of class
Double
, 515
- longValue method
- of class
Double
, 512 - of class
Float
, 505 - of class
Integer
, 489 - of class
Long
, 497 - of class
Number
, 487
- Lowell, James Russell, 417
- lowerCaseMode method
- of class
StreamTokenizer
, 717
- lvalue
- See variables, as value of expression
M
- Madsen, Ole Lehrmann, 6
- magnitude
- loss of information about, possibility of in narrowing primitive conversion, 55
- make it so, 369
- mark method
- of class
BufferedInputStream
, 701 - of class
FilterInputStream
, 697 - of class
InputStream
, 682 - of class
LineNumberInputStream
, 709
- marklimit field
- of class
BufferedInputStream
, 700
markpos
field
- of class
BufferedInputStream
, 700
markSupported
method
- of class
BufferedInputStream
, 702 - of class
FilterInputStream
, 698 - of class
InputStream
, 683 - of class
PushbackInputStream
, 711
- Marsaglia, G., 650
- Marx, Chico
- A Night at the Opera
- commutative diagram, 397
- nested operations, 388
- Marx, Groucho
- club membership, 138
- never forgets a face, 214
- A Night at the Opera
- car, 386
- cdr, 393
- iteration, 388
- recursion, 390
- Math class, 517
- mathematical functions
- See also arithmetic; numbers
Math
class, 517
- max method
- of class
Math
, 529
- MAX_PRIORITY field
- of class
Thread
, 591
- MAX_RADIX field
- of class
Character
, 473
- MAX_VALUE field
- of class
Character
, 473 - of class
Double
, 214, 364, 510, 7, 748 - of class
Float
, 38, 503 - of class
Integer
, 488 - of class
Long
, 495
- Maybury, William, 6
- Melville, Herman, 398
- members
- See also class(es); fields; interfaces; methods
- accessibility of, 99
- arrays, 197, 88
- classes, 138, 86
- binary compatibility considerations, 245
- declarations, 138
- inaccessible, accessing, example, 142
- inheritance, examples, 139, 140
private
, inheritance examples, 141
- inheritance and, 85
- interfaces, 186, 87
- binary compatibility considerations, 260
- declarations, 185
- inheritance, 186
- names, access to, 186
Object
class, 41- packages, 114, 85
- access to, 120
protected
, accessibility of, 100- reference type
- as declared entity, 78
- scope of, 81
- of superclasses, accessing with
super
, 322 - term definition, 85
- memory
gc
method, 583- main, term definition, 401
- master, of variables, term definition, 401
OutOfMemoryError
class, 611- standard exceptions
OutOfMemoryError
, 163, 212, 213, 227, 228OutOfMemoryError
, meaning, 219
- term definition, 401
- working, term definition, 401
- Mesa, 5, 6
method(s), 155
- method(s)
- See also class(es); constructors; control flow; fields; initialization; interfaces
abstract
- binary compatibility considerations, 254
- in classes, 158
- in interfaces, 189, 190
- overloading, 191
- access, binary compatibility considerations, 248
- access control
- default, example, 102
private
, example, 105protected
, example, 104public
, example, 103
- of array, 197
- body, 164
- binary compatibility considerations, 257
- class, see methods,
static
- classes, 160
abstract
, 158- binary compatibility considerations, 253
- body
- declarations, 164
- with no executable code, 164
- constructors compared with, 176
- declarations, 155
- declarations, examples of, 168
final
, 160- hidden, invocation of, 171
- hiding by, 165
- modifiers, 157
native
- declaration, 161
- semicolon as body of, 164
newInstance
, constructor invocation by, 177private
, as implicitly final
, 160- signature, 157
synchronized
, declaration, 161void
, expression return statement not permitted in, 164- with same signature, inheriting, 166
- declarations, 155, 189
- binary compatibility considerations, 253
- grammar specification difficulties, 437
- LALR(1) grammar productions, 444
- as declared entity, 78
- deleting, binary compatibility considerations, 247
- dispatching during instance creation, 230
equals
, 41
- as member of
Object
class, 41
final
, 160
- binary compatibility considerations, 255
finalize
, as member of Object
class, 41getClass
, 41
- as member of
Object
class, 41
hashCode
, 41
- as member of
Object
class, 41
- hiding of, 165
- inheritance
- in arrays, 197
- in classes, 165
- in interfaces, 186
- instance, see method(s), non-
static
; 209 - of interfaces
- declarations, 189, 190
- overloading, 190, 191
- overriding, 189, 190
- semicolon as body of, 164
- invalid arguments to, standard exceptions,
IllegalArgumentException
, 209 - invocation
- See also access control
- conversion, 66
- expression evaluation, 323
- order, 333
- expressions as statements, 272
- how chosen, 303
- as members
- of a class, 86
- of an interface, 87
- method table creation during preparation phase of linking, 221
- names
- context in which a name is classified as, 91
- naming conventions, 108
- qualified, meaning of, 98
- simple, meaning of, 98
native
, 161
- binary compatibility considerations, 256
newInstance
, creating an instance with, 228- non-
static
- instance method as name for, 160
- overriding by, 165
NoSuchMethodError
class, 611NoSuchMethodException
class, 611notify
, as member of Object
class, 41notifyAll
, as member of Object
class, 41- overloading, 167
- binary compatibility considerations, 257
- examples, 168
- overriding, 165
- binary compatibility considerations, 258
- examples, 168, 169, 170, 172, 190
- parameters
- See also arguments; variables
- binary compatibility considerations, 254
- description, 45
- initial value, 46
- specification of, 156
private
, in example of qualified names and access control, 105public
, interfaces, declarations, 189- references to, binary file format requirements, 239
- result type, binary compatibility considerations, 254
- scope of, 81
- signatures, 157
- binary file format requirements, 239
static
, binary compatibility considerations, 256stop
, as asynchronous exception cause, 206synchronized
, 161
- binary compatibility considerations, 256
throws
clause, binary compatibility considerations, 256toString
, as member of Object
class, 41
uncaughtException
- exception handling use, 205
- when invoked, 202
wait
, as member of Object
class, 41
- Michael de Montaigne, 155
- mighty minds, 350
- Mill, John Stuart
- On Liberty
- comments, 308
- parentheses, 308
- min method
- of class
Math
, 528
- MIN_PRIORITY field
- of class
Thread
, 591
- MIN_RADIX field
- of class
Character
, 473
- MIN_VALUE field
- of class
Character
, 473 - of class
Double
, 510 - of class
Float
, 503 - of class
Integer
, 488 - of class
Long
, 495
- Mitchell, James G., 6
- mkdir method
- of class
File
, 757
- mkdirs method
- of class
File
, 757
- modifiers
- See also declarations
- class, 130
- constructor, 177
- declaration, see
abstract
modifierfinal
modifiernative
modifierprivate
modifierprotected
modifierpublic
modifierstatic
modifiersynchronized
modifiertransient
modifiervolatile
modifier
- field, 144
- grammar specification difficulties, 435
- interface, 184
- method, 157
- Modula-3, 3, 6
- Molière, 7
- Møller-Pedersen, Birger, 6
- monitors
- See also locks; synchronization
- term definition, 399
- Moon, David A., 6
- Muller, M. E., 650
- music
- variations on a theme, 137
- mystic evolution, 261
N
- name game, 111
- names
- See also identifiers; scope; Unicode character set
- ambiguous
- handling of, 89, 91
- reclassification of, 91
- (chapter), 77
- class
- naming conventions, 108
- scope of, 130
- conflicts
- See also hiding
- avoiding
- in fields with multiple inheritance, 153
- through context use, 89
- through naming conventions, 106
- constants, naming conventions, 109
- conventions, 106
- impact on name hiding, 84
- expression
- context in which a name is classified as, 91
- qualified, meaning of, 96
- simple, meaning of, 95
- fields, naming conventions, 109
- grammar specification difficulties, 433
- hiding, 83
- interface
- member, access to, 186
- naming conventions, 108
- LALR(1) grammar, 441
- meaning of, determining, 89
- method, 156
- context in which a name is classified as, 91
- naming conventions, 108
- qualified, meaning of, 98
- simple, meaning of, 98
- package
- context in which a name is classified as, 90
- hiding, 120
- in compilation units, 118
- limited significance for access control, 115
- naming conventions, 107
- qualified, meaning of, 93
- scope of, 120
- simple, meaning of, 93
- unique, 125
- importance of, 125
- parameters, naming conventions, 110
- qualified
- access control and, 99
- fully, 105
- term definition, 79
- resolving references to, during resolution phase of linking, 221
- restrictions, types and subpackages, 114
- rules on being the same
- class members, 86
- fields, 86
- interface fields, 87
- methods, 87
- simple
- scope of, 81
- term definition, 79
- as subset of identifiers, 79
- syntactic
- categories, 89
- classification of according to context, 90
- term definition, 79
- type
- context in which a name is classified as, 90
- interface, scope of, 184
- qualified, meaning of, 94
- simple, meaning of, 93
- variables, local, naming conventions, 110
- NaN (Not-a-Number)
- See also numbers
- comparison results, 35
- double, conversion to a float NaN, in narrowing conversion, 57
NaN
field
- of class
Double
, 511 - of class
Float
, 504
- predefined constants representing, 23
- preventing use of algebraic identities in expression evaluation, 308
- term definition and specification, 33
- narrowing
- See also conversion; numbers
- primitive conversions
- in assignment conversion context, 61
- in casting conversion context, 67
- not allowed in method invocation conversion context, reasons for, 66
- specification, 55
- reference conversions, specification, 59
- native modifier
- See also declarations; modifiers
- methods
- binary compatibility considerations, 256
- declaration, 161
- semicolon as body of, 164
- not permitted in interface method declarations, 189
- reasons why constructors cannot be, 178
- NEGATIVE_INFINITY field
- of class
Double
, 511 - of class
Float
, 504
- NegativeArraySizeException class, 611
- network
- standard exceptions
MalformedURLException
, 211ProtocolException
, 211SocketException
, 211UnknownHostException
, 211UnknownServiceException
, 211
- newInstance method
- of class
Class
, 468
- Newton, Sir Isaac, 1
- next method
- of class
Random
, 648
- nextDouble method
- of class
Random
, 649
- nextElement method
- of class
StringTokenizer
, 653 - of interface
Enumeration
, 617
- nextFloat method
- of class
Random
, 649
- nextGaussian method
- of class
Random
, 650
- nextInt method
- of class
Random
, 648
- nextLong method
- of class
Random
, 648
- nextNextGaussian field
- of class
Random
, 647
nextToken
method
- of class
StreamTokenizer
, 717 - of class
StringTokenizer
, 652
-
NoClassDefFoundError class, 611
NoClassDefFoundError
class- non-public
- classes, in example of qualified names and access control, 101
- nonterminal symbols
- See also grammars
- definition of, notation for, 8
- term definition, 7
- NORM_PRIORITY field
- of class
Thread
, 591
- NoSuchElementException class, 664
- NoSuchFieldError class, 611
- NoSuchMethodError class, 611
- NoSuchMethodException class, 611
- Not-a-Number
- See NaN (Not-a-Number)
- notation
- See also names, naming conventions
- grammar, 8
- notification
notify
method, of class Object
, 463notifyAll
method, of class Object
, 463notifyObservers
method, of class Observable
, 644- wait sets and, 416
- null
- literal, term definition and specification, 27
NullPointerException
class, 611- type
- literal as source code representation of the value of, 19
- term definition and specification, 30
- numbers
- See also arithmetic; precision; types
- conversions of and to, see conversions
- errors in handling, see exceptions
- manipulating, see
- arithmetic
- operators
Number
class, 487NumberFormatException
class, 611- numeric promotion
- binary, 74
- specification, 72
- term definition, 52
- unary, 73
- primitive types, see
byte
typechar
typedouble
typefloat
type- floating-point
int
type
- integers
- integral type
long
typeshort
type
Random
class, 646- related types, see
- boolean
- characters
- strings
- nval field
- of class
StreamTokenizer
, 715
- Nygaard, Kristen, 6
O
- object-oriented concepts
- See class(es); encapsulation; fields; inheritance; method(s); objects
- objects
- See also arrays; classes; instances; interfaces; types
Class
, array, 199- fields that reference,
final
modifier effect on changes to, 146 - finalization attributes, 232
- have classes, while variables have types, 47
- life cycle of, 233
Object
class
- no analogue for interfaces, 185
- specification, 199, 40
- with
Class
, 458
- operations on references to, 39
- reachable, finalization implications, 232
- reference, see references
- state
- impact of changes, 39
transient
fields not part of, 147
- term definition and specification, 38
- unreachable, finalization implications, 232
- Observable class, 643
- Observer interface, 645
- Occam, William of, 351
- Occam's razor, 351
- See also optimization
- octal
- See also numbers
- base, permitted in integer literals, 19
- numerals, specification, 20
- one of phrase
- grammar notation use, 10
one too many, 276
- one too many
- operators
- See also constructors; expressions; initialization; methods; numbers
- arithmetic, numeric promotion, specification, 72
- assignment, as only way to change the value of a primitive variable, 31
- binary, evaluation order, 305
- boolean, 36
- compound assignment, evaluation order, 305
- floating-point, 34
- signed infinity produced by overflow, 35
- signed zero produced by underflow, 35
- integer
- divide, divide by zero exception thrown by, 32
- overflow not indicated by, 32
- underflow not indicated by, 32
- integral, 31
- list of, 28
- operands evaluated before, 307
- precedence, in expression evaluation, 308
- on reference types, 39
- remainder, divide by zero exception thrown by, 32
- string concatenation
- constructor invocation by, 177
- creating new instances with, 38
- thread, term definitions, 401
- opt subscript
- grammar notation use, 8
- optimization
- during
- class loading, techniques for, 219
- preparation phase of linking, 221
- resolution phase of linking, 221
final
method inlining, 160- finalization, 232
- reachable objects reduction, 232
- linking
- initialization phase of, 227
- linkage editing, 222
- resolution strategies, 220
- optional symbol
- term definition, 8
- or method
- of class
BitSet
, 621
- order
- evaluation
- arguments lists left-to-right, 305
- binary operators, 305
- compound assignment, 305
- left-hand operand first, 305
- operands evaluated before operations, 307
- of other expressions, 310
- parentheses and precedence respected, 308
- execution, thread rules, 403
- field initialization, at run-time, 187
- finalizer invocations, implications of no ordering imposition, 234
- of floating-point values, 33
- of occurrence, of initialization of types, 223
- thread interaction, consequences of, 400
- ordinaryChar method
- of class
StreamTokenizer
, 716
- ordinaryChars method
- of class
StreamTokenizer
, 716
- origin
- of arrays, 195
- out field
- of class
FileNameDescriptor
, 760 - of class
FilterOutputStream
, 730 - of class
System
, 580
- OutOfMemoryError class, 611
- output
- See also files; input; streams
BufferedOutputStream
class, 732ByteArrayOutputStream
class, 727FileOutputStream
class, 722FilterOutputStream
class, 730OutputStream
class, 720PipedOutputStream
class, 725
- overflow
- See also arithmetic; exceptions; numbers
- floating-point operators, signed infinity produced by, 35
- not indicated by integer operators, 32
- overloading
- See also object-oriented concepts; inheritance; methods
- of
abstract
interface methods
- declarations, 190
- examples, 191
- of constructors, 180
- binary compatibility considerations, 257
- of methods, 167
- binary compatibility considerations, 257
- example, 168
- term definition, 167, 87
- overriding
- See also object-oriented concepts; scope
- examples, 168, 169, 170, 172, 190
- incorrect, 169
- vs. hiding, example, 170
- incorrect because of
throws
, example, 174 - large example, 172
- methods
abstract
- in
abstract
classes, 158 - of non-
abstract
instance methods, 159
- binary compatibility considerations, 258
- in interfaces, 189
- example, 190
- instance, 165
- requirements in, 166
- term definition, 87
- Ozymandias, 353
P
- packages
- binary compatibility considerations, 242
- (chapter), 113
- declarations, in compilation units, 118
- as declared entity, 78
- host support for, 115
- importing all
public
types from a, 122 - LALR(1) grammar, 442
- members, 114
- access to, 120
- members of, 85
- named, in compilation units, 118
- names
- context in which a name is classified as, 90
- fully qualified, 105
- hiding, 120
- naming conventions, 107
- qualified, meaning of, 93
- scope of, 120
- simple, meaning, 93
- unique, 125
- unique, importance of, 125
- scope of, 81
- standard
java.io
- package (chapter), 665
- checked exceptions defined in, 210
java.lang
- checked exceptions defined in, 210
- package (chapter), 455
- unchecked exceptions defined in, 209
java.net
- checked exceptions defined in, 211
java.util
- package (chapter), 615
- unchecked exceptions defined in, 209
- storing in a
- database, 117
- file system, 115
- term definition, 114
- unnamed, in compilation units, uses and cautions, 119
- Paine, Thomas
- American Crisis
- shift for yourselves, 650
- times that try men's souls, 290
- Common Sense, mind of the multitude, 650
- panjandrum, 290
- parameter(s)
- See also modifiers; variables
- constructor, 177
- assignment during instance creation, 228
- binary compatibility considerations, 254
- description, 45
- initial value, 46
- scope, 82
- as declared entity, 79
- exception
- description, 45
- initial value, 46
- scope, 291, 82
- method
- binary compatibility considerations, 254
- description, 45
- initial value, 46
- specification of, 156
- names, naming conventions, 110
@param
tag, specification, 422- scope of, 81, 82
- types, method invocation conversion context, 66
- parentOf method
- of class
ThreadGroup
, 605
- parse method
- of class
Date
, 631
- parseInt method
- of class
Integer
, 492
- parseLong method
- of class
Long
, 499
parseNumbers
method
- of class
StreamTokenizer
, 716
Partridge, Eric, 127
- Partridge, Eric
- pathSeparator field
- of class
File
, 753
- pathSeparatorChar field
- of class
File
, 753
- pearls, 417
- peek method
- of class
Stack
, 661
- Peirce, Charles, 383
- Peretti, Hugo E., 28
- performance
- See optimization
- PI field
- of class
Math
, 518
- PipedInputStream class, 687
- PipedOutputStream class, 725
- platform-dependent
native
methods are, 161
- pointers
- See references
NullPointerException
class, 611
- polling
- for asynchronous exceptions, 206
- pop method
- of class
Stack
, 661
- pos field
- of class
BufferedInputStream
, 700 - of class
ByteArrayInputStream
, 689 - of class
StringBufferInputStream
, 692
- POSITIVE_INFINITY field
- of class
Double
, 511 - of class
Float
, 504
- pow method
- of class
Math
, 522
- precedence
- See also expressions
- of operators, in expression evaluation, 308
- precise
- term definition, 205
- precision
- See also numbers
- possible loss of
- in narrowing primitive conversion, 55
- in widening primitive conversion, 54
- preparation
- of classes, 221
- in
Test
class example, at virtual machine startup, 216 - of interfaces, 221
- standard exceptions,
AbstractMethodError
, 212
- prescient store
- actions, with threads, 408
- preventing
- instantiation, 180
- with private constructors, 132
- prime numbers, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823
- primitive
- See also numbers
- conversion
- narrowing, 55
- in assignment conversion context, 61
- in casting conversion context, 67
- not allowed in method invocation conversion context, reasons for, 66
- widening, 54
- in assignment conversion context, 61
- in binary numeric promotion context, 74
- in casting conversion context, 67
- in method invocation conversion context, 66
- in unary numeric promotion context, 73
- types
- as array element types, 194
- changing value of variables, 31
- fully qualified name for, 105
- literal as source code representation of the value of, 19
- narrowing conversions, specification, 55
- term definition and specification, 30
- variables of, specification, 44
- widening conversions, specification, 54
- printing
print
method, of class PrintStream
, 740println
method, of class PrintStream
, 741printStackTrace
method, of class ThreadGroup
, 613PrintStream
class, 738- See Also output
- Prior, Matthew, 529
- priority
- thread, 415
- private modifier
- See also declarations; modifiers
- access
- determining, 99
- inheritance of class members, example, 141
- constructors
- access control, example, 105
- preventing instantiation with, 132
- fields, access control, example, 105
- inheritance with, example, 141
- methods
abstract
not permitted with, 158- access control, example, 105
- as implicitly
final
, 160 - in example of qualified names and access control, 105
- overriding and hiding not possible with, 166
- preventing instantiation by declaring constructors as, 180
- Process class, 561
- productions
- LALR(1) grammar
- arrays, 446
- blocks, 446
- class declarations, 443
- constructor declarations, 445
- expressions, 450
- field declarations, 443
- interface declarations, 445
- method declarations, 444
- statements, 446
- static initializers, 444
- those used only in, 442
- term definition, 7
- programming practices
- cautions, unnamed package use, 119
- promotion
- See also numbers
- (chapter), 51
- numeric, 72
- binary, 74
- specification, 74
- specification, 72
- term definition, 52
- unary, 73
- specification, 73
- properties
Properties
class, 639propertyNames
method, of class Properties
, 640
- protected modifier
- See also declarations; modifiers
- access, 100, 99
- inheritance of class members, example, 141
- constructors, access control, example, 104
- fields, access control, example, 104
- inheritance with, example, 141
- methods, access control, example, 104
- protocols
- standard exception,
ProtocolException
, 211
public
modifier
- See also declarations; modifiers
- access, 99
- inheritance of class members, example, 141
- classes
- access control in, 99
- binary compatibility considerations, 243
- in example of qualified names and access control, 101
- constructors, access control, example, 103
- fields
- access control, example, 103
- interface, implicit in declaration, 187
- inheritance with, example, 141
- interfaces
- binary compatibility considerations, 259
- declaration, 184
- methods
- access control, example, 103
- in interfaces, implicit in declaration, 189
- superclasses, accessing instances of non-public subclasses through, 142
- superinterfaces, accessing instances of non-public subclasses through, 142
- types
- defined in
java.lang
, list of, 123 - importing from a package, with type-import-on-demand, 122
push
method
- of class
Stack
, 661
- pushBack field
- of class
PushbackInputStream
, 710
- pushBack method
- of class
StreamTokenizer
, 718
- PushbackInputStream class, 710
- put method
- of class
Dictionary
, 634 - of class
Hashtable
, 637
Q
- qualified
- See also access; scope
- access, term definition, 99
- names
- access control and, 99
- expression, meaning of, 96
- fully, 105
- method, meaning of, 98
- not permitted with parameters, 157
- package, meaning of, 93
- term definition, 79
- type, meaning of, 93
- Quayle, J. Danforth, 202
- quoteChar method
- of class
StreamTokenizer
, 716
R
- Ramanujan, Srinivasa, 224
- Random class, 646
- random method
- of class
Math
, 526
- RandomAccessFile class, 743
- Raper, Larry, 237
- razor, 351
- reachable
- See also scope
- objects
- finalization implications, 232
- unloading implications, 235
- term definition, 232
- read
- See also input
read
method
- of class
BufferedInputStream
, 700 - of class
ByteArrayInputStream
, 690 - of class
FileInputStream
, 685 - of class
FilterInputStream
, 696 - of class
InputStream
, 680 - of class
LineNumberInputStream
, 707 - of class
PipedInputStream
, 688
- of class
PushbackInputStream
, 710 - of class
RandomAccessFile
, 746 - of class
SequenceInputStream
, 694 - of class
StringBufferInputStream
, 693
readBoolean
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 747 - of interface
DataInput
, 669
readByte
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 747 - of interface
DataInput
, 669
readChar
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 670
readDouble
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 749 - of interface
DataInput
, 671
readFloat
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 671
readFully
method
- of class
DataInputStream
, 703 - of class
RandomAccessFile
, 746 - of interface
DataInput
, 668
readInt
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 670
readLine
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 749 - of interface
DataInput
, 672
readLong
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 671
readShort
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 670
readUnsignedByte
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 747 - of interface
DataInput
, 669
readUnsignedShort
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 748 - of interface
DataInput
, 670
readUTF
method
- of class
DataInputStream
, 705 - of class
RandomAccessFile
, 749 - of interface
DataInput
, 672
- recursive, term definition, 8
- references
- See also expressions; types
- conversions
- narrowing, 59
- widening, 58
- in assignment conversion context, 61
- in casting conversion context, 67
- in method invocation conversion context, 66
- to fields, active use, 224
- forward
- compile-time error
- in class variable initialization, 149
- in instance variable initialization, 150
- permitted in
- class type usage, 130
- interface type usage, 184
- object, value of array variables as, 194
- operations, 39
- symbolic
- binary file format requirements, 239
- resolution, 221
- code generation implications of, 222
- internal table description, 218
- term definition, 38
- types
- array, 194
- class, see class
- criteria for determining when two are the same, 42
- identical, 42
- interface, see interface
- member, as declared entity, 78
- member name, scope of, 81
- specification, 37
- in class declaration, 128
- in interface declaration, 184
- variables, specification, 44
- regionMatches method
- of class
String
, 538
- rehash method
- of class
Hashtable
, 637
- release-to-release compatibility
- See binary, compatibility
- remove method
- of class
Dictionary
, 634 - of class
Hashtable
, 637
- removeAllElements method
- of class
Vector
, 658
- removeElement method
- of class
Vector
, 657
- removeElementAt method
- of class
Vector
, 657
- renameTo method
- of class
File
, 758
- replace method
- of class
String
, 544
- representation
- binary, classes and interfaces, verification of, 220
- reset method
- of class
BufferedInputStream
, 701 - of class
ByteArrayInputStream
, 691 - of class
ByteArrayOutputStream
, 728 - of class
FilterInputStream
, 698 - of class
InputStream
, 683 - of class
LineNumberInputStream
, 709 - of class
StringBufferInputStream
, 693
- resetSyntax method
- of class
StreamTokenizer
, 715
- resolution
- in
Test
class example, at virtual machine startup, 216 - late, in class and interface linking, 220
- lazy, 217
- in class and interface linking, 220
- name conflicts
- avoiding with multiply inherited fields, 153
- context use in avoiding, 89
- static, in class and interface linking, 220
- symbolic references, 221
- code generation implications of, 222
- in internal table for class loader, description, 218
- resolveClass method
- of class
ClassLoader
, 560
- result
- of expression evaluation, term definition, 301
resume
method
- of class
Thread
, 596 - of class
ThreadGroup
, 606
return
statement
- definite assignment, 397
- as reason for abrupt completion, 264
- specification, 286
- @return tag
- specification, 422
- reuse
- software, see binary, compatibility
- reverse method
- of class
StringBuffer
, 557
- right-hand side
- term definition, 7
- rint method
- of class
Math
, 525
- risk of failure, 202
- Ritchie, Dennis M., 6
- Rodgers, Richard., 126
- rose, 111
- rounding
- IEEE 754 standard default mode, support required for, 35
round
method, of class Math
, 525- round to nearest, term definition, 35
- round toward zero, term definition, 35
- run-time
- checks of expressions, 302
- errors, see exceptions
run
method
- of class
Thread
, 594 - of interface
Runnable
, 586
runFinalization
method
- of class
Runtime
, 566 - of class
System
, 583
Runnable
interface, 586Runtime
class, 563RuntimeException
class, 611
- unchecked exceptions found in, 164
- state, linking binary objects into, 220
- type, as incorrect terminology, 47
- validity checks, casting conversion requirements, 68
S
- Saturday Night Live, 468
- save method
- of class
Properties
, 641
- scope
- See also declarations; inheritance; names; object-oriented concepts
- exception parameters, 291
- initializer execution relative to issues of, 175
- of names
- class, 130, 81
- formal parameter, 157
- hiding rules, 83
- import, 87
- interface, 184, 81
- local variables, 267, 45, 82
- member, 138, 81
- package, 120, 81
- parameters
- of constructors, 82
- of exception handlers, 82
- formal, 157, 81
- simple, 81
- term definition, 81
- type initialization order restrictions, 223
- Scott, Sir Walter, 646
- search method
- of class
Stack
, 662
- Sebastian, John, 273
- security
- See also access control; exceptions; types; virtual machine
ClassLoader
class, 558- internal symbolic reference table, role in maintaining, 218
SecurityException
class, 611SecurityManager
class, 569- standard exceptions,
SecurityException
, 209 - type system, verification importance to, 244
- @see tag
- specification, 421
- seed field
- of class
Random
, 646
- seek method
- of class
RandomAccessFile
, 745
- self-reference, 788, 805, 808
- semantics
- See also grammars; lexical; syntax
- errors in, exceptions as mechanism for signaling at run-time, 201
- expression, (chapter), 301
- names
- context role, 90
- determining, 89
- expressions, 95
- methods, 98
- package, 93
- types, 93
- verifying during linking process, 220
- semicolon (
;
)
- as method body, 164
- separators
- list of, 27
separator
field, of class File
, 753separatorChar
field, of class File
, 753- as token, 7
- sequences
- escape, for character and string literals, 26
SequenceInputStream
class, 694
- set
set
method, of class BitSet
, 620setChanged
method, of class Observable
, 644setCharAt
method, of class StringBuffer
, 552setDaemon
method
- of class
Thread
, 597 - of class
ThreadGroup
, 607
setDate
method, of class Date
, 627setElementAt
method, of class Vector
, 656setHours
method, of class Date
, 628setLength
method, of class StringBuffer
, 551setLineNumber
method, of class LineNumberInputStream
, 709setMaxPriority
method, of class ThreadGroup
, 607setMinutes
method, of class Date
, 628setMonth
method, of class Date
, 627setName
method, of class Thread
, 596setPriority
method, of class Thread
, 597setProperties
method, of class System
, 582setSeconds
method, of class Date
, 628setSecurityManager
method, of class System
, 580setSeed
method, of class Random
, 647setSize
method, of class Vector
, 658setTime
method, of class Date
, 629setYear
method, of class Date
, 626
- Seuss, Dr., 125
- shadowing
- See hiding
- Shakespeare, William
- As You Like It, 51
- Hamlet, 470
- Love's Labour's Lost, 28
- Macbeth, 406
- Measure for Measure, 28
- A Midsummer Night's Dream, 28
- Othello, 562
- Romeo and Juliet, 111
- Troilus and Cressida, 28
- Two Gentlemen of Verona, 28
- The Winter's Tale, 236
- Shelley, Percy Bysshe, 353
- Sheridan, Richard Brinsley, 471
- short type
- See also integral types; numbers
- value range, 31
- side effects
- See also expressions
- from expression evaluation, reasons for, 301
- signature
- of constructors, 177
- of methods, 157
- methods with the same, inheriting, 166
- simple names
- See also identifiers; names
- expression, meaning of, 95
- method, meaning of, 98
- package, meaning of, 93
- term definition, 79
- type, meaning of, 93
- sin method
- of class
Math
, 518
- single quote (
'
)
- escape sequence, 27
- size method
- of class
BitSet
, 621 - of class
ByteArrayOutputStream
, 728 - of class
DataOutputStream
, 737 - of class
Dictionary
, 633 - of class
Hashtable
, 636 - of class
Vector
, 658
- skip
skip
method
- of class
BufferedInputStream
, 701 - of class
ByteArrayInputStream
, 691 - of class
FileInputStream
, 686 - of class
FilterInputStream
, 697 - of class
InputStream
, 682 - of class
LineNumberInputStream
, 708 - of class
StringBufferInputStream
, 693
skipBytes
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 747 - of interface
DataInput
, 669
- slashSlashComments method
- of class
StreamTokenizer
, 717
- slashStarComments method
- of class
StreamTokenizer
, 717
sleep
method
- of class
Thread
, 600
- sockets
- standard exceptions,
SocketException
, 211
- Solomon, 193
- sorting
- Unicode, reference for details on, 18
- source code
- compatibility, contrasted with binary compatibility, 241
- transformations that preserve binary compatibility, 239
- Southey, Robert, 350
- spittoon
- See cuspidor
- sqrt method
- of class
Math
, 521
- square brackets ([])
- in array
- type declaration, 194
- variable declaration, 194
- stacks
EmptyStackException
class, 663Stack
class, 661StackOverflowError
class, 611- standard exceptions
EmptyStackException
, 209StackOverflowError
, 212, 213
- standard
- exceptions
- checked, 210
- runtime, 208
- unchecked, 209
- standard classes
AbstractMethodError
, 611ArithmeticException
, 611ArrayStoreException
, 611BitSet
, 618Boolean
, 469BufferedInputStream
, 699BufferedOutputStream
, 732ByteArrayInputStream
, 689ByteArrayOutputStream
, 727Character
, 471Class
, 199, 466ClassCastException
, 611ClassCircularityError
, 611ClassFormatError
, 611ClassLoader
, 216, 218, 219, 558ClassNotFoundException
, 611CloneNotSupportedException
, 611DataInputStream
, 703Date
, 622Dictionary
, 633
Double
, 308, 510EmptyStackException
, 663Error
, 163, 211, 611Exception
, 611ExceptionInInitializerError
, 611, 614File
, 752, 753FileInputStream
, 684FileOutputStream
, 722FilterInputStream
, 696FilterOutputStream
, 730Float
, 503Hashtable
, 635IllegalAccessError
, 611IllegalAccessException
, 611IllegalArgumentException
, 611IllegalThreadStateException
, 611IncompatibleClassChangeError
, 611IndexOutOfBoundsException
, 611InputStream
, 680InstantiationError
, 611Integer
, 488InternalError
, 611InterruptedException
, 611LineNumberInputStream
, 707LinkageError
, 211, 611Long
, 495Math
, 517NegativeArraySizeException
, 611NoClassDefFoundError
, 611NoSuchElementException
, 664NoSuchFieldError
, 611NoSuchMethodError
, 611NoSuchMethodException
, 611NullPointerException
, 611Number
class, 487NumberFormatException
, 611Object
, 185, 199, 40, 41, 458Observable
, 643OutOfMemoryError
, 611OutputStream
, 720PipedInputStream
, 687PipedOutputStream
, 725PrintStream
, 738Process
, 561Properties
, 639PushbackInputStream
, 710Random
, 646RandomAccessFile
, 743Runtime
, 563RuntimeException
, 164, 611SecurityException
, 611SecurityManager
, 569
SequenceInputStream
, 694Stack
, 661StackOverflowError
, 611StreamTokenizer
, 712String
, 19, 25, 41, 531StringBuffer
, 548StringBufferInputStream
, 692StringTokenizer
, 651System
, 579Thread
, 206Thread
class, 587ThreadDeath
, 611ThreadGroup
, 206, 602Throwable
, 611UnknownError
, 611UnsatisfiedLinkError
, 611Vector
, 654VerifyError
, 611VirtualMachineError
, 611
- standard interfaces
Cloneable
interface, 465DataInput
interface, 667DataOutput
interface, 674Enumeration
interface, 617FileNameFilter
interface, 759Observer
interface, 645Runnable
interface, 586
- Star Trek, 793, 805, 820
- start method
- of class
Thread
, 594
- startsWith method
- of class
String
, 540
- startup
- virtual machine, 215
- state
IllegalThreadStateException
class, 611- not shared by primitive values, 31
- object
- impact of changes, 39
transient
fields not part of persistent, 147
- statements
- See also constructors; control flow; expressions; initializers; methods
break
- definite assignment, 397
- specification, 283
- (chapter), 263
- completion of
- abrupt, reasons for, 264
- normal, reasons for, 264
continue
- definite assignment, 397
- specification, 285
- definite assignment, 393
do
- definite assignment, 395
- specification, 279
- empty
- definite assignment, 393
- specification, 271
- expression
- definite assignment, 394
- specification, 272
for
- definite assignment, 396
- specification, 280
- general specification, 269
if
- dangling
else
handling, 270 - definite assignment, 394
if-then
, specification, 273if-then-else
, specification, 274- labeled
- definite assignment, 394
- specification, 271
- LALR(1) grammar productions, 446
- local variable declarations
- execution of, 269
- specification, 265
return
- definite assignment, 397
- specification, 286
switch
- definite assignment, 395
- specification, 274
synchronized
- definite assignment, 397
- specification, 289
throw
- definite assignment, 397
- specification, 287
try
- definite assignment, 398
try-catch
, specification, 291try-catch-finally
, specification, 293- unreachable, conservative flow analysis detection of, 295
while
- definite assignment, 395
- specification, 277
- static initializers
- See also initialization
- LALR(1) grammar productions, 444
- static modifier
- See also declarations; modifiers
- for fields, 145
- binary compatibility considerations, 253
- creating during the preparation phase of linking, 221
- declaring class variables using, 145
- default initialization of during the preparation phase of linking, 221
- implicit in interface member declarations, 187
- initialization of, 149, 175
- binary compatibility considerations, 259
- initializers
- as components of a class body, 138
- for, 175
- for methods
- declaring class methods with, 160
- hiding by, 165
- not permitted in interface method declarations, 189
- reason why constructors do not use, 178
- Stein, Gertrude
- Arthur a Grammar
- arithmetic, 450
- burnt ivy, 440
- finishing early, 453
- grammar in a title, 433
- grammar is useless, 445
- pretty names, 441
- successions of words, 446
- vocabulary, 440
- Rooms, 349
- Sacred Emily, 111
- stop method
- of class
Thread
, 595 - of class
ThreadGroup
, 605
- store
- array, exception, 199
- storing
- packages
- in a database, 117
- in a file system, 115
- streams
- See also files; input; output
BufferedInputStream
class, 699BufferedOutputStream
class, 732ByteArrayInputStream
class, 689ByteArrayOutputStream
class, 727
FileInputStream
class, 684FileOutputStream
class, 722FilterInputStream
class, 696FilterOutputStream
class, 730LineNumberInputStream
class, 707OutputStream
class, 720PipedInputStream
class, 687PipedOutputStream
class, 725PrintStream
class, 738PushbackInputStream
class, 710SequenceInputStream
class, 694StreamTokenizer
class, 712StringBufferInputStream
class, 692
- string(s)
- See also characters; numbers; primitive types;
String
class; StringBuffer
class - character arrays not the same as, 199
- concatenation operator (
+
)
- constructor invocation by, 177
- creating new instances with, 38
- conversion, 67
- context specification, 67
- specification, 60
- to numeric types,
NumberFormatException
, 209
- literals
- escape sequences for, 26
- interning of, 25
- term definition and specification, 25
- standard exceptions,
UTFDataFormatException
, 210 String
class, 531
- creating instances, with string concatenation operator, 41
- literal as source code representation of the value of, 19
- specification, 41, 531
- string literal as reference to an instance of, 25
StringBuffer
class, 548StringBufferInputStream
class, 692StringTokenizer
class, 651- substrings,
substring
method of String
class, 543
- Stroustrup, Bjarne, 6
- subclasses
- See also class(es); interfaces; superclasses; superinterfaces
- declaration, 133
- direct, extending classes with, 133
- relationship to direct subclass, 134
- subpackages
- See also packages
- as package members, 85
- substring method
- of class
String
, 543
- super keyword
- accessing
- overridden methods with, 165
- superclass members with, in expression evaluation, 322
- binary compatibility considerations, 247
- not permitted in
- class variable initialization, 150
- explicit constructor invocation, 179
- interface field declarations, 187
- permitted in instance variable initialization, 150
- superclass(es)
- See also classes; fields; interfaces; methods; packages; subclasses; superinterfaces
- accessing fields with
super
, expression evaluation, 322 - of array is
Object
, 199 - binary compatibility considerations, 243
- direct
- declaration, with
extends
clause, 133 - term definition, 133
- extending classes with, 133
public
, accessing instances of non-public subclasses through, 142
- superinterface(s)
- See also classes; fields; interfaces; methods; packages; subclasses
- binary compatibility considerations, 243, 260
- direct
- declaration, with
implements
clause, 135 - term definition, 135
- of interface, declaration, 185
public
, accessing instances of non-public subclasses through, 142- term definition, 135
- suspend method
- of class
Thread
, 596 - of class
ThreadGroup
, 606
- sval field
- of class
StreamTokenizer
, 715
- swapping
- threads example, 409
- sweat, 51
- Sweet, Richard, 6
- Swift, Jonathan, 618
- switch statement
- See also statements
- definite assignment, 395
- local variable declaration specification, impact on, 45
- specification, 274
- symbolic references
- binary file format requirements, 239
- resolution, 221
- code generation implications of, 222
- internal table description, 218
- symbols
- See also identifiers; name; variables
- goal
- CompilationUnit, 8
- Input, 7
- term definition, 7
- nonterminal
- notation for definition of, 8
- term definition, 7
- optional, term definition, 8
- terminal, term definition, 7
- synchronization
- See also locks; threads
- exception mechanism integration with, 202
- initialization implications of, 225
- locks, 415
- use by
synchronized
methods, 161 - use by
synchronized
statement, 289
- standard exceptions
IllegalMonitorStateException
, 209IllegalThreadStateException
, 209InterruptedException
, 210InterruptedIOException
, 210
synchronized
modifier
- See also modifiers
- in method declarations, 161
- methods, binary compatibility considerations, 256
- not permitted in interface field declarations, 187
- not permitted in interface method declarations, 189
- reason why constructors do not use, 178
- specification, 416
synchronized
statement
- definite assignment, 397
- operations, 416
- specification, 289
- term definition, 399
volatile
fields used for, with threads, 147
- syntactic
- See also lexical; semantics
- classification, of a name according to context, 90
- grammar, 8
- LALR(1) grammar, 440
- term definition, 8
- System class, 579
- system operations
- See
ClassLoader
class; Process
class; Runtime
class; SecurityManager
class; System
class
T
- tagged paragraphs
- types of, 420
- tan method
- of class
Math
, 519
- term definitions
- abrupt completion, 264, 304
- access, 77
- accessible, 99
- control, 99
- qualified, 99
- action, 401
- by main memory
- lock, 401, 402
- read, 401, 402
- unlock, 401, 402
- write, 401, 402
- by thread
- assign, 401, 402
- load, 401, 402
- store, 401, 402
- unlock, 401, 402
- use, 401, 402
- write, 401, 402
- activation frame, 336
- active use, 223
- alphabet, 7
- ambiguous member, 188
- applicable, 325
- method, 193
- array, 193
- components, 44, 193
- element type, 193
- type, 193
- element, 193
- empty, 193
- initializer, 196
- length of, 193
- type, 193
- assign, as thread action, 402
- assignable to, 61
- assignment, 61, 369
- compatible with, 61
- associated label, 275
- atomic, 401
- binary
- compatibility, 240
- numeric promotion, 74
- block, 265
- body
- of class, 138
- of constructor, 178
- of interface, 185
- of method, 164
- break binary compatibility with, 240
- break target, 283
- caller, 204
- can complete normally, 295
- cast operator, 67, 335, 350
- catch clause, 201, 290
- caught, 201, 288
- checked exceptions, 203
- class(es), 127, 128
abstract
, 131- body, 138
- declaration, 128
- error, 203
- exception, 203
final
, 133- finalization, 235
- initialization, 223
- methods, 160
- modifiers, 130
- of object, 47
- runtime exception, 203
- same, 42
- unloading, 235
- variables, 145
- clone, 460
- comments, 15
- documentation 15, (chapter), 419
- end-of-line, 15
- traditional, 15
- compatibility
- binary, 240
- compilation unit, 118
- compile-time
- declaration, 332
- type, 43
- complete
- abruptly, 264, 304
- normally, 264, 295, 304
- component, 193
- of array, 44, 193
- type of array, 193
- constant
- expression
- compile-time, 381
- field, 186, 223
- primitive, 251
- constructor(s), 176
- default, 180
- parameter, 45, 177
- contain, 263
- immediately, 263
- context of conversion, 52
- continue target, 285
- contract, 241
- control
- access, 99
- conversion(s), 51
- assignment, 61
- casting, 67
- contexts, 52
- identity, 54
- method invocation, 66
- primitive
- narrowing, 55
- widening, 54
- reference
- narrowing, 59
- widening, 58
- string, 355
- declaration(s), 78
- array variable, 194
- class, 128
- variable, 44
- compile-time, 332
- constant, 186
- constructor, 176
- field, 143, 186
- import, 120
- instance variable, 44
- interface, 184
- local variable, 45
- statement, 265
- method, 155, 189
- package, 118
- parameter
- constructor, 45
- exception, 45,
- method, 45
- single-type import, 121
- type, 124
- type-import-on-demand, 121
- declarator, 266
- default
- constructor, 180
- value, 46
- definite assignment, 383
- definitely assigned
- after, 385
- when false, 385
- when true, 385
- before, 385
- denormalized, 33, 34
- direct
- extension, 183
- subclass, 133
- superclass, 133
- superinterface, 135, 185
- directly implement, 183
- documentation comment (chapter), 419
- dynamic method lookup, 335
- dynamically enclosed, 204
- element, 193
- type, 193
- empty
- array, 193
- statement, 271
- enclosed, dynamically, 204
- error classes, 203
- escape
- sequence, character and string, 26
- Unicode, 12
- evaluation
- evaluated, 301
- expression, result of, 301
- order, 305
- exception
- caller of, 204
- caught, 201
- checked, 203
- classes, 202
- checked, 203, 210
- runtime, 203, 208
- standard, 208
- unchecked, 203
- handler, 290
- parameter, 45
- polling for, 206
- precise, 205
- thrown, 201
- unchecked, 203
- executed, 301
- exit of virtual machine, 235
- expression, 301
- constant, 381
- statement, 272
- extension, direct, 183
- field, 143, 186
- constant, 223
- declaration, 143
final
, 146, 187- non-
static
, 145 static
, 145, 186transient
, 147volatile
, 147
- finalizable, 232
- finalization
- class, 235
- object, 231
- finalized, 232
- finalizer, 231
- finalizer-reachable, 232
- formal parameter, 156, 177
- frame activation, 336
- goal symbol, 7
- gradual underflow, 34
- grammar
- context-free, 7
- lexical, 7
- syntactic, 8
- handler of exception, 290
- handles, 204
- hide, 144, 165
- identifier, 17
- immediately contain, 263
- implement, 87, 135, 165
- directly, 183
- implemented, 152
- import declaration
- on demand, 122
- single type, 121
- inexact, 35
- infinities, 33
- inherited, 85, 152
- inherits, 165
- initialization of class or interface, 223
- initializer
- array, 196
- static, 175
- variable, 149
- input elements, 14
- instance
- of class, 38
- methods, 160
- variables, 145
- interface
- abstract, 184
- body, 185
- initialization, 223
- same, 42
- iteration statements, 285
- Java, vii
- digits, 17
- letters, 17
- keyword, 18
- label, 271
- associated, 275
- language, 7
- left of
- to the, 15
- left-hand side, 7
- length of array, 193
- line terminator, 13
- linking, 220
- linkage editing, 222
- literal, 19
- boolean, 23
- character, 24
- floating-point, 22
- integer, 19
- null, 27
- string, 25
- load action by thread, 402
- loading, 218
- local variable, 45
- declaration statement, 265
- locks, 401
- lock action
- by main memory subsystem, 402
- by thread, 402
- unlock action
- by main memory subsystem, 402
- by thread, 402
- lookup,
- dynamic method, 335
- loss of precision, 54
- main memory, 401
- master copy, 401
- maximally specific, 327
- members, 85
- ambiguous, 188
- dynamic lookup, 335
- memory
- main, 401
- working, 401
- method(s), 155
abstract
, 158, 189- accessible, 325
- applicable, 325
- body, 164
- class, 160
final
, 160- hidden, 165
- instance, 160
- interface, 189
- lookup
- dynamic, 335
- maximally specific, 237
- more specific, 327
- most specific, 325, 327
native
, 161- non-
static
, 160 - overloaded, 167
- overridden, 165
- parameter, 45
- signature, 157
static
, 160synchronized
, 161- the most specific, 327
- modifiers
- class, 130
- constructor, 177
- field, 144
- interface, 184
- method, 157
- monitors, 399
- more specific, 327
- most specific, 325, 327
- name(s), 79
- ambiguous, 89
- contextually ambiguous, 89
- expression, 91
- method, 91
- package, 90
- qualified, 79
- simple, 79
- type, 90
- unique package, 125
- NaN (Not-a-Number), 33
- narrowing
- primitive conversion, 55
- reference conversion, 59
- non-
static
- field, 145
- method, 160
- nonterminal, 7
- normal completion, 264, 295, 304
- notification, 399, 416
- numeric promotion, 72
- object(s), 38
- class of, 47
- target, 335
- operators, 28
- additive, 355
- assignment, 369
- bitwise, 365
- cast, 350
- equality, 362
- logical, 365
- multiplicative, 351
- relational, 360
- shift, 359
- unary, 346
- order of evaluation, 305
- ordered, 33
- overload, 165, 190
- overloading 167
- override, 189
- overriding, 189
- package(s), 114
- unique name, 125
- paragraph
- tagged, 420
- parameter, 156
- constructor, 45, 177
- exception handler, 45, 290
- formal, 156, 177
- method, 45, 156
- passive use, 223
- pointer, 38
- polling for exceptions, 206
- precise exception, 205
- precision
- loss of, 54
- preparation, 221
- prescient store, 408
- priority, threads, 415
- primitive constant, 251
- primitive conversion
- narrowing, 55
- widening, 54
- productions, 7
- promotion
- numeric, 72
- binary, 74
- unary, 73
- sweat only but for, 51
- qualified
- access, 99
- name, 79
- reachable, 232, 263, 295
- read action
- by main memory, 402
- by thread, 402
- reason, 202, 264, 304
- recursive, 8
- reference, 38
- conversion
- narrowing, 59
- widening, 58
- target, 333
- types, 37
- resolution, 221
- late, 220
- lazy, 220
- result, 301
- right of
- to the, 15
- right-hand side, 7
- round
- to nearest, 35
- toward zero, 35
- runtime exception classes, 203
- same
- class, 42
- interface, 42
- type, 42
- scope, 81
- separator, 25
- signature, 157
- simple name, 79
- specific
- maximally, 327
- more, 327
- most, 325, 327
- the most, 327
- statements, 263
- empty, 271
- expression, 272
- iteration, 285
- labeled, 271
- local variable declaration, 264
- unreachable, 295
- static
- field, 145
- initializers, 175
- method, 160
- resolution, 220
- store
- action by thread, 402
- prescient, 408
- strongly typed, 29
- subclass, 134
- direct, 133
- subinterface, 185
- superclass, 134
- direct, 133
- superinterfaces, 135, 185
- direct, 135, 185
- symbol
- goal, 7
- nonterminal, 7
- optional, 8
- terminal, 7
- synchronizing, 399
- target
- break, 283
- continue, 285
- object, 335
- reference, 333
- terminal symbol, 7
- the most specific, 325, 327
- thread, 399
- thrown, 201, 202
- throws clause, 163
- token, 7, 14,
- type(s), 30
- boolean, 31
- compile-time, 43
- floating-point, 31, 33
- import
- on demand, 121
- single, 121
- integral, 31
- null, 30
- numeric, 31
- primitive, 30
- reference, 37
- same, 42
- typed
- strongly, 29
- unary numeric promotion, 73
- unchecked exception, 203
- classes, 203
- underflow
- gradual, 34
- unfinalized, 232
- Unicode escapes, 12
- unique package name, 125
- unloading of classes, 235
- unlock, 399
- action
- by main memory, 402
- by thread, 402
- unordered, 33
- unreachable, 232, 295
- use
- action by thread, 402
- active, 223
- passive, 223
- value
- default, 46
- of expression, 302
- variable(s), 401, 43
- class, 44, 145
- instance, 44, 145
- local, 45
- verification, 220
- virtual machine exit, 235
- wait set, 416
- white space, 15
- widening
- primitive conversion, 54
- reference conversion, 58
- working
- copy, 401
- memory, 401
- write action
- by main memory, 402
- by thread, 402
- terminal symbol
- term definition, 7
- terminators
- line
- carriage return and linefeed characters as, 25
- carriage return character as, 25
- linefeed character as, 25
- term definition, 13
- Test program, how to run, 5
- this keyword
- accessing hidden fields with, 269
- evaluation of, 313
- during instance creation, 228
- not permitted
- in class variable initialization, 150
- in explicit constructor calls, 179
- in interface field declarations, 187
- permitted in instance variable initialization, 150
- Thomas à Kempis, 528
- Thompson, William (Lord Kelvin), 301
- threads
- See also synchronization
- (chapter), 399
- constraints on relationships among actions of, 403
- creation, 415
IllegalThreadStateException
class, 611- initialization implications of multiple, 225
- interaction order, consequences of, 400
- locks acquisition and release, by
synchronized
statement, 289 - operations, term definitions, 401
- out-of-order writes example, 409
- standard exceptions
IllegalMonitorStateException
, 209IllegalThreadStateException
, 209InterruptedException
, 210InterruptedIOException
, 210
- swapping example, 409
synchronized
modifier, methods, declaration, 161- termination and virtual machine exit, 235
Thread
class, 587ThreadDeath
class, 611ThreadGroup
class, 602threads
method, of class ThreadGroup
, 608threadsCount
method, of class ThreadGroup
, 607volatile
fields use with, 147
- throw
- See also control flow; exceptions
throw
statement
- as reason for abrupt completion, 264
- definite assignment, 397
- specification, 287
Throwable
class, 611Throwable
method, of class ThreadGroup
, 612throws
clause
- checked exception classes named in, 203
- constructors, 178
- binary compatibility considerations, 256
- incorrect overriding because of, example, 174
- methods, 163
- binary compatibility considerations, 256
- toBinaryString method
- of class
Integer
, 491 - of class
Long
, 499
- toByteArray method
- of class
ByteArrayOutputStream
, 728
- toCharArray method
- of class
String
, 537
- toGMTString method
- of class
Date
, 629
- toHexString method
- of class
Integer
, 491 - of class
Long
, 498
- tokens
- See also grammars
- term definition, 7, 14
- Tokens, The, 28
- toLocaleString method
- of class
Date
, 629
- toLowerCase method
- of class
Character
, 482 - of class
String
, 544
- toOctalString method
- of class
Integer
, 491 - of class
Long
, 498
- toString method
- of class
BitSet
, 619 - of class
Boolean
, 470 - of class
ByteArrayOutputStream
, 729 - of class
Character
, 473 - of class
Class
, 466 - of class
Date
, 625 - of class
Double
, 511, 513 - of class
File
, 754 - of class
Float
, 504, 506 - of class
Hashtable
, 636 - of class
Integer
, 489, 490 - of class
Long
, 496, 497 - of class
Object
, 458 - of class
StreamTokenizer
, 719 - of class
String
, 534 - of class
StringBuffer
, 550 - of class
Thread
, 594 - of class
ThreadGroup
, 604, 612 - of class
Vector
, 656
- totalMemory method
- of class
Runtime
, 565
- toTitleCase method
- of class
Character
, 485
- toUpperCase method
- of class
Character
, 484 - of class
String
, 545
- traceInstructions method
- of class
Runtime
, 566
- traceMethodCalls method
- of class
Runtime
, 566
- transient modifier
- See also declarations; modifiers
- fields, 147
- binary compatibility considerations, 253
- not permitted in interface field declarations, 187
- translations
- lexical, steps involved in, 12
- trim method
- of class
String
, 545
- trimToSize method
- of class
Vector
, 658
- TRUE field
- of class
Boolean
, 469
- try statements
- See also control flow; exceptions; statements
- definite assignment, 398
- exception handling role of, 204
- specification, 290
try-catch
statement, specification, 291try-catch-finally
statement, specification, 293
- TT_EOF field
- of class
StreamTokenizer
, 714
- TT_EOL field
- of class
StreamTokenizer
, 714
- TT_NUMBER field
- of class
StreamTokenizer
, 714
- TT_WORD field
- of class
StreamTokenizer
, 714
- ttype field
- of class
StreamTokenizer
, 714
- types
- See also arrays; classes; interfaces; primitive, types
- argument values, method invocation conversion context, 66
- array
- members of, 88
- syntax and specification, 194
- binary compatibility considerations, 241
boolean
- Boolean literal specification, 23
- term definition and specification, 36
- (chapter), 29
char
- character literal specification, 24
- term definition and specification, 30
- class
- members of, 86
- names, scope of, 130
- naming conventions, 108
- data values relation to, 30
- declaration of, as members of packages, 124
double
, floating-point literal specification, 22- element of, arrays, 194
- errors, run-time testing, 303
- expression
- assignment conversion, 61
- how determined, 47
- of expressions, 302
float
, floating-point literal specification, 22- floating-point, term definition and specification, 33
- imported
- as declared entity, 78
- scope of, 81
- importing, compilation units, 120
- initialization of, 223
int
, integer literal specification, 20- integral, 31
- interface
- implications for variables and expressions, 48
- members of, 87
- naming conventions, 108
- scope of name of, 184
- LALR(1) grammar, 440
- local variables, declaration of, 266
long
, integer literal specification, 20- name(s)
- context in which a name is classified as, 90
- qualified, meaning of, 94
- simple, meaning of, 93
- null, term definition and specification, 30
- as package members, 114
- parameter, method invocation conversion context, 66
- primitive
- as array element types, 194
- do not share state, 31
- fully qualified name, 105
- term definition and specification, 30
- variables, specification, 44
- reference
- as array element types, 194
- criteria for determining when two are the same, 42
- member
- as declared entity, 78
- scope of, 81
- specifying with
- class declaration, 128
- interactive declaration, 184
- term definition and specification, 37
- variables, specification, 44
- run-time, as incorrect terminology, 47
- safety of, importance of verifier to maintaining, 244
String
, see String
class- system, security of,
ClassLoader
internal symbolic reference table role in maintaining, 218 - term definition and specification, 30
- usage, 42
- in declarations and expressions, 43
- of variable
- assignment conversion of expressions, 61
- how determined, 47
- while objects have classes, 47
- where used, 42
U
- unary
- numeric promotion, specification, 73
- uncaughtException method
- of class
ThreadGroup
, 610
- unchecked
- exceptions, standard, 209
- underflow
- floating-point operators, signed zero produced by, 35
- integer operators, not indicated by, 32
- unfinalized
- as object attribute, 232
- term definition, 232
- Unicode character set
- See also characters
- character sequences, represented by instances of class
String
, 41 - composite characters, contrasted with the Unicode decomposed characters, 18
- escapes, 13
- specification for handling, 12
- term definitions, 12
- use when suitable font not available, 13
- handling in package names, 117
- lexical grammar use in terminal symbols, 7
- sorting, reference for details on, 18
- The Unicode Standard (book), 6
- writing any character in, using ASCII characters in escapes, 11
- UnknownError class, 611
- unloading
- See also linking; loading
- of classes, 235
- of interfaces, 235
- unreachable
- See also exceptions
- objects, finalization implications, 232
- statements, conservative flow analysis detection of, 295
- term definition, 232
- unread method
- of class
PushbackInputStream
, 711
- UnsatisfiedLinkError class, 611
- update method
- of interface
Observer
, 645
- URLs
- standard exceptions,
MalformedURLException
, 211
- UTC method
- of class
Date
, 630
V
- valid method
- of class
FileNameDescriptor
, 760
- values
- See also assignment; initialization; primitive, types; variables
boolean
, term definition and specification, 36- (chapter), 29
- data, relation to types, 30
- expressions, variables as, 302
- floating-point, term definition and specification, 33
- integral, term definition and specification, 31
- primitive, term definition and specification, 30
- reference, see references; 38
- relation to types, 30
- return, specifying method with no, 155
valueOf
method
- of class
Boolean
, 470 - of class
Double
, 514
- of class
Float
, 507 - of class
Integer
, 493 - of class
Long
, 500 - of class
String
, 545
- variables, initial and default, 46
- variables
- See also data structures; fields; identifiers; scope
- assignment conversion, 61
- (chapter), 29
double
, nonatomic treatment of memory operations on, 405- interaction with locks, rules about, 407
- kinds of
- array, see arrays, components
- class, see fields, class,
static
- constructor parameters, see parameters, constructor
- exception-handling parameters, see exceptions, parameters
- instance, see fields, class, non-
static
- local, see variables, local
- method parameters, see parameters, method
- LALR(1) grammar, 440
- local, 267
- declaration statements, 265
- as declared entity, 79
- definite assignment, (chapter), 383
- definite assignment, declarations, 393
- description, 45
- hiding of names by, 269
- naming conventions, 110
- scope of, 82
long
, nonatomic treatment of, memory operations on, 405- objects compared with, 47
- primitive type
- changing value of, 31
- specification, 44
- reference type, specification, 44
- term definition, and specification, 43
- thread use constraints, 404
- type of, how determined, 47
- values
- of expressions, 302
- held by different types, summary of, 29
- initial and default, 46
volatile
, rules about, 407
Vector class, 654
Vector
class
- See also data structures
- standard exceptions,
NoSuchElementException
, 209
- verification
- See also security
- of binary representation, of classes and interfaces, 220
- internal table of loaded classes and interfaces, purpose of, 218
- standard exceptions,
VerifyError
, 212 - type safety dependence on existence and use of, 244
VerifyError
class, 611
- @version tag
- specification, 422
- virtual machine
- See also exceptions; optimization
class
file format specified in, 238- errors, 212
InternalError
, as asynchronous exception cause, 206
- exception handling by, 201
- exit, criteria for, 235
- object life cycle in, 233
- startup, 215
VirtualMachineError
class, 611
- virtue, 18
- void keyword
- See also methods
- casting to, not permitted, 272
- methods
- expression return statement not permitted in, 164
- no return value specified by, 155
- volatile modifier
- See also declarations; modifiers
- fields, 147
- binary compatibility considerations, 253
final
declaration not permitted for, 148- used for synchronization by threads, 147
- not permitted in interface field declarations, 187
- variables, rules about, 407
W
- wait
- See also synchronization
wait
method, of class Object
, 461- wait sets, notification and, 416
waitFor
method, of class Process
, 562
- warp factors, 1, 8, 24, 64, 125, 216, 343, 512, 729
- Webb, Jim(my)
- Paper Cup, 335
- Up, Up and Away, 606
- Weiss, George David, 28
- while statement
- See also control flow
- definite assignment, 395
- specification, 277
- white space
- term definition, 15
- whitespaceChars method
- of class
StreamTokenizer
, 716
- Whitman, Walt
- Carol of Occupations, 29
- Passage to India, 292
- Song of the Broad-Axe, 176
- Song of the Universal, 261
- Walt Whitman, 75
- widening
- See also conversions
- primitive conversion
- in assignment conversion context, 61
- in binary numeric promotion context, 74
- in casting conversion context, 67
- in method invocation conversion context, 66
- specification, 54
- in unary numeric promotion context, 73
- reference conversion
- in assignment conversion context, 61
- in casting conversion context, 67
- in method invocation conversion context, 66
- specification, 58
- Wilde, Oscar
- Charmides, 661
- Humanitad, 662
- wordChars method
- of class
StreamTokenizer
, 716
- Wordsworth, William
- Apology for the Foregoing Poems, 304
- Maternal Grief, 191
- Monks and Schoolmen, 399
- To the Same Flower, 49
- Yarrow Unvisited, 516
- wrapper classes
- See
Boolean
class; Character
class; Double
class; Float
class; Integer
class; Long
class
- write
write
method
- of class
BufferedOutputStream
, 733 - of class
ByteArrayOutputStream
, 728 - of class
DataOutputStream
, 735 - of class
FileOutputStream
, 723 - of class
FilterOutputStream
, 730 - of class
OutputStream
, 720 - of class
PipedOutputStream
, 726 - of class
PrintStream
, 739 - of class
RandomAccessFile
, 749 - of interface
DataOutput
, 674
writeBoolean
method
- of class
DataOutputStream
, 735 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 675
writeByte
method
- of class
DataOutputStream
, 735 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 675
writeBytes
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 751 - of interface
DataOutput
, 677
writeChar
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 676
writeChars
method
- of class
DataOutputStream
, 737 - of class
RandomAccessFile
, 751 - of interface
DataOutput
, 678
writeDouble
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 751 - of interface
DataOutput
, 677
writeFloat
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 751 - of interface
DataOutput
, 677
writeInt
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 676
writeLong
method
- of class
DataOutputStream
, 736 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 676
writeShort
method
- of class
DataOutputStream
, 735 - of class
RandomAccessFile
, 750 - of interface
DataOutput
, 676
writeTo
method, of class ByteArrayOutputStream
, 729writeUTF
method
- of class
DataOutputStream
, 737 - of class
RandomAccessFile
, 751 - of interface
DataOutput
, 678
- written field
- of class
DataOutputStream
, 734
X
- xor method
- of class
BitSet
, 621
Y
- Yeats, William Butler, 621
- yield method
- of class
Thread
, 600
Z
- zero
- See also exceptions; numbers
- divide by, exceptions thrown by integer divide and remainder operators, 32
Contents | Prev | Next | Index
Java Language Specification (HTML generated by dkramer on August 01, 1996)
Copyright © 1996 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to doug.kramer@sun.com