Index


 
A
 
anti-aliasing 102
array
     wrapping buffers 7
ASCII 58
assertion 172
     assertion status 181
     catching and rethrowing 184
     command-line arguments 178
     complicated 192
     consistency 189
     determining if assertions are enabled 183
     during class initialization 185
     efficiency of 178, 192
     inconsistent states 187
     programmatic control 181
     removing 182
     requiring that assertions be turned on 183
     side effects inside 183
     syntax 175, 177
     to check compiler, operating system, or hardware 204
     what to check for 197
AssertionError 172, 184
     constructors of 176
authentication 341
AWT 88
 
B
 
Base64 313
BasicService 114, 131
blocking vs. nonblocking 42
buffer
     absolute reads and writes 8
     accessing the underlying array 17, 27
     byte-order 15
     capacity 4, 9?10
     clear 6, 10
     containing types other than byte 13
     creating 4, 7
     creating from arrays 7
     data sharing and 7
     direct 2, 16 creating 7
     endianness 15
     flip 6, 10
     limit 9?10
     overflow 10
     position 9
     reading and writing types other than byte 14
     relative reads and writes 8
     slice 12
     state values 9
     subbuffers 12
BufferedImage 89, 92
ByteBuffer 4
     converting to CharBuffer 58
 
C
 
C (language) 172
C++ 172
call stack 208
capturing group 260
cause 207
certificate 342
chained exception 206
     new constructor 207
channel
     bidirectionality 2
     reading and writing 6
     reading from 4
     selectable 50, 52
     writing to 5
CharBuffer 4, 58, 266
     converting to ByteBuffer 58
CharSequence 266
Charset 58
     alias 59
     availableCharsets() 59
     decoding 59
     encoding 59
     forName() 59
     standard Java charsets 59
     translating 62
CharsetDecoder 61
     decode() 61
CharsetEncoder 61
     encode() 61
chat 149
chat (instant messaging) 43
checksum 41
ciphertext 340
ClassLoader
     and assertions 177, 181
ClassLoader resources 129
ClassLoader.getResource() 114
classpath 241
clearAssertionStatus() 182
client/server 42
clipboard
     accessing in Java Web Start 114, 135
ClipboardService 114, 131
collection
     efficiency 253
Collections 230
     indexOfSubList() 232
     lastIndexOfSubList() 232
     list() 233
     replaceAll() 232
     rotate() 230?231
     shuffle() 253
CONFIG 139
configuration data 299
configureBlocking() 45
consistency 197, 201
ConsoleHandler 142, 149
cookies, in Java Web Start 114
copy on write 40
cryptography 340
 
D
 
DataFlavor 135
debugging 138, 172
decryption 340
default address 68
default printer 77
design-by-contract 174
desiredAssertionStatus() 186
digital signature 115, 341
direct buffer 2
DocPrintJob 81
document attributes 79
document flavor 77
documents, printing 76?77, 80?81
DoubleBuffer 4
DownloadService 111, 114
 
E
 
encryption 340
encryption key 340
Enumeration 233
equals 246
error handling 172
ErrorManager 142
exception 209
     cause of 207
     remote 216
     rethrowing 206
 
F
 
fault tolerance 172
file copying 6
file locking 28
     advisory vs. manditory locks 28
     exclusive vs. shared 29?30
     locking an entire file 31
     multiple regions of a file 30
     nonblocking lock acquisition 30
     overlapping locks 30
     portability 31
     portability tips 31
     releasing a lock 31
     visibility to other processes 31
file path 241
FileHandler 142, 146
FileOpenService 114, 130
FileSaveService 114, 130
     writing from a background thread 130
Filter 143
Filter.isLoggable() 143
find-and-replace 268
FINE 139
FINER 139
FINEST 139
firewall (example program) 17
FloatBuffer 4
Formatter 143
Formatter.formatMessage() 144
     overriding 167
 
G
 
getCause() 207
getStackTrace() 210
GIF 90
     animated 93, 97
     licensing issues 91
graph generation 102
Graphics2D 93
 
H
 
Handler 142
hash bin 240
HTML 285
https 346
 
I
 
I/O
     blocking 43?44
     block-oriented vs. stream-oriented 2, 27
     bulk reading and writing 4
     image 76
     memory-mapped 38
     multiplexing 43
     nonblocking 2 configuring 45
     paged 38
     performance 2, 27
     polling 44, 49
     throughput 63
     with multiple channels 49
IdentityHashMap 246
IIOReadProgressListener 99
IIOReadUpdateListener 99
IIOReadWarningListener 99
IIOWriteProgressListener 99
IIOWriteWarningListener 99
image
     animated 93
     background loading 99
     event listeners 99
     extracting a portion of 97
     format 89 conversion 99 discovering 90
     plug-in model 89
     progressive 99
     reading 88?89
     reading from URLs 90
     reading multiple 93
     streams 89?90
     synchronous loading vs. asynchronous loading 88
     thumbnail images 99
     writing 88, 90, 102
image strip 97
ImageIO.getReaderFormatNames() 90
ImageIO.getWriterFormatNames() 90
ImageIO.read() 89, 92
ImageIO.write() 90, 92
ImageReader 93
ImageReadParam 97
ImageWriter 95
immediate image model 89
inconsistent states 187
InetAddress 66
INFO 139
initCause() 207
InputImageStream 93
insertion order, maintaining 235
IntBuffer 4
invariant 174, 197, 201
ISO-8859-1 59
iteration speed 240
Iterator 233
 
J
 
jar (tool) 111
jar file 111
jarsigner 115
Java Network Launching Protocol 108
Java Web Start 108
     application home page 112
     application information 112
     application-side data 109
     code signing 115
     codebase 112
     enterprise deployment 136
     icon 112
     JNLP file 111
     lazy downloading 111
     networking model 109
     offline mode 109, 112
     reading files 113
     resources 113
     sandbox 110, 113 bypassing 115
     security 110, 112
     trusted applications 113
     untrusted applications 113
     using multiple JRE versions 113
     web server configuration 111, 113
     writing files 113
java.awt.datatransfer 135
java.util.logging.config.class system property 145
java.util.logging.config.file system property 145
Java2D 76
JAWS 108
JNLP 108, 111
JNLP API 113, 117
     compiling with 114
JPEG 90
JRE 113
JSSE 340
     browser authentication 346
     certifcation authority 346
     certificate 342, 346, 359
     client authentication 346, 359
     HTTPSD 346
     JKS 342
     key alias 344, 347
     key distribution 359
     key generation 347, 360
     key management 343
     keytool 344, 347, 360
     PKCS12 342
     random numbers 358
     RSA 340, 344
     server authentication 346, 359
     SSL 340, 342 authentication 343 handshaking 343 key exchange 343
     SunJSSE security provider 340, 342
     TLS 340, 342
     trusted server 359
     X.509 key management 340, 345
 
K
 
key 340
KeyManager 344
KeyManagerFactory 344
KeyStore 344
keytool 115, 344
 
L
 
lexical analyzer 288
LinkedHashMap 235
     efficiency 240
     implementation 240
LinkedHashSet 238
     efficiency 240
     implementation 240
list
     creating 233
     creation 253
     modifying 230, 232?233
     searching 232
listening on a socket 46, 51, 54, 67, 69
loading on demand 38
logger 138
     exceptions and 141
     handler 142
     resource bundle 141
Logger.getLogger() 140
Logger.global 138
Logger.log() 141
logging 138
     calling parent?s handler 140, 142
     configuration 145
     default log message format 139
     displaying in a window 155
     errors 142
     filenames 145, 147
     filter 143
     formatter 143 creating a custom formatter 165
     global handlers 142, 149
     global log level 149
     handler creating a custom handler 155 throwing exceptions 142
     handler configuration 145
     handlers 140
     inheriting parent?s log level 140
     inheriting parent?s resource bundle 141
     level 139?140 CONFIG 139
level (continued) FINE 139 FINER 139 FINEST 139 INFO 139 SEVERE 139 WARNING 139
     log rotation 147
     logger configuration 148
     logger hierarchy 140
     optimizing for speed 143?144, 148, 153, 168
     resource bundle 141
logging.properties file 145
LogRecord 141?143
LongBuffer 4
loopback interface 63
 
M
 
Map
     efficiency 240
     implementation 240
     inserting 236
     insertion speed 240
     iteration 236
     ordered 235
     update speed 240
     updating 236
MappedByteBuffer 38
     force() 40
     isLoaded() 40
     load() 40
     reading from 38
     unmap(), lack of 42
     writing to 38
marker interface 252
Matcher 265
     appendReplacement() 268
     appendTail() 268
     end() 266?267
     find() 266
     group() 267
     lookingAt() 266
     matches() 266
     start() 266?267
Matcher.replaceAll() 268
MediaTracker 88
MemoryHandler 142, 147
memory-mapped files
     writing to 38
MIME type 77, 111, 113
multibyte chars 59
MultiDocPrintService 77
multiplexing 43
 
N
 
netstat 68, 71
network cards 63
network interface 63
     default 64
     getByInetAddress() 66
     getByName() 67
     getting the address of 66
     listening on the address of 67
     listening on the default address 68
     listing 64
     reporting on 64
NetworkInterface 63
newline
     in regex 264
NodeChangeEvent 325
NodeChangeListener 325
nonblocking accept() 46, 54
nonblocking I/O 2, 42
nonblocking read() 45, 54
nonblocking server socket 51
nonblocking socket 45
 
O
 
Object 246
object
     comparison 247
     equality 246, 251
object graph traversal 248
object identity 246, 251
Object.hashCode() 247
OP_ACCEPT 52
OP_CONNECT 52
OP_READ 51, 54
OP_WRITE 51
 
P
 
package name 140
packages 308
path 241
Pattern 265
     compile() 266
     matcher() 266
     split() 273
Perl 270
persistence, data 298
PersistenceService 114
plaintext 340
PNG 90
polling 43?44, 49
POSIX 262
postcondition 174, 198
precondition 174, 194?195, 197, 201
PreferenceChangeEvent 325
PreferenceChangeListener 325
Preferences
     exportNode() 335
     exportSubtree() 335
     flush() 318
     importPreferences() 335
     isUserNode() 314
     node() 309
     nodeExists() 317
     systemNodeForPackage() 310, 314
     userNodeForPackage() 310, 314
     userRoot() 308
preferences 298
     asynchronous writing 303, 318
     back end 302, 318, 334
     byte array encoding 313
     change listener 324, 326, 329
     child node 316
     comparison with JNDI 305
     comparison with Properties 304
     concurrency 303, 318
     data model 305
     data type 302, 306
     default value 311, 313, 324
     design 301
     distributed 300
     efficiency of 300
     exporting 335
     fault tolerance 301, 304
     guidelines 299, 301
     importing 335
     iterating through a node 314
     key 305, 312 preferences (continued)
     language-independence 303
     node name 307, 313, 315
     package 308 default package 311
     parent node 316
     path name 307, 315
     portability 302
     reading a value 311
     removing a node 317
     removing a value 314
     root 307
     size limitations 299, 306, 312?313
     stored defauls 335
     storing null 312
     user data vs. system data 304, 306, 314
     value 305, 312
     writing a value 311
prime numbers 234
print service 77
Printable 131
printing 76
     configuration 76
     default printer 76
     document attributes 79
     event listeners 81, 83
     images, printing 76
     in Java Web Start 114
     print dialog 83
     print jobs, tracking 76
     printers, discovering 76?77
     status messages 83
PrintService 77, 114, 131
PrintServiceLookup 77
printStackTrace() 211, 213
private key 341
progressive image 99
properties 145
public key 341
     signed public key 342
public-key cryptography 340
 
R
 
RandomAccess 252
Raster 89
redundancy 63
regex 258
     alternation 263
     boundary 263
     capturing group 260, 267, 281
     character class 260 POSIX 262 predefined 261
     comments 281
     compilation 265
     digit 261
     efficiency 265
     extended syntax 281
     find-and-replace 268, 281, 285
     flags 269 case insensitivity 281 extended sytnax 281 newline 264
     greedy matching 264
     grouping 260
     Java vs. Perl 258, 265, 270
     literal 259
     lookbehind 275?276, 283
     negation 261
     newline 264
     quantifier 259
     reluctant matching 264
     sequencing 263
     white space 261, 281
     wildcard 259
     word boundary 261, 263, 270
     zero-width 275?276, 283
regular expression 258
remote procedure call 216
resource bundle 141
robustness, code 172
root logger 140
RPC 216
RSA 340
 
S
 
sandbox 110
searching
     for file 241
secret key 341
secret-key cryptography 340
Secure Sockets Layer 340
SecureRandom 358
security 63, 340
security provider 340
select() 42, 49
selectable channels 50
selected set 53
selectedKeys() 53
SelectionKey 52
     cancel() 52
     remove() 54
Selector 49
     creating 51
self-signed key 342
ServerSocketChannel.register() 51
ServiceManager 114
ServiceManager.lookup() 114
Set
     efficiency 240
     implementation 240
     insertion speed 240
     ordered 238
     update speed 240
setClassAssertionStatus() 181
setDefaultAssertionStatus() 181
setPackageAssertionStatus() 181
setStackTrace() 210, 215
ShortBuffer 4
SimpleDoc 80
SimpleFormatter 143
SocketHandler 142, 148
software deployment 172
software installation 108
source path 213
sparse array 240
SSL 340?341
SSLContext 345
SSLServerSocket 346
SSLSocket 346
stack frame 208
     synthesis 220
stack trace 208
StackTraceElement 208, 210
     lack of public constructor 210
stored defaults 335
StreamHandler 142
streams
     getting the underlying channel 3
     implemented on top of channels 3, 28
string matching 258
StringBuffer 168, 266, 268
subimage 97
sublist 231?232
sun.* classes 88
symmetric key 341
syntax changes in JDK 1.4 175, 177
System.identityHashCode() 252
 
T
 
tab-delimited file 273
TCP/IP forwarding (example program) 17
telnet 71
text processing 258, 270
thread pool 216
thread priority 217
threads
     using too many 43
Throwable 206
TIFF 99
TLS 340
token 288
Transferable 135
Transport Layer Security 340
trusting code 115
TrustManager 345
TrustManagerFactory 345
 
U
 
uncaught exception 213
Unicode 58
URL, reading an image from 90
US-ASCII 59
UTF-16 59
UTF-16BE 59
UTF-16LE 59
UTF-8 59
 
V
 
validOps() 52
 
W
 
WARNING 139
web log 102
Web Start 108
write caching 39
 
X
 
x-java-jnlp-file MIME type 111, 113
XML 143, 258, 336
XMLFormatter 143