This page lists free Java books about more advanced and specialized topics including EJBs, security, design patterns, architecture and more. If you are new to Java, start with basic Java
The difference between basic and advanced is rather fuzzy, so if you do not see any relevant books on this page, be sure to check the basic java books. Overall, the books on
both pages are high quality and extremely useful.
The fourth edition in the Mastering EJB series, this book provides in-depth coverage on the changes that come with EJB 3.0. More than 50% new and revised, the free download covers the latest features of the new release and information on the Java Persistence API and the entities defined therein.
Published in January 2005, this best-selling book is now in its third edition and has been updated for EJB2.1 and also features new chapters on security and Web services integration. The book is about EJB concepts, methodology and development. This book also contains a number of advanced EJB topics, giving you a practical and real-world understanding of the subject. By reading this book, you will acquire a deep understanding of EJB.
Goes beyond high-level design pattern descriptions into critical EJB-specific implementation issues, illustrated with source code implementations. The book contains a catalog of twenty advanced EJB patterns and provides strategies for mapping application requirements to patterns-driven design, J2EE development best practices, and a collection of EJB tips and strategies, and other topics such as Build-System best practices using Ant, JUnit testing strategies, using Java Data Objects (JDO) as an alternative to entity beans, and more.
Written for second- and third-year college computer science students.
The primary goal is to promote object-oriented design using Java and to illustrate the use of the emerging object-oriented design patterns. Experienced object-oriented programmers find that certain ways of doing things work best and that these ways occur over and over again. The book shows how these patterns are used to create good software designs. In particular, the following design patterns are used throughout the text: singleton, container, enumeration, adapter and visitor.
For developers with more than a beginning level of understanding of writing programs in Java. The example application is
written with the Java® 2 platform APIs and explained in terms of functional hows and whys. If you need
help installing the Java platform, setting up your environment, or getting your first application to work,
you should first read a more introductory book such as Essentials of the Java Programming Language: A Hands-On Guide
or The Java Tutorial.
Shows how to understand what application you want to write, what strategies are likely to get you there, and then how to measure your level of success. This book offers practical, concrete advice about how to stay in tune with your project and ensure that your products are at least as good as your plans.
Written for technical architects and senior developers tasked with designing and leading the development of J2EE java applications. This book will guide the architect through the entire process of delivering a project from analysis through application deployment providing numerous tips, tricks, and best practices along the way.
The Java Native Interface (JNI) enables the integration of code written in the Java programming language with code written
in other languages such as C and C++. It allows programmers to take full advantage of the Java platform without having to
abandon their investment in legacy code.
This book is the definitive resource and a comprehensive guide to working with the JNI. Entirely up-to-date, the book offers a
tutorial, a detailed description of JNI features and programming techniques, JNI design justifications, and the official
specification for all JNI types and functions.
An entire chapter is devoted to avoiding common traps and pitfalls. The book uses numerous examples to illustrate programming techniques that have proven to be effective.
Contains an introduction to the systematic development of Graphical User Interfaces (GUIs) using the Java environment. It
does not attempt to introduce the Java language and it is assumed that the reader has some familiarity with object oriented
development (OOD) and its practical expression in Java. However, a brief explanation of some aspects of Java is
presented where appropriate, particularly where the aspect differs significantly from C++.
Focuses primarily on topics such as threading, from a Java thin client programming perspective. Because these
applications are in a multi-user environment, covers security issues. Introduces the use of CORBA on the
network-computing environment. Java programming issues, such as object recycling and serialization, are necessary topics to consider when dealing with client/server applications. When an application is developed under the object-oriented paradigm, an introduction to simple concepts of model/view programming techniques will help the reader. Last, but not least, the basics techniques and tools required for profile applications are presented.
(June 1998) Takes the idea of network computing within the enterprise and shows how Java can be used to build sophisticated applications in the network computing arena. Using a scenario centered around the Lunar Medical Center, this redbook shows how to design and develop Java-based applications, applets and complete systems and highlights many of the related issues and alternatives that must be examined before an organization can feel safe with the new technologies.
Contains thorough coverage of both the Struts MVC architecture and building each of the Struts components of this
architecture. Learn to use vital features like Tiles, the Validator, DynaActionForms, plug-ins and internationalization.
How you can leverage other open-source technologies to improve your Struts development process and experiences.
Project JXTA, an open source project spearheaded by Sun Microsystems, has developed a set of XML-based protocols to manage the
common interactions required to create ad-hoc P2P networks, including peer discovery, firewall traversal, data exchange, and
segmentation of the network space.
This book presents the next step in the evolution of the peer-to-peer paradigms development into a mature technology
suitable for creating enterprise solutions.