| |||||||||||||||
This book is organized simply and effectively with 68 practical tips (or in the author's terms "praxes") for writing better Java code. Tips are grouped into sections, such as general tips, objects and equality, exception handling, and performance and multithreading. The book illustrates each tip with short code excerpts demonstrating effective coding strategies (plus several common Java pitfalls).
The book contains numerous standout sections, including the proper way to write equals methods for custom classes, tips for writing more efficient classes, and numerous do-it-yourself techniques for optimizing code. (As the author suggests, not all of today's Java compilers will do this optimization for you.) The book contains several sections that should be read by every Java developer, and though some tips are more obscure, there's certainly something to benefit every reader.
While C++ programmers have had books on coding style for years, Java is only now coming into its own with titles like this one. With its concise format, no-nonsense prose style, and expert-eye perspective on Java, Practical Java: Programming Language Guide shows the same maturing refinement as the language it lucidly describes. --Richard Dragan
Topics covered: Java programming tips, understanding references, final and static keywords, using instanceof, tips for garbage collection, custom equals methods, exception handling tips, using finally blocks, using exceptions with constructors, performance tips, compile-time vs. run-time code optimization, using StringBuffer, minimizing object creation, arrays, Java native code, multithreading tips, the synchronized keyword, spin locks, Java interfaces for emulating multiple inheritance, the abstract keyword, the clone method and immutable objects, tips for finalize methods.
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. Target Audience
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. Organization of This Book
This book is organized into six main sections.
General Techniques--Presents several fundamental areas of Java programming including parameter passing, arrays, Vectors, and garbage collection. Objects and Equality--Examines objects and primitive types and how and why you should implement an equals method for a class. Exception Handling--Gives a detailed analysis of exception handling techniques and how to incorporate exceptions into your code effectively. Performance--Shows many techniques that you can use to improve the performance of your code. The JVM (Java Virtual Machine), bytecode, and JITs (Just-in-Time code generators) are examined. Multithreading--Covers aspects of the threading model that are critical to building robust and reliable multithreaded programs. Classes and Interfaces--Explains interfaces and abstract and concrete classes and where and when to use each. It also discusses immutable objects, cloning, and finalization in detail.
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. A Few Words on the Word Praxis
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. Example Code
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: awl/cseng/register
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." Providing Feedback
I welcome feedback on this book. Any comments, criticisms, or bug reports should be sent to PracticalJava@awl.
I hope you find this book useful, enjoyable, and practical. Peter Haggar
Research Triangle Park, North Carolina
November, 1999
0201616467P04062001
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
38 of 40 people found the following review helpful:
5.0 out of 5 stars
Excellent Practical Java Guide line book!,
By Dong Zheng (Atlanta, USA) - See all my reviews
This review is from: Practical Java™ Programming Language Guide (Paperback)
Practical Java Programming Language Guide used the "essay" style similar to "Effective C++" to explain some issues in Java. It covers General Technique,Object and Equality, Exception Handling, Performance, Multithreading and Class & Interface with total 68 'Praxis'. This 'essay' style is my favorite. It represents topics in each small 'essay' and you can easily pick up the topic you are interested in without getting lost, or just read the book from cover-to-cover. It is also very useful for checking up something in which you'd like to have more understanding. You won't get bored there! I would say this book is for intermediate to advance Java programmer. It is not a book to learn how to program in Java, it is a good book to get more understanding with Java. It will help you learn more about Java, become a better Java programmer. I feel like I've learn a lot even with my 4-years professional Java programming experience. Also, if you are new to Java, this book will help you Ace your Java interview:) Sometimes, as a programmer, we tend to forget the low-level details as to why we do things that way. For example, the difference between "==" and ".equals()", we all know we need to use .equals() to comare Object reference, use "==" for primitive data type. After reading this book, I know more about "why" we did things that way than just "what" to do. That's just a small example, I bet you'll find lots of "ah-ha" monents in reading this book. One shortcoming I'd like to point out is there are some duplicates in explaining some topic. Maybe the author wanted to emphasis some points but I feel like it is redundant. e.g. both Praxis 11 and praxis 15 talk about how to immplement equals() method which I think only one would be enough. Also, it would be great if the broadth of the topic was expanded some more. Overall, it is a great book. I've been enjoying reading it and find it very helpful. I am looking forward to something like "More practical Java programming Language Guide" coming...
10 of 10 people found the following review helpful:
5.0 out of 5 stars
A Handy Software Design Companion,
This review is from: Practical Java™ Programming Language Guide (Paperback)
I find Peter Haggar's *Practical Java Programming Language Guide* to be a very handy companion when doing software design. Since his "Praxes" are largely independent nuggets of wisdom, I can turn to one readily when I am deliberating over a design decision in Java, and seek Peter's advice. I have also read a few of the chapters from beginning to end to gain a deeper grounding in a particular area (e.g., exception handling). In summary, this is a very to-the-point book, full of practical advice for even seasoned Java developers.
8 of 8 people found the following review helpful:
5.0 out of 5 stars
Excellant book for experienced programmers learning Java,
By A Customer
This review is from: Practical Java™ Programming Language Guide (Paperback)
I wish I had had this book when I first started learning Java. Peter covers many topics that I have struggled with in great detail. I was just beginning to think I knew Java very well. Thanks to Peter now I do.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|