Written by an "in-the-trenches" expert on the Java(tm) 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(tm) 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:
* Objects and equality * Exception handling * Performance * Multithreading * Classes and interfaces
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.
"synopsis" may belong to another edition of this title.
Peter Haggar is an acknowledged expert on Java programming and a Senior Software Engineer at IBM. He has a broad range of programming experience, having worked on development tools, class libraries, and operating systems. At IBM, he works on emerging Java technology and is currently focusing on embedded and real-time Java. Peter is also a frequent technical speaker on Java technology at numerous industry conferences. He received a B.S. in computer science from Clarkson University.
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.
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
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.
1.General Techniques--Presents several fundamental areas of Java programming including parameter passing, arrays, Vectors, and garbage collection. 2.Objects and Equality--Examines objects and primitive types and how and why you should implement an equals method for a class. 3.Exception Handling--Gives a detailed analysis of exception handling techniques and how to incorporate exceptions into your code effectively. 4.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. 5.Multithreading--Covers aspects of the threading model that are critical to building robust and reliable multithreaded programs. 6.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 Addison-Wesley 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."
Providing Feedback
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 Research Triangle Park, North Carolina November, 1999
"About this title" may belong to another edition of this title.
FREE shipping within U.S.A.
Destination, rates & speedsSeller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00084399702
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Very Good. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00073363031
Quantity: 4 available
Seller: Better World Books, Mishawaka, IN, U.S.A.
Condition: Good. Used book that is in clean, average condition without any missing pages. Seller Inventory # 337552-6
Quantity: 2 available
Seller: Better World Books: West, Reno, NV, U.S.A.
Condition: Good. Used book that is in clean, average condition without any missing pages. Seller Inventory # 337552-6
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.45. Seller Inventory # G0201616467I3N00
Quantity: 1 available
Seller: WorldofBooks, Goring-By-Sea, WS, United Kingdom
Paperback. Condition: Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Seller Inventory # GOR002056337
Quantity: 3 available
Seller: WeBuyBooks, Rossendale, LANCS, United Kingdom
Condition: Good. Most items will be dispatched the same or the next working day. A copy that has been read but remains in clean condition. All of the pages are intact and the cover is intact and the spine may show signs of wear. The book may have minor markings which are not specifically mentioned. Seller Inventory # wbs8154305082
Quantity: 1 available
Seller: Pella Books, Pella, IA, U.S.A.
Trade Paperback. Condition: Used Good. Seller Inventory # 230524
Quantity: 1 available
Seller: BennettBooksLtd, North Las Vegas, NV, U.S.A.
paperback. Condition: New. In shrink wrap. Looks like an interesting title! Seller Inventory # Q-0201616467
Quantity: 1 available
Seller: OM Books, Sevilla, SE, Spain
Condition: usado - bueno. Seller Inventory # 9780201616460
Quantity: 1 available