Saturday, July 5, 2008

Core Java, Vol. 2: Advanced Features, 8th Edition














Core Java, Vol. 2: Advanced Features, 8th Edition



The revised edition of the classic Core Javaâ„¢, Volume II–Advanced Features, covers advanced user-interface programming and the enterprise features of the Java SE 6 platform. Like Volume I (which covers the core language and library features), this volume has been updated for Java SE 6 and new coverage is highlighted throughout. All sample programs have been carefully crafted to illustrate the latest programming techniques, displaying best-practices solutions to the types of real-world problems professional developers encounter.

Volume II includes new sections on the StAX API, JDBC 4, compiler API, scripting framework, splash screen and tray APIs, and many other Java SE 6 enhancements. In this book, the authors focus on the more advanced features of the Java language, including complete coverage of

  • Streams and Files
  • Networking
  • Database programming
  • XML
  • JNDI and LDAP
  • Internationalization
  • Advanced GUI components
  • Java 2D and advanced AWT
  • JavaBeans
  • Security
  • RMI and Web services
  • Collections
  • Annotations
  • Native methods

For thorough coverage of Java fundamentals–including interfaces and inner classes, GUI programming with Swing, exception handling, generics, collections, and concurrency–look for the eighth edition of Core Javaâ„¢, Volume I–Fundamentals (ISBN: 978-0-13-235476-9).

Core Java(TM), Volume I--Fundamentals (8th Edition)














Core Java(TM), Volume I--Fundamentals (8th Edition)



This revised edition of the classic Core Javaâ„¢, Volume I–Fundamentals, is the definitive guide to Java for serious programmers who want to put Java to work on real projects.

Fully updated for the new Java SE 6 platform, this no-nonsense tutorial and reliable reference illuminates the most important language and library features with thoroughly tested real-world examples. The example programs have been carefully crafted to be easy to understand as well as useful in practice, so you can rely on them as an outstanding starting point for your own code.

Volume I is designed to quickly bring you up to speed on what’s new in Java SE 6 and to help you make the transition as efficiently as possible, whether you’re upgrading from an earlier version of Java or migrating from another language. The authors concentrate on the fundamental concepts of the Java language, along with the basics of user-interface programming. You’ll find detailed, insightful coverage of

  • Java fundamentals
  • Object-oriented programming
  • Interfaces and inner classes
  • Reflection and proxies
  • The event listener model
  • GUI programming with Swing
  • Packaging applications
  • Exception handling
  • Logging and debugging
  • Generic programming
  • The collections framework
  • Concurrency

For detailed coverage of XML processing, networking, databases, internationalization, security, advanced AWT/Swing, and other advanced features, look for the forthcoming eighth edition of Core Java™, Volume II—Advanced Features (ISBN: 978-0-13-235479-0).

Core Java Data Objects














Core Java Data Objects


The experienced Java developer's guide to persistence with JDO!

Master JDO, the breakthrough technology for persistenting Java objects!

Java Data Objects (JDO) streamlines development by providing Java-centric mechanisms for making objects persistent, and standard APIs for connecting application code with underlying persistent datastores. Core Java Data Objects is the definitive, comprehensive guide to JDO persistence for every experienced Java developer.

Using realistic code examples, this book's expert authors cover creating, reading, updating, and deleting persistent objects; object lifecycles and state transitions; JDO classes and APIs; queries, architecture, security, and much more. They show how to integrate JDO with EJB, JTA, JCA, and other J2EE technologies; and introduce best practices for using JDO in both standalone programs and J2EE components.

If you want to spend more time solving business problems and less time worrying about persistence, you need JDO. And you need the one book that'll help you make the most of JDO: Core Java Data Objects.

Core Java Data Objects delivers:


  • Practical examples showing how JDO can be applied to existing applications
  • Powerful insights for using JDO to architect new systems more effectively
  • Step-by-step guidance for integrating JDO with other J2EE technologies
  • Best practices for using JDO in real-world business environments

Core Java 2, Volume II: Advanced Features, Seventh Edition














Core Java 2, Volume II: Advanced Features, Seventh Edition


The seventh edition of Core Java 2, Volume II, covers advanced user-interface programming and the enterprise features of the Java 2 Platform, Standard Edition (J2SE ). Like Volume I (which covers the most important language and library features), this book has been completely updated and revised for J2SE 5.0. All of the sample programs have been updated and carefully crafted to illustrate practical solutions to the type of real-world problems professional developers encounter.

Core Java 2, Volume I:Fundamentals, Seventh Edition














Core Java 2, Volume I:Fundamentals, Seventh Edition


Completely revised and up-to-date coverage of


  • Generic programming, restrictions and limitations, type bounds, wilcard types, and generic reflection
  • Swing GUI development, including input validation and other enhancements
  • Exception handling and debugging, including chained exceptions, stack frames, assertions, and logging
  • Streams and files, the new I/O API, memory-mapped files, file locking, and character set encoders/decoders
  • Regular expressions using the powerful java.util.regex package
  • Inner classes, reflection, and dynamic proxies
  • Application packaging and the Preferences API


The seventh edition of Core Java 2, Volume I, covers the fundamentals of the Java 2 Platform, Standard Edition (J2SEâ„¢). A no-nonsense tutorial and reliable reference, this book features thoroughly tested real-world examples. The most important language and library features are demonstrated with deliberately simple sample programs, but they aren' fake and they don' cut corners. More importantly, all of the programs have been updated for J2SE 5.0 and should make good starting points for your own code. You won' find any toy examples here. This is a book for programmers who want to write real code to solve real problems.

Volume I concentrates on the fundamental concepts of the Java language, along with the basics of user-interface programming and provides detailed coverage of


  • Object-oriented programming
  • Reflection and proxies
  • Interfaces and inner classes
  • The event listener model
  • Graphical user-interface design with the Swing UI toolkit
  • Exception handling
  • Stream input/output and object serialization
  • Generic programming


For the same real-world treatment of enterprise features and advanced user-interface programming, look for the forthcoming new edition of Core Java 2, Volume IIâ Advanced Features.

It includes new sections on metadata and other J2SE 5.0 enhancements along with complete coverage of:

  • Multithreading
  • Distributed objects
  • Databases
  • Advanced GUI components
  • Native methods
  • XML Processing
  • Network programming
  • Collection classes
  • Advanced graphics
  • Internationalization
  • JavaBeans







Constructing Intelligent Agents With Java: A Programmer's Guide to Smarter Applications














Constructing Intelligent Agents With Java: A Programmer's Guide to Smarter Applications


Intelligent Agents with JavaTM

A Programmer's Guide to Smarter Applications

Add Artificial Intelligence to your Java applications Learn to design and implement agent-based reasoning, modeling, and learning Build your own personal assistants, Web agents, e-commerce agents, and multiagent systems.

Learn how to create intelligent agents that can automate, mediate, and administer basic business functions.

Java makes it easier than ever for programmers to build complex agents that reason and learn. In this book, enterprise programming experts Joe and Jennifer Bigus show you how to take advantage of Java's advanced features to differentiate your applications and build the smartest high-powered applications possible.

The authors explain the principles of Al program design using Java's object-oriented features and present the essential AI algorithms used to develop agents that reason, model, and learn to adapt to the world around them. They then show how to apply these algorithms and techniques in practical "real-world" distributed computing applications. They develop an intelligent agent architecture and use it to construct several agent-enhanced programs, including a PC management agent, an adaptive Internet news reader that filters articles based on user preferences, and an electronic marketplace application where agents do the buying and selling.

Concurrent Programming in Java(TM) Design Principles and Pattern (2nd Edition)














Concurrent Programming in Java(TM) Design Principles and Pattern (2nd Edition)


Concurrent Programming in Java, 2nd Edition surveys a wide field of research in parallelism and concurrency and shows how to do more with multithreading in Java with dozens of patterns and design tips. Written for the advanced Java developer, this book offers a comprehensive tour of leading-edge thinking about parallel coding processes.

Within the dozens of techniques and tips offered here, this book accomplishes at least two goals. First, it shows how concurrency is implemented by default within Java, with material on how built-in features (like the synchronized keyword and its memory model) can be expected to perform when dealing with multiple threads. Naturally, Java threads themselves are also covered, including priorities, scheduling, and the like.

Much of this book looks at ways to improve performance of concurrent code beyond the simple default strategies. After defining criteria for measuring concurrent code (such as safety and "liveness," a measure of running live threads effectively), the book presents dozens of techniques for letting threads work together safely. For the working Java programmer, coverage of patterns that have been implemented in the downloadable java.concurrency package will be the most immediately useful. (Within this nearly encyclopedic survey, short code snippets are used for every pattern and concept.)

Though theoretical at times, this book offers plenty of ideas and sample code to get you started thinking of ways to improve multithreaded code.

Impressively comprehensive, Concurrent Programming in Java offers a veritable bible of techniques for doing two things at once with threads in Java. It's a worthwhile guide to the state-of-the-art strategies for improving the performance of your Java threads. --Richard Dragan

Topics covered: Threads and concurrency in Java, design considerations (safety, liveness, and performance), Before/After Patterns, layering, adapters, immutability and synchronization, deadlock, resource ordering, the Java Memory Model and concurrency, using the java.concurrency package, confinement, refactoring for concurrency, mutexes, read-write locks, recovering from failure, notifications, semaphores, latches, exchanges, transactions, one-way messages, worker threads, polling and event-driven I/O, parallelism techniques (fork/join, computation trees, and barriers), Communicating Sequential Processes (CSP).

Concurrent and Real-Time Programming in Java















Concurrent and Real-Time Programming in Java


Real-time functionality is essential for developing many consumer, industrial, and systems devices. While the C/C programming language is most often used in the creation of real-time software, the Java language, with its simple and familiar object-oriented programming model, offers many advantages over current real-time practices. Concurrent and Real-Time Programming in Java covers the motivations for, and semantics of, the extensions and modifications to the Java programming environment that enable the Java platform (Virtual Machine) to meet the requirements and constraints of real-time development. Key aspects of concurrent and real-time programming and how they are implemented in Java are discussed, such as concurrency, memory management, real-time scheduling, and real-time resource sharing.

Concurrent and Distributed Computing in Java














Concurrent and Distributed Computing in Java

Concurrent and Distributed Computing in Java addresses fundamental concepts in concurrent computing with Java examples. The book consists of two parts. The first part deals with techniques for programming in shared-memory based systems. The book covers concepts in Java such as threads, synchronized methods, waits, and notify to expose students to basic concepts for multi-threaded programming. It also includes algorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures.
The second part of the book deals with programming in a message-passing system. This part covers resource allocation problems, logical clocks, global property detection, leader election, message ordering, agreement algorithms, checkpointing, and message logging. Primarily a textbook for upper-level undergraduates and graduate students, this thorough treatment will also be of interest to professional programmers.

Concurrency: State Models and Java Programs














Concurrency: State Models and Java Programs


Concurrency provides a thoroughly updated approach to the basic concepts and techniques behind concurrent programming. Concurrent programming is complex and demands a much more formal approach than sequential programming. In order to develop a thorough understanding of the topic Magee and Kramer present concepts, techniques and problems through a variety of forms: informal descriptions, illustrative examples, abstract models and concrete Java examples. These combine to provide problem patterns and associated solution techniques which enable students to recognise problems and arrive at solutions.

Building Scalable and High-Performance Java Web Applications Using J2EE Technology














Building Scalable and High-Performance Java Web Applications Using J2EE Technology

Building Scalable and High-Performance Java™ Web Applications Using J2EE™ Technology provides the concise roadmap Java developers and Web engineers need to build high-performance and scalable enterprise Web applications. It is unique in its focus on building efficient end-to-end solutions based on the widely adopted J2EE specification. Each of the relevant technologies is summarized and analyzed in terms of its scalability and performance implications. Special attention is also given to those parts of Web application design that extend beyond the J2EE specification, including strategies for efficient networking and database design.

Packed with general system architecture tips and balanced with succinct examples for each technology, this book allows you to focus on practical strategies for effective application design without getting overwhelmed with useless detail. As a result, you will quickly and easily be able to understand how to use J2EE technologies to build application systems that deliver scalability and high performance.

Coverage includes:


  • Essentials of Web application architecture
  • The J2EE standard
  • General techniques for building scalable and high-performance systems
  • The HTTP protocol, with special focus on features that maximize performance
  • Java™ Servlets and JavaServer Pages™ (JSP)
  • Enterprise JavaBeans™ (EJB)
  • Java™ Message Service (JMS)
  • Effective database design techniques
  • Efficient database management with JDBC™ and SQL
  • Essentials of Web Services, including XML, SOAP, WSDL, and UDDI







Building Parsers With Java












Building Parsers With Java


Metsker (researcher and author, no university affiliation) shows how to create parsers that recognize custom programming languages. The book provides a tutorial on writing parsers, following the Interpreter Design Pattern. A demonstration on applying parsers is included, using about 100 short examples, UML diagrams, and a pure Java parser tool kit to illustrate key points. An accompanying CD contains all of the examples and the parser tool kit, including approximately 300 Java classes and their corresponding javadoc documentation. The CD also provides example programs for the new logic, query, and imperative languages that the book introduces.

Building Applications With WebSphere Studio And JavaBeans : A Guided Tour














Building Applications With WebSphere Studio And JavaBeans : A Guided Tour


This guide to developing applications using the WebSphere Studio Visual Editor for Java and JavaBeans teaches programmers to build applications more efficiently. They learn basics such as developing Java applets and applications, as well as more advanced topics, such as using relational databases and XML documents to store application data. The use of WebSphere Studio to build applications with JavaBeans is covered, and the reasons why JavaBeans are so useful for application programming is explained.

Bug Patterns In Java








Bug Patterns In Java




Bug Patterns in Java presents a methodology for diagnosing and debugging computer programs. The act of debugging will be presented as an ideal application of the scientific method. Skill in this area is entirely independent of other programming skills, such as designing for extensibility and reuse. Nevertheless, it is seldom taught explicitly. Eric Allen lays out a theory of debugging, and how it relates to the rest of the development cycle. In particular, he stresses the critical role of unit testing in effective debugging. At the same time, he argues that testing and debugging, while often conflated, are properly considered to be distinct tasks.

Upon laying this groundwork, Allen then discusses various "bug patterns" (recurring relationships between signaled errors and underlying bugs in a program) that occur frequently in computer programs. For each pattern, the book discusses how to identify them, how to treat them, and how to prevent them.

Bluetooth for Java












Bluetooth for Java

Bluetooth is a technology for wireless communication that functions in much the same way that home/office laptops connect to the Internet. It is typically used for short burst communications instead of a continuous connection. Because of this difference, Bluetooth is more typically found supported in wireless phones and personal devices.

Bluetooth for Java is not an overview of Bluetooth. In the book, Bruce Hopkins and Ranjith Antony describe how to develop wireless Java applications using Bluetooth for a variety of platforms. This includes an API overview of the Java library, development of Bluetooth-based services, highlights of security concerns, and walkthroughs for development with some of the different tools available. Programs will not be just J2ME (micro devices) based, but will also be for J2SE (client/desktop).






Bitter Java













Bitter Java



It is a well-known fact that most software projects fail. Drawing important lessons from common failures is the goal of Bitter Java.

Reusing design patterns is not enough for success: patterns are like partial maps of dangerous terrain. They help, but don't prevent you from getting lost. Bitter Java teaches you how to recognize when you are lost, and how to get back on the right path. It illustrates common pitfalls of Java programming through code examples; it then refactors the code and explains why the new solutions are safe.

This book is a systematic account of common server-side Java programming mistakes, their causes and solutions. It covers antipatterns for base Java and J2EE concepts such as Servlets, JSPs, EJBs, enterprise connection models, and scalability. If you are an intermediate Java programmer, analyst or architect eager to avoid the bitter experiences of others, this book is for you.

After studying antipatterns in this book such as:

* Round-tripping
* The magic servlet
* The cacheless cow
* Performance thrashing

Syou will be standing on the shoulders of those who failed before you

Beyond Java













Beyond Java


Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge. In Beyond Java, Bruce chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. Then, he describes the characteristics of likely successors to Java. He builds to a rapid and heady climax, presenting alternative languages and frameworks with productivity and innovation unmatched in Java. He closes with an evaluation of the most popular and important programming languages, and their future role in a world beyond Java. If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. You can download some of the frameworks discussed and learn a few new languages. This book will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today.

Better, Faster, Lighter Java













Better, Faster, Lighter Java


In Better, Faster, Lighter Java authors Bruce Tate and Justin Gehtland argue that the old heavyweight architectures, such as WebLogic, JBoss, and WebSphere, are unwieldy, complicated, and contribute to slow and buggy application code. As an alternative, the authors present two "lightweight" open source architectures, Hibernate and Spring, that can help you create enterprise applications that are easier to maintain, write, and debug, and are ultimately much faster.

Beginning Programming with Java for Dummies












Beginning Programming with Java for Dummies


Computers are so much a part of our daily lives that many of us take them for granted. You turn on your PC, connect to the Internet and check your stocks, your e-mail, or the weather report, write a note to Grandma, or relax for half an hour by shooting make-believe lasers at make-believe aliens. But if you ever wonder "how do they make a computer do that?" then you may be a candidate for Beginning Programming with Java For Dummies . If you're ready to take the plunge into programming, Java is a wonderful place to start. You can write Java code for any operating system. A cool device called the Java Virtual Machine (JVM) will translate your code so it can be understood by your Windows system, your neighbor's Mac, or your nerdy cousin's Unix box. Java is a good place to begin learning programming. And not only can programming be fun, it can also be a lucrative career. Author Barry Burd breaks down Java programming into fun and manageable bites - or bytes. He walks you through downloading and setting up the Java compiler, JVM, and Java API, and then away you go! You'll be able to Explore the parts of a program Discover methods, variables, values, and types Find out how the computer turns your program into the zeros and ones it understands See how your computer makes decisions and how your program directs its choices Create loops, use arrays, and program with objects and classes Translate the mysteries of some common error messages - and fix the problems they reveal Once you discover the joys of Java programming, you just might find you're hooked. You'll be able to make that machine do your bidding, at least some of the time. You may find yourself thinking of programming like a game of strategy, in which it's up to you to find the secret passageway, decipher the magic words, and save the princess. Sound like fun? Here's the place to star

Beginning POJOs: Lightweight Java Web Development Using Plain Old Java Objects in Spring, Hibernate, and Tapestry












Beginning POJOs: Lightweight Java Web Development Using Plain Old Java Objects in Spring, Hibernate, and Tapestry


Beginning POJOs introduces you to open source lightweight web development using Plain Old Java Objects (POJOs) and the tools and frameworks that enable this. Tier by tier, this book guides you through the construction of complex but lightweight enterprise Java-based web applications. Such applications are centered around several major open source lightweight frameworks, including Spring, Hibernate, Tapestry, and JBoss (including the new lightweight JBoss Seam).

Additional support comes from the most successful and prevalent open source tools: Eclipse and Ant, and the increasingly popular TestNG. This book is ideal if you're new to open source and lightweight Java. You'll learn how to build a complete enterprise Java-based web application from scratch, and how to integrate the different open source frameworks to achieve this goal. You'll also learn techniques for rapidly developing such applications.






Beginning Java™ SE 6 Platform: From Novice to Professional (Expert's Voice)












Beginning Java™ SE 6 Platform: From Novice to Professional (Expert's Voice)


Beginning Java™ SE 6 Platform: From Novice to Professional steers you through the maze of the new Java Standard Edition (SE) 6 core and desktop platform and its programming API and concepts. You will learn these through action and example. Individual chapters introduce a particular API area, discuss the API, and provide a hands-on example.

This book guides you from beginning to advanced techniques by starting off with a very simple Java SE 6 application, and then covering the fundamentals of generics, collections, annotations, reflections, IO, threads, and networking in Java SE 6. You'll also have some fun learning and creating GUIs, and even use the latest in AWT and Swing as the foundation for a Java-based game application. And the chapters on JavaSound and Java 2D will be an enjoyable learning experience you'll want to share with friends.

Last of all, this book covers data access using the latest JDBC 4 API, security, and dynamic Java scripting language support (which may later open your Java experience to languages like Groovy, BeanShell, and JRuby). By the time you finish this book, you will have mastered the core techniques essential to professional Java developers.

Beginning Programming with Java For Dummies (For Dummies (Computer/Tech))













Beginning Programming with Java For Dummies (For Dummies (Computer/Tech))


* Covering everything from basic Java development concepts to the latest tools and techniques used in Java, this book will put would-be programmers on their way to Java mastery
* Explores what goes into creating a program, how to put the pieces together, dealing with standard programming challenges, debugging, and making it work
* Updated for the release of the Java SDK 2.0, with all examples revised to reflect the changes in the technology

Beginning Java Objects: From Concepts To Code, Second Edition












Beginning Java Objects: From Concepts To Code, Second Edition


Learning to design objects effectively with Java is the goal of Beginning Java Objects: From Concepts to Code, an intensive yet approachable guide to object design, using UML and today's hottest programming language. Plenty of titles dig into the Java language in massive detail, but this one steps back and looks at object design first. The details of Java, from basic language features to a simple tutorial for building user interfaces in Swing, emerge only after a thorough tour of thinking in objects.

The book takes readers through object design, from the very beginning, at a relaxed pace. While you get all of the necessary jargon for really learning the object paradigm (for example, there's full coverage of such concepts as data encapsulation, inheritance, and polymorphism), the tutorial is likely to reach more readers. Without being doctrinaire about the design process, the author walks you through the steps for "discovering" objects in a business problem (including classes, attributes, and operations) and then determining how these objects work together to model real-world problems. The sample class diagrams offer quite a rich level of detail, and a single case study for a student course registration database demonstrates the design principles, including extensive class diagrams.

By the end of the book, this set of classes is transformed into working Java code, with a simple Swing-based user interface. Although the book cuts a few corners--such as using tab-delimited data instead of JDBC (a must for business programmers)--there's little doubt that this lively approach to mastering Java will benefit a wide range of readers. If ever you've been unsure about what object-oriented design really means, Beginning Java Objects can demystify important concepts and put the power of objects within your reach. --Richard Dragan

Ivor Horton's Beginning Java 2, JDK 5 Edition












Ivor Horton's Beginning Java 2, JDK 5 Edition


This book is a comprehensive introduction to the Java programming language, updated thoroughly (more than 35ew and updated) for the latest SDK 1.5 release. This book shows readers how to build real-world Java applications using the Java SDK. No previous programming experience is required. The author uses numerous step-by-step programming examples to guide readers through the ins and outs of Java development. In addition to fully covering new features of SDK 1.5, such as generic types, the author has also added new chapters on Java database programming with JDBC and Java programming with XML.






Beginning Cryptography with Java













Beginning Cryptography with Java


Beginning Cryptography with Java

While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the developer, to effectively include cryptography in applications-if you know how.

This book teaches you how. Chapters one through five cover the architecture of the JCE and JCA, symmetric and asymmetric key encryption in Java, message authentication codes, and how to create Java implementations with the API provided by the Bouncy Castle ASN.1 packages, all with plenty of examples. Building on that foundation, the second half of the book takes you into higher-level topics, enabling you to create and implement secure Java applications and make use of standard protocols such as CMS, SSL, and S/MIME.

What you will learn from this book

  • How to understand and use JCE, JCA, and the JSSE for encryption and authentication
  • The ways in which padding mechanisms work in ciphers and how to spot and fix typical errors
  • An understanding of how authentication mechanisms are implemented in Java and why they are used
  • Methods for describing cryptographic objects with ASN.1
  • How to create certificate revocation lists and use the Online Certificate Status Protocol (OCSP)
  • Real-world Web solutions using Bouncy Castle APIs

Art of Java Web Development: Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon, InternetBeans, WebWork












Art of Java Web Development: Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon, InternetBeans, WebWork


A guide to the skills required for state-of-the-art web development, this book covers a variety of web development frameworks. The uses of the standard web API to create applications with increasingly sophisticated architectures are highlighted, and a discussion of the development of industry-accepted best practices for architecture is included. The history and evolution toward this architecture and the reasons it is superior to previous efforts are described, and an overview of the most popular web application frameworks, their architecture, and use is provided. The same application is built in six different frameworks, allowing developers to conduct an informed comparison. An evaluation of the pros and cons of each framework is provided to assist developers in making decisions or evaluating frameworks on their own. Best practices covered include sophisticated user interface techniques, intelligent caching and resource management, performance tuning, debugging, testing, and web services.

Applied Java Patterns












Applied Java Patterns


A hands-on guide to design patterns for Java platform developers.


  • Pattern-based solutions for every stage of the development lifecycle
  • Documents 30 patterns, including the 23 core patterns for the Sun Certified Enterprise Architect exam
  • Describes pattern use within the Java APIs—including patterns for reflection, security, AWT/Swing, RMI, JDBC, J2EE, and more


Increasingly, developers are recognizing the value of design patterns in helping to create more robust, scalable, reliable, and maintainable applications. Now there's a book that can help you bring the power of patterns to your Java-based projects.

Sun Microsystems experts Steve Stelting and Olav Maassen bring together today's best pattern-based techniques and demonstrate pattern use for a variety of business systems. This practical guide features proven techniques for all types of patterns, from system architecture to single classes

After briefly reviewing the fundamentals of design patterns, the authors describe how these patterns can be applied effectively to the Java platform. Next, they provide a pattern catalog, organized into four major categories—the creational, behavioral, structural, and system patterns. In addition, they identify patterns and present techniques for pattern use in the core Java APIs as well as the APIs for distributed development.

APIs covered include:


  • Event handling
  • Collection API
  • JDBC
  • RMI
  • CORBA


Applied Java Patterns also features a section on pattern use in systems built with J2EE and JINI technologies, and coverage of the servlet, JSP, EJB, and JavaSpaces APIs.

Without a doubt, this accessible and up-to-date guide can help you enhance your Java platform programming skills.

Apache Jakarta Commons: Reusable Java(TM) Components (Bruce Perens' Open Source Series)













Apache Jakarta Commons: Reusable Java(TM) Components (Bruce Perens' Open Source Series)


Easy-to-follow coverage of twelve indispensable Jakarta Commons packages

Code examples that show innovative uses of Commons components, including using HttpClient to access Web resources, FileUpload for handling HTTP file uploads, and BeanUtils for easy form generation

Detailed instructions for combining the Commons project libraries with the popular Eclipse IDE

Save time and money with reusable open source Java? components

Master the Jakarta Commons Library of Open Source JavaTM Components

Using the Apache Jakarta Commons reusable Java? components, you can leverage the work of the global open-source community to solve common programming problems reliably, quickly, and inexpensively. But, to use the Commons libraries effectively, you need far more guidance than the official documentation offers. In Apache Jakarta Commons: Reusable Java? Components, Will Iverson covers what Java developers need to know to take full advantage of Jakarta Commons¡ªstarting right now.

Iverson begins with a definitive overview of the Commons project: goals, installation, and getting started with Commons components. Next, he presents example-rich chapters on the twelve most useful Commons packages, covering topics ranging from HTTP FileUpload to database connectivity. Iverson provides detailed code samples for every component he describes. After you've mastered the core Jakarta Commons packages, you'll constantly rely on this book's handy seventy- five page quick-reference. Iverson's coverage includes

Downloading Commons project libraries and installing them into Eclipse

Programmatically accessing resources via HTTP, FTP, NNTP, and other Internet protocols

Using the Jakarta Commons suite of configurable object pools

Managing database connectivity in Swing applications¡ªand anywhere containers aren't doing it for you

Using BeanUtils to generate forms and gain runtime access to information provided by JavaBeans-style objects

Traversing complex object graphs with JXPath

Using Jakarta Commons' advanced collections tools to establish richer object relationships

Extending java.lang with better methods for manipulating core classes

Implementing conversion routines, configurable logging, command-line help, and more

Exploring the newest packages, including emerging "sandbox" packages

Whether you're building code for front-end Web applications, client- side software, or back-end servers, learning Jakarta Commons will make you far more efficient. Apache Jakarta Commons is the fastest way to master and get results with Commons.

Agile Java(TM): Crafting Code with Test-Driven Development (Robert C. Martin Series)












Agile Java(TM): Crafting Code with Test-Driven Development (Robert C. Martin Series)


Master Java 5.0 and TDD Together: Build More Robust, Professional Software

Master Java 5.0, object-oriented design, and Test-Driven Development (TDD) by learning them together. Agile Java weaves all three into a single coherent approach to building professional, robust software systems. Jeff Langr shows exactly how Java and TDD integrate throughout the entire development lifecycle, helping you leverage today's fastest, most efficient development techniques from the very outset.

Langr writes for every programmer, even those with little or no experience with Java, object-oriented development, or agile methods. He shows how to translate oral requirements into practical tests, and then how to use those tests to create reliable, high-performance Java code that solves real problems. Agile Java doesn't just teach the core features of the Java language: it presents coded test examples for each of them. This TDD-centered approach doesn't just lead to better code: it provides powerful feedback that will help you learn Java far more rapidly. The use of TDD as a learning mechanism is a landmark departure from conventional teaching techniques.


  • Presents an expert overview of TDD and agile programming techniques from the Java developer's perspective
  • Brings together practical best practices for Java, TDD, and OO design
  • Walks through setting up Java 5.0 and writing your first program
  • Covers all the basics, including strings, packages, and more
  • Simplifies object-oriented concepts, including classes, interfaces, polymorphism, and inheritance
  • Contains detailed chapters on exceptions and logging, math, I/O, reflection, multithreading, and Swing
  • Offers seamlessly-integrated explanations of Java 5.0's key innovations, from generics to annotations
  • Shows how TDD impacts system design, and vice versa
  • Complements any agile or traditional methodology, including Extreme Programming (XP)

Agile Java Development with Spring, Hibernate and Eclipse (Developer's Library)













Agile Java Development with Spring, Hibernate and Eclipse (Developer's Library)


Agile Java™ Development With Spring, Hibernate and Eclipse is a book about robust technologies and effective methods which help bring simplicity back into the world of enterprise Java development. The three key technologies covered in this book, the Spring Framework, Hibernate and Eclipse, help reduce the complexity of enterprise Java development significantly. Furthermore, these technologies enable plain old Java objects (POJOs) to be deployed in light-weight containers versus heavy-handed remote objects that require heavy EJB containers. This book also extensively covers technologies such as Ant, JUnit, JSP tag libraries and touches upon other areas such as such logging, GUI based debugging, monitoring using JMX, job scheduling, emailing, and more. Also, Extreme Programming (XP), Agile Model Driven Development (AMDD) and refactoring are methods that can expedite the software development projects by reducing the amount of up front requirements and design; hence these methods are embedded throughout the book but with just enough details and examples to not sidetrack the focus of this book. In addition, this book contains well separated, subjective material (opinion sidebars), comic illustrations, tips and tricks, all of which provide real-world and practical perspectives on relevant topics. Last but not least, this book demonstrates the complete lifecycle by building and following a sample application, chapter-by-chapter, starting from conceptualization to production using the technology and processes covered in this book. In summary, by using the technologies and methods covered in this book, the reader will be able to effectively develop enterprise-class Java applications, in an agile manner!






Advanced Java Networking (2nd Edition)












Advanced Java Networking (2nd Edition)


Advanced Java Networking, Second Edition--an excellent introduction to sockets, RMI, IDL/CORBA, JDBC, and other APIs--surveys all the ways to create state-of-the-art server-side solutions with Java. If you're a developer or architect, this book can help you build scalable Internet solutions.

Advanced Java is notable in at least two ways. First and foremost, it presents each Java networking API with real intelligence and enthusiasm. The authors of the second edition (who have revised the book thoroughly) prove they have considerable teaching experience by including plenty of interesting examples. The same application (for a simple appointment-scheduling program) is used throughout the text. You learn how to use sockets, RMI, IDL/CORBA, and even servlets and JSPs to build different versions of the same application. This comparative approach gives you a sense of the strengths of each API. (A final chapter here outlines when to use each API, depending on your design needs.)

Besides hands-on coding examples, several chapters present a high-level introduction to new Java APIs like JINI, naming services, and JNDI, plus EJBs and network management with JMAP. Generally, this book strikes a good balance between explaining the underlying technology behind each Java API, and providing basic sample code to help get you started. While you certainly don't need to use every networking API for every project, this title introduces them all so that you can choose the best approach. The new edition of Advanced Java Networking packages an excellent mix of sample code and technological expertise--of value in choosing the best options for networking on today's Java platform. --Richard Dragan

Advanced Java Networking (Java)













Advanced Java Networking (Java)


Advanced Java Networking gives the reader a well-rounded and fairly detailed introduction to Java networking technologies. The subjects Sridharan covers sound like a seminar list from a software development conference: IDL/CORBA, RMI, JDBC/SQL, JavaBeans, Castanet, JMAPI, servlets, and JavaOS, to name a few. But this isn't a dilettantish cursory look at each of many technologies. Rather, this book provides the programmer with the kind of information needed to make solid design and implementation decisions. In the chapter on RMI, for example, Sridharan spends a little time explaining the attractions and shortcomings of the specification. Then, while walking you through the creation of a calendaring application, shows you some of the ins and outs of actual program design with RMI.

All of these features are in addition to the excellent treatment of general advanced Java stuff you'll want to understand thoroughly before you plunge into the really hairy stuff. Furthermore, all the code appears on the companion CD-ROM for easy reference.

This book is ideal for knowledgeable programmers who are trying to decide how to attack a problem. You might need to use another book for further details on your solution of choice, but this is a fine place to start.

Advanced Java 2 Platform: How to Program (With CD-ROM)













Advanced Java 2 Platform: How to Program (With CD-ROM)


The authoritative DEITEL™ LIVE-CODE™ guide to programming with the Java™ 2 Enterprise (J2SE™), Standard (J2SE™) and Micro (J2ME™) Editions

Java™ has revolutionized application and enterprise-systems development. Using examples and case studies totaling almost 40,000 lines of code, this exciting companion to Java How to Program, 4/e focuses on J2EE-based, enterprise-systems development, presents advanced J2SE concepts and introduces wireless/small-device programming with J2ME.

Dr. Harvey M. Deitel and Paul J. Deitel are the founders of Deitel & Associates, Inc., the internationally recognized corporate-training and content-creation organization specializing in Java™, C , C, C#™, Visual Basic®, Visual C ®, .NET, XML™, Python, Perl, Internet, Web and object technologies. The Deitels are also the authors of the world's #1 C textbook—C How to Program, 3/e-and many other best sellers.

In Advanced Java 2 Platform How to Program, the Deitels and their colleague Sean E. Santry discuss the topics you need to build Java-based enterprise systems, including:

* J2EE™/J2SE™/J2ME™
* EJB™/JDBC™/JTS/JMS/JavaBeans™
* Jini™/JavaSpaces™/Jiro™/JMX
* Servlets/JSP™/WAP/WML
* RMI/CORBA/RMI over IIOP
* XML/DTD/DOM/XSLT
* Secure Sockets/Digital Signatures/JCE/JAAS
* Advanced Swing/Drag and Drop/MVC
* Graphics/Java 2D™/Java 3D™
* Application Servers/Design Patterns
* Peer to Peer/Web Services with SOAP
* Internationalization/Accessibility/JNI/JCP

Advanced Java 2 Platform How to Program includes extensive pedagogic features:

* Numerous LIVE-CODE™ programs with screen captures that show exact outputs
* Extensive World, Wide Web and Internet resources to encourage further research
* Tips, recommended practices and cautions—all marked with icons

Advanced Java 2 Platform How to Program is the centerpiece of a family of resources for teaching and learning advanced Java 2 Platform programming, including Web sites (www.deitel.com and www.prenhall.com/deitel) with the book's code examples (also on the enclosed CD) and other information for faculty, students and professionals; an optional interactive CD (Advanced Java 2 Platform Multimedia Cyber Classroom) containing hyperlinks, audio walkthroughs of the code examples, solutions to about half the book's exercises; and e-mail access to the authors at deitel@deitel.com.

A Programmer's Guide to Jini Technology













A Programmer's Guide to Jini Technology


A text for professional programmers to the challenging world of programming Jini, a software that makes transparent distributed computing possible. Shows how to transform hardware devices into Jini services, and how to use all the latest utilities and services of the newest version of Jini. Describes, in complete the detail, every aspect of Jini use






A Java Library of Graph Algorithms and Optimization (Discrete Mathematics and Its Applications)













A Java Library of Graph Algorithms and Optimization (Discrete Mathematics and Its Applications)


Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code. The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.

Chitika

Chitika list ads

Mobile Ads