Written by an "in-the-trenches" expert on the Java programming language, this book provides readers with a practical approach to producing correct, efficient, and robust code.
This broad-ranging guide can help programmers with varying levels of expertise to understand Java more completely and to maximize their coding effectiveness. This book's rules-based format examines 68 key topics on how to improve your code, providing crisp, well-written examples and solutions. All of the examples and solutions are accompanied by thorough explanations for achieving a working solution of your own. This practical approach to programming and design describes the best practices used by experienced programmers. Intended for the intermediate to advanced Java programmer, the Practical Java Programming Language Guide is organized into individual lessons, so it can either be read from cover to cover or by individual topic.
Topics discussed include:
If you want to spend less time debugging, optimizing, and tuning your code, this example-oriented, down-to-earth guide is full of practical techniques for exploiting the Java programming language. The 68 topics were chosen based on their relevance to effective and efficient programming practices. A special section focusing on performance provides valuable insights into Java performance issues and useful performance improvement techniques. If you want real-world, sound advice on building applications using the Java programming language, this book is essential reading.
Click below for Interview related to this title:
Interview with the author
GENERAL TECHNIQUES.Praxis 1: Understand that parameters are passed by value, not by reference.
OBJECTS AND EQUALITY.Praxis 8: Differentiate between reference and primitive types.
EXCEPTION HANDLING.Praxis 16: Know the mechanics of exception control flow.
PERFORMANCE.Praxis 28: Focus initially on design, data structures, and algorithms.
MULTITHREADING.Praxis 46: Understand that for instance methods, synchronized locks objects, not methods or code.
This book is a collection of practical suggestions, advice, examples, and discussion about programming in the Java language. It is organized into individual lessons, each called a Praxis (pronounced prak-sis) and each discussing a particular topic. Each Praxis is written so that it stands on its own. You can read the book from front to back or select topics individually. This arrangement allows you to read the book in short intervals. Many Praxes (pronounced prak-sees) are fewer than five pages, thereby allowing you to study them in a brief amount of time.
In the book, I examine in detail particular design and programming issues. I chose the topics based on their relevancy to effective and efficient programming practices. One of the biggest complaints about Java is performance, so I devote the largest section of the book to this topic, exploring techniques to make Java code execute more efficiently.
I wrote this book as a guide to help you design and write code. It helps you understand Java more completely and enables you to write more-efficient, more-robust, and perhaps most important, more-correct code.
All of the information in this book applies to your Java programming. It is not particular to server, client, or GUI (graphical user interface) programming. In addition, you can apply this information to all versions and releases of Java.
The book's style was influenced by Scott Meyers' Effective C++ and More Effective C++ books. Because I found his style so useful as a way to organize a book, I decided to adopt a similar format.
This book is intended for Java programmers who already have grasped the basics of the language. It assumes the reader has a working knowledge of Java and concurrent programming and understands object-oriented concepts and terms. It is for the programmer who wants practical advice, discussion, and examples for using the language effectively.
This book provides seasoned Java programmers as well as programmers new to the language with information and discussion regarding key areas of Java. Enough new information is presented that experienced programmers will greatly benefit and be rewarded by looking at areas that they already know. For example, in some cases I discuss a familiar topic in a way that can help a programmer think about it differently or see another side to it not previously explored.
Programmers new to Java can also gain a lot from this book. I offer discussions and examples that help eliminate many common programming errors. I also dispel some common misconceptions about Java and highlight certain questions about specific language features.
This book is organized into six main sections.
Under each of these headings is a varied number of related topics. Often, I discuss individual attributes of particular topics in more than one place. For example, I discuss the synchronized keyword at length but in various places. Each discussion deals with a different aspect of synchronized. However, I have provided extensive cross-referencing so that you will know, when reading a particular topic, where other relevant information exists.
Following the Contents is a Detailed Contents. This section contains all of the praxes headings and their page numbers, with a brief summary of the core instruction contained in each Praxis. You can use this Detailed Contents to refresh your memory about a topic or to locate a particular topic or subject matter.
The Appendix contains a proven technique to further expand your knowledge about Java. Also included is a Further Reading section, which lists relevant books and periodicals relating to Java and general design and programming.
Praxis is the result of my search for a word that summarizes what I am trying to do in this book. In the 1982 American Heritage Dictionary, Praxis is defined as follows: The practical application or exercise of a branch of learning. This is exactly what I want to do in the book.
The most appropriate definition is provided by Webster's New Collegiate Dictionary, 1958: Practice, especially of an art, science, or technical occupation; opposite to theory. This definition most accurately sums up what the book is about. The phrase, "opposite to theory," was the clincher. There is nothing wrong with theory. Its place, however, is not in this book.
All code examples in the text have been compiled and run with the latest version of Java available when the book was written. The code was compiled and run with the Sun Java 2 SDK, Standard Edition, v1.2.1 on Windows NT 4.0. To access the source code, you must register the book at the following World Wide Web site:
At this Web site, you will need to enter the unique code found at the back of this book on the page entitled, "How to Register Your Book."
I welcome feedback on this book. Any comments, criticisms, or bug reports should be sent to PracticalJava@awl.com.
I hope you find this book useful, enjoyable, and practical.Peter Haggar