Java Pitfalls


Book Description

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)




More Java Pitfalls


Book Description

Building on the success of Java Pitfalls (0-471-36174-7), this book provides more specific programming solutions to fifty difficult Java programming problems Shows experienced programmers how to identify and avoid weaknesses in Java and related J2EE technologies that can cause programs to go haywire Explores advanced topics including networking, XML and Java programming, and the Java Virtual Machine




More Java Pitfalls


Book Description

"More Java Pitfalls" is a follow-up book to the successful original book, "Java Pitfalls, " providing more specific programming solutions to 50 difficult Java programming problems. Whereas "Java Pitfalls" focused primarily on problems with the Java language itself, this volume expands to cover both the 1.4 release of the Java language as well as related J2EE technologies.




Jakarta Pitfalls


Book Description

Ideal intermediate-level book for programmers to turn to once they have read the introductory books. Identifies what can go wrong and provides refactored solutions for each pitfall complete with code. All of the pitfalls are cross-referenced within the text as well as outlined in a summary table in the back of the book. Includes background information and troubleshooting tips so programmers can avoid other errors that may also occur. The Web site contains all of the refactored code solutions and links to appropriate tool downloads.




Java Puzzlers


Book Description

"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles." --Guy Steele, Sun Fellow and coauthor of The Java™ Language Specification "I laughed, I cried, I threw up (my hands in admiration)." --Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you! In the tradition of Effective Java™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging. Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference. Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.







Advanced Java


Book Description

This book introduces the advanced features of Java. Among these are OO design and analysis of Java programs, implementing callbacks, enhancing the Java toolkit, meta-programming in Java, security, multiple threads, 3D imaging, and access to third party software.




100 Java Mistakes and How to Avoid Them


Book Description

Dodge the common mistakes that even senior developers make, take full advantage of static analysis tools, and deliver robust and error-free Java code. Inside 100 Java Mistakes and How To Avoid Them you will learn how to: Write better Java programs Recognize common mistakes during programming Create fewer bugs and save time for debugging and testing Get help from static analyzers during programming Configure static analysis tools to reduce amount of false reports Extend static analysis tools with custom plugins Whenever you make a mistake writing Java, it’s almost guaranteed that someone else has made it before! In 100 Java Mistakes and How To Avoid Them you’ll learn about the common and the not-so-common antipatterns, errors, and tricky bits that trip up almost every Java developer. Discover the bugs that are hiding in your Java code, and explore useful and effective ways to dodge them—from unit tests and defensive coding to static analysis tools like IntelliJ IDEA, SonarLint, and Error Prone. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Minor bugs you might not notice when writing code can quickly spin out of control in production, costing you time and money to fix. The solution is clear: spot the mistakes before you make them! This one-of-a-kind guide makes it just that easy. It shines a spotlight on the errors most often made by Java developers, so you can consistently deliver exceptional Java code. About the book 100 Java Mistakes and How To Avoid Them shows you how to improve your Java code by identifying and dodging common programming problems. Inside, you’ll find one hundred errors, from missteps that trip up beginners to mistakes even Java experts don’t know they’re making. Each mistake is accompanied by concrete troubleshooting advice, as well as ways of using modern static analysis tools like IntelliJ IDEA and SonarLint to identify and fix the problem. You’ll quickly see why static analysis can be so helpful for writing your code, and even learn how to write your own useful plugins! About the reader For Java developers of all skill levels. About the author Tagir Valeev is a technical lead in JetBrains GmbH, where he works in the Java team and gives Java language support in IntelliJ IDEA. Tagir designed and developed many code inspections for IntelliJ IDEA built-in static analyzer. He is a Java Champion, and holds a PhD in computer science.




Java Concurrency in Practice


Book Description

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice, the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them. However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant. This book covers: Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model




Data Crunching


Book Description

Every day, all around the world, programmers have to recycle legacy data, translate from one vendor's proprietary format into another's, check that configuration files are internally consistent, and search through web logs to see how many people have downloaded the latest release of their product. This kind of "data crunching," may not be glamorous, but knowing how to do it efficiently is essential to being a good programmer. This book describes the most useful data crunching techniques, explains when you should use them, and shows how they will make your life easier. Along the way, it will introduce you to some handy, but under-used, features of Java, Python, and other languages. It will also show you how to test data crunching programs, and how data crunching fits into the larger software development picture.