Java Overview Part II

Access Control

Final Modifier

Static Modifier

Topics

Concurrent Programming

What is a Thread?

Processes vs. Threads

Life cycle of a Thread

Life cycle of a Thread (cont’d)

What can go wrong?

What can you do about it?

More on synchronized

More on synchronized

More that can go wrong

How does Java handle Threads?

How does Java handle them? (cont’d)

How does Java handle them? (cont’d)

How does Java handle them? (cont’d)

Thread examples

Advanced Thread Features

Why would I use them?

Inter-Thread Communication

Waiting for notification

wait() (cont’d)

notify()

notify() (cont’d)

notifyAll() (cont’d)

Break?

java.io Abstract Classes

Reader/Writer

InputStream/OutputStream

File Input and Output

cat.java notes

cat2.java

Wrapping Streams/Readers

Wrapping (cont’d)

Specialized Wrappers

More specialized wrappers

What to notice from gzip.java

More complex exception handling

Object Serialization

Object Serialization (cont’d)

Object Serialization (cont’d)

java.io.File

java.io.File (cont’d)

java.io.RandomAccessFile