Java Pitfalls - Michael C. Daconta, Eric Monk, J. Paul Keller, Keith Bohnenberger

Java Pitfalls

Time-saving Solutions and Workarounds to Improve Programs
Buch | Softcover
336 Seiten
2000
John Wiley & Sons Inc (Verlag)
978-0-471-36174-9 (ISBN)
37,24 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
This book was designed to save Java programmers from the backbreaking chore of sorting out problems caused by Java's inherent flaws. It provides proven solutions to 50 difficult problems commonly encountered by Java programmers.
A lifesaver for any Java programmer-proven workarounds and time-saving solutions Although using the Java language provides a substantial boost to a programmer's productivity, it still has its share of subtleties andweaknesses. This book is designed to save you time and frustration by carefully guiding you through this potential minefield. A team of Java experts, led by programming guru Michael Daconta, offers a collection of proven solutions to 50 difficult, real-world problems chosen from their own extensive experiences. You'll find workarounds for problems caused by shortcomings in both the Java language itself and in its APIs and utilities, including java.util, java.io, java.awt, and javax.swing. The authors also share techniques for improving the performance of your Java applications. For easy reference, the book is organized into categories so that similar solutions are grouped together.
Examples of topics covered include: Language syntax, for example, using the String equals( ) method instead of the == operator (Item2) Language support, for example, method dispatching with reflection, interfaces, and anonymous classes (Item 16) Utilities and collections, like choosing between a PropertyFile and ResourceBundle (Item 20) Input/output, including subtleties in sending serialized objects over a network (Item 25) GUI presentation, for example, tackling the common pitfall of using repaint( ) instead of validate( ) for relaying out components (Item 29) Performance, including tips like lazy loading your way to better performance (Item 43)

MICHAEL C. DACONTA is President of Synergy Solutions, Inc., where he conducts training seminars and develops advanced systems with Java, JavaScript, and XML. He is a Sun-certified Java programmer and author of Java 2 and JavaScript for C and C++ Programmers and C++ Pointers and Dynamic Memory Management. ERIC MONK is a software developer for Universal Systems Inc., where he develops medical software using a wide variety of technologies. He is also a coauthor of Java 2 and JavaScript for C and C++ Programmers. J. PAUL KELLER is a Director of Technology at Sterling Software. He is a Sun-certified Java programmer who has been developing software for twenty years. KEITH BOHNENBERGER is a Senior Software Engineer at Sterling Software. He is a Sun-certified Java programmer who has been developing software for seven years.

LANGUAGE SYNTAX. When is an "Overridden" Method Not Really Overridden? Usage of String Equals() Method versus the "=="Operator. Java is Strongly Typed. Is That a Constructor? Cannot Access Overridden Methods. Avoid the "Hidden Field" Pitfall. Forward References. Design Constructors for Extension. Passing Primitives by Reference. Boolean Logic and Short-Circuit Operators. LANGUAGE SUPPORT. Reclaiming References When Using SoftReference Objects. Causing Deadlock by Calling a Synchronized Method from a Synchronized Method. Properly Cloning an Object. Overriding the equals Method. Avoid Using Constructor for Implementing clone(). Method Dispatching with Reflection, Interfaces, and Anonymous Classes. Handling Exceptions and OutOfMemoryError. UTILITIES AND COLLECTIONS. Ordered Property Keys? Handling Occasionally Huge Collections with Caching and Persistence. Property File or ResourceBundle? Properties Object Pitfalls. Using Vector as a Collection Instead of Old API. INPUT/OUTPUT. Serialization. Unicode, UTF, and Streams. Sending Serialized Objects over Sockets. Try, Catch... Finally? Flushing Image Resources. GUI PRESENTATION. Providing Progress Feedback. Using repaint () Instead of validate () for Re-Layout of Components. Z-Order and Overlapping Components. Solving the Validate, Revalidate, Invalidate Mystery. Stacking Items Vertically. How to Use GridBagLayout Properly. Avoiding Flicker. Components with Embedded HTML. GUI CONTROL. Better Data Validation. Desensitizing GUI Components Based on Application State. Use Threads in Event Handlers to Avoid Freezing Your GUI. Model View Controller and JTree. How to Data Transfer Something Other than Text. A KeyListener That Doesn't Listen? Printing Text, HTML, and Images in a JEditorPane. PERFORMANCE. Lazy Loading Our Way to Better Performance. Using Object Pools for Excessive Object Creation. Performance Watch: Array versus Vector. Avoid Using Temporary Arrays for Dynamic Array Growth. Use StringBuffer Instead of '+' for Concatenation inside a Loop. MISCELLANEOUS. Is There a Better Way to Debug? Encapsulating JNI Calls through Interfaces. Assertions. Index.

Erscheint lt. Verlag 1.6.2000
Zusatzinfo illustrations
Verlagsort New York
Sprache englisch
Maße 188 x 233 mm
Gewicht 567 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-471-36174-7 / 0471361747
ISBN-13 978-0-471-36174-9 / 9780471361749
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90