16.2.6
if
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
16.2.7
switch
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
16.2.8
while
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
16.2.9
do
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
16.2.10
for
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
16.2.10.1 Initialization Part . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
16.2.10.2 Incrementation Part. . . . . . . . . . . . . . . . . . . . . . . . . . 397
16.2.11
break
,
continue
,
return
, and
throw
Statements. . . . . . . . . . 397
16.2.12
synchronized
Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
16.2.13
try
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
17
Threads and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
17.1
Terminology and Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
17.2
Execution Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
17.3
Rules about Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
17.4
Nonatomic Treatment of
double
and
long
. . . . . . . . . . . . . . . . . . . . . . . 405
17.5
Rules about Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
17.6
Rules about the Interaction of Locks and Variables . . . . . . . . . . . . . . . . . 407
17.7
Rules for Volatile Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
17.8
Prescient Store Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
17.9
Discussion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
17.10 Example: Possible Swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
17.11 Example: Out of Order Writes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
17.12 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
17.13 Locks and Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
17.14 Wait Sets and Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
18
Documentation Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
18.1
The Text of a Documentation Comment . . . . . . . . . . . . . . . . . . . . . . . . . 419
18.2
HTML in a Documentation Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
18.3
Summary Sentence and General Description . . . . . . . . . . . . . . . . . . . . . . 420
18.4
Tagged Paragraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
18.4.1
The
@see
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
18.4.2
The
@author
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
18.4.3
The
@version
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
18.4.4
The
@param
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
18.4.5
The
@return
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
18.4.6
The
@exception
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
18.5
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
19
LALR(1) Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
19.1
Grammatical Difficulties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
19.1.1
Problem #1: Names Too Specific. . . . . . . . . . . . . . . . . . . . . . . . 433
19.1.2
Problem #2: Modifiers Too Specific . . . . . . . . . . . . . . . . . . . . . 435
19.1.3
Problem #3: Field Declaration versus Method Declaration. . . . 437
19.1.4
Problem #4: Array Type versus Array Access . . . . . . . . . . . . . . 438
xvii
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved