img
3. Execute the applet viewer, specifying the name of your applet's source file. The applet
viewer will encounter the APPLET tag within the comment and execute your applet.
The window produced by SimpleApplet, as displayed by the applet viewer, is shown in
the following illustration:
While the subject of applets is more fully discussed later in this topic, here are the key
points that you should remember now:
· Applets do not need a main( ) method.
· Applets must be run under an applet viewer or a Java-compatible browser.
· User I/O is not accomplished with Java's stream I/O classes. Instead, applets use
the interface provided by the AWT or Swing.
The transient and volatile Modifiers
Java defines two interesting type modifiers: transient and volatile. These modifiers are used
to handle somewhat specialized situations.
When an instance variable is declared as transient, then its value need not persist when
an object is stored. For example:
class T {
transient int a; // will not persist
int b; // will persist
}
Here, if an object of type T is written to a persistent storage area, the contents of a would
not be saved, but the contents of b would.
The volatile modifier tells the compiler that the variable modified by volatile can be
changed unexpectedly by other parts of your program. One of these situations involves
multithreaded programs. (You saw an example of this in Chapter 11.) In a multithreaded
program, sometimes two or more threads share the same variable. For efficiency considerations,
each thread can keep its own, private copy of such a shared variable. The real (or master) copy of
the variable is updated at various times, such as when a synchronized method is entered. While
this approach works fine, it may be inefficient at times. In some cases, all that really matters is
that the master copy of a variable always reflects its current state. To ensure this, simply specify
the variable as volatile, which tells the compiler that it must always use the master copy of a
volatile variable (or, at least, always keep any private copies up-to-date with the master copy,
and vice versa). Also, accesses to the master variable must be executed in the precise order in
which they are executed on any private copy.
Search WWH :
Custom Search
Previous Page
Java SE 6 Topic Index
Next Page
Java SE 6 Bookmarks
Home