|
|
< Day Day Up > |
|
1.2 About the ExamplesFull code to run all the examples in this book can be downloaded from http://www.oreilly.com/catalog/jthreads3. Code is organized by packages in terms of chapter number and example number. Within a chapter, certain classes apply to all examples and are in the chapter-related package (e.g., package javathreads.examples.ch02). The remaining classes are in an example-specific package (e.g., package javathreads.examples.ch02.example1). Package names are shown within the text for all classes. Examples within a chapter (and often between chapters) tend to be iterative, each one building on the classes of previous examples. Within the text, we use ellipses in code samples to indicate that the code is unchanged from previous examples. For instance, consider this partial example from Chapter 2: package javathreads.examples.ch02.example2;
...
public class SwingTypeTester extends JFrame {
...
private JButton stopButton;
...
private void initComponents( ) {
...
stopButton = new JButton( );The package name tells us that this is the second example in Chapter 2. Following the ellipses, we see that there is a new instance variable (stopButton) and some new code added to the initComponents() method. For reference purposes, we list the examples and their main class at the end of each chapter. 1.2.1 Compiling and Running the ExamplesThe code examples are written to be compiled and run on J2SE 5.0. We use several new classes of J2SE 5.0 throughout the examples and occasionally use new language features of J2SE 5.0 as well. This means that classes must be compiled with a -source argument: piccolo% java -source 1.5 javathreads/examples/ch02/example1/*.java While the -source argument is not needed for a great many of our examples, we always use it for consistency. Running the examples requires using the entire package name for the main class: piccolo% java javathreads.examples.ch02.example1.SwingTypeTester It is always possible to run each example in this fashion: first compile all the files in the example directory and then run the specific class. This can lead to a lot of typing. To make this easier, we've also supplied an Ant build file that can be used to compile and run all examples.
The ant build file we supply has a target for each example that you can run; these targets are named by chapter and example number. For instance, to run the first example from Chapter 2, you can execute this command: piccolo% ant ch2-ex1 The ant target for each example is also listed at the end of each chapter. Some examples require a command-line argument. When using ant, these arguments have a default value (specified in the build.xml file) and can be overridden on the command line. For example, to specify the number of threads for a particular example in Chapter 5, you can run the example like this: piccolo% ant -DCalcThreadCount=5 ch5-ex4 The properties and their defaults are listed at the end of the chapter, like this: <property name="CalcThreadCount" value="10"/> |
|
|
< Day Day Up > |
|