Java Programming Books

Sams Teach Yourself Java 2 in 24 Hours As the author of computer books, I spend a lot of time loitering in the computer section of bookstores such as Barnes & Noble and Borders, observing the behavior of shoppers browsing through the books as if they wer

Java Programming Books

Java Programming Books

       

  1. Sams Teach Yourself Java 2 in 24 Hours
    As the author of computer books, I spend a lot of time loitering in the computer section of bookstores such as Barnes & Noble and Borders, observing the behavior of shoppers browsing through the books as if they were a hominid jawbone and I was a paleontologist.
    Because of my research, I've learned that if you have picked up this book and turned to the introduction, I have around 12 more seconds before you put it down and head to the coffee bar for a double tall latte decaf skim with two shots of vanilla hold the whip. So I'll keep this brief: This Java programming stuff is a lot easier than it looks. I'm not supposed to tell you that, because there are thousands of programmers who have used their Java skills to get high-paying jobs in software development, Internet programming, and e-commerce.
       

  2. Design and Implement Servlets, JSPs, and EJBs
    Figure 1 shows a broad view of what we attempt to cover in this book. The main focus is to provide design guidelines or best practices about designing an e-business application that will be deployed on IBM WebSphere Advanced Edition. The main technologies used in this redbook for designing e-business applications are: 
    ? Servlets 
    ? JavaServer Pages (JSP) 
    ? Enterprise JavaBeans (EJB)
       

  3. Designing Enterprise Applications with the J2EE Platform
    This book, now in its second edition, describes standard approaches to designing multitier enterprise applications with the JavaTM 2 Platform, Enterprise Edition. This book, and the accompanying Java Pet Store sample application, are part of the successful Java BluePrints program created by Sun Microsystems with the introduction of the J2EE platform. This program has been used by thousands of application architects, developers, and students to attain better understanding of the programming model inherent in the J2EE platform.
    This book and the Java BluePrints program don't provide information on how to use individual Java technologies to write applications -- that's the role of the companion Java Tutorial program. Instead, Java BluePrints focuses on guidelines for application architecture, such as distributing J2EE application functionality across tiers and choosing among design options within each tier. This book assumes that the reader already has basic knowledge of the J2EE platform.
      

  4. Designing Web Services with the J2EE 1.4 Platform
    The realm of Web services--software components that are programmatically accessible over standard Internet protocols--is expanding rapidly due to the growing need for application-to-application communication and interoperability. Web services expose a standard interface that is platform and technology independent. By conforming to accepted industry-wide standards, Web services provide a means of communication among software applications running on different platforms and written in different application development languages and that present dynamic context-driven information to the user. Since its successful introduction in 1999, the J2EE platform has become an integrated standard for implementing and deploying portable and distributed enterprise applications. One significant factor contributing to this success is that the J2EE platform has been designed through an open process, the Java Community Process (JCP). This open process has engaged a range of enterprise computing vendors to ensure that the platform meets the widest possible spectrum of enterprise application requirements.
      

  5. J2EE 1.4 Application Server Developer's Guide
    This guide describes how to create and run Java? 2 Platform, Enterprise Edition (J2EE? platform) applications that follow the new open Java standards model for Java? Servlet, JavaServer Pages? (JSP?), Enterprise JavaBeans? (EJB?), and other J2EE components
    on the J2EE 1.4 Application Server. The intended audience for this guide is the person who develops, assembles, and deploys J2EE applications in a corporate enterprise. 
    This guide assumes you are familiar with the following topics: 
    J2EE specification
       

  6. The java Architect's handbooks
    This book is written for technical architects and senior administrators tasked with providing hosting and support infrastructures to applications. This book will show you common patterns used in developing enterprise-wide architectures by illustrating these concepts with open source frameworks and toolsets. This book will address core infrastructure topics such as network topology and organization, security frameworks, backup/recovery frameworks, deployment management, content management, and monitoring practices. Specifics about hosting J2EE applications as well as .Net applications are addressed. This book will be published in May, 2005.
      

  7. Enterprise JavaBeans Development Using VisualAge for Java
    With the introduction of the Sun Microsystems Enterprise JavaBeans (EJB) architecture specification, application developers can now focus on writing the business logic necessary to support their application without having to deal with the intricacies of the underlying middleware, which still gives crucial services such as transactions, security, naming and persistency. IBM is exploiting this specification in a family of compatible Java application servers conforming to IBM's Enterprise Server for Java (EJS) specification. In addition, IBM has already introduced the support for development of EJB beans into its award-winning Java development tool: VisualAge for Java version 2.0. By including in this new version the EJS runtime, VisualAge for Java provides a unique Rapid Application Development environment to develop, debug and test EJB beans. 
      

  8. Thinking in Java
    I think we're clearly in the brave new world of the Internet here, and as far as I know I was one of the first to do what I did - publish the book as I was developing it, and leave it as a free book in perpetuity, after it was printed (Eric Raymond is most likely the first person to have actually done this). Personally, I was prepared to have low sales but the book brought people to my web site and to the CD Rom and seminars, so I felt it was worth the risk. Prentice Hall did a low first printing because they were worried about the online book cannibalizing sales. However, this book has done better than all the other books I've written - for the first time I've gotten royalty checks that have made a difference (book publishing in general is a pretty high-risk business; the figures I've heard are "10% break even, 1% are profitable). 
      

  9. Advanced Programming for the Java 2 Platform
    As an experienced developer on the Java platform, you undoubtedly know how fast moving and comprehensive the platform is. Its many application programming interfaces (APIs) provide a wealth of functionality for all aspects of application and system-level programming. Real-world developers never use one or two APIs to solve a problem, but bring together key functionality spanning a number of APIs. Knowing which APIs you need, which parts of which APIs you need, and how the APIs work together to create the best solution can be a daunting task. To help you navigate the Java APIs and fast-track your project development time, this book includes the design, development, test, and deployment phases for an enterprise-worthy auction application. While the example application does not cover every possible programming scenario, it explores many common situations and the discussions leave you with a solid methodology for designing and building your own solutions. 
      

  10. The Java Web Services Tutorial
    The Java Web Services Tutorial is a guide to developing Web applications with the Java Web Services Developer Pack (Java WSDP). The Java WSDP is an all-in-one download containing key technologies to simplify building of Web services using the Java 2 Platform. This tutorial requires a full installation (Typical, not Custom) of the Java WSDP, v1.6 with the Sun Java System Application Server Platform Edition 8.1 2005Q2 UR2 (hereafter called the Application Server). Here we cover all the things you need to know to make the best use of this tutorial. 
      

  11. The Java Virtual Machine Specification
    In The Java Virtual Machine Specification, Second Edition, Sun's designers of the Java virtual machine provide comprehensive coverage of the Java virtual machine class file format and instruction set. In addition, the book contains directions for compiling the virtual machine with numerous practical examples to clarify how it operates in practice. The book also demonstrates the Java virtual machine's powerful verification techniques. In all, the book provides sufficient detail to enable you to implement your own fully-compatible Java virtual machine, or on the other hand, to just really understand what makes the Java technology work.
        

  12. Introduction to Programming Using Java
    WELCOME TO Introduction to Programming Using Java, an on-line textbook on introductory programming, which uses Java as the language of instruction. This text has more than enough material for a one-semester course, and it also suitable for individuals who want to learn programming on their own. This is the third edition of the text. It covers more material and has more examples than the second edition. It also adds end-of-chapter quizzes and solved programming exercises. Previous editions have been used in a course, Computer Science 124: Introductory Programming, at Hobart and William Smith Colleges. (The title of the previous editions included a reference to this course.) This textbook covers Java 1.1. Most of the applets that are contained in the text require Java 1.1 or higher.
      

  13. Bleeding at the Keyboard
    Creating a Java program is a bit like making a movie or putting on a play. Every theatrical production needs actors (in Java these are objects), roles the actors play (classes), and scenes the actors play out (methods). In a movie or play, actors step into one of their scenes when given a cue; in a Java program, objects enter one of their methods when cued to do so by another object. The Java interpreter, which runs each Java program, is like a combination stage manager and producer---it creates the set, casts the actors, and teaches them their roles. We, as Java programmers, are like playwrights (or screenwriters) and directors put together, we specify the roles the actors will play. Our program's users are the audience. 
       

  14. Java an Object First approach
    The first application which will be introduced will state the question to life, the Universe and everything as first stated by Douglas Adams in 'The Hitchhikers Guide to the Galaxy'. The first stage in the production of any software artefact is to establish exactly what it is supposed to do, a process known as specification. The specification for the Ultimate Question program is that, when executed, it will produce the following output on the computer's screen. The program listings which are presented in this book use bold type to indicate words which are reserved by Java for its own use; these are known as reserved words. Italic type is used to indicate names which have been chosen by the developer; the rules for choosing names will be given below. Other terms, in normal type, are used for facilities which are supplied by the Java environment but are not strictly part of the language. These conventions are intended to make the printed listings more informative and should not be used for listings which are intended to be used for production. 
       

  15. How to Think Like a Computer Scientist - Java Version
    Welcome to the homepage of How to Think Like a Computer Scientist: Java Version, by Allen B. Downey.  How to Think... is a free textbook available under the GNU Free Documentation License. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material. The fourth edition (Version 4.0) is available now in PDF and gzipped Postscript. The LaTeX source code (with figures and a Makefile) is here in a gzipped tar file. 
    You can read the preface of the book in HTML. I would like to make the rest of the book available in HTML, but I am not satisfied with the programs I have found to translate LaTeX to HTML. Can you help? I would like to have an automated way to generate decent-looking HTML from the LaTeX source documents. Send email to edition4{at}thinkapjava{dot}com. 
      

  16. Introduction to Programming Using Java Version 3.0
    WELCOME TO Introduction to Programming Using Java, an on-line textbook on introductory programming, which uses Java as the language of instruction. This text has more than enough material for a one-semester course, and it also suitable for individuals who want to learn programming on their own. This is the third edition of the text. It covers more material and has more examples than the second edition. It also adds end-of-chapter quizzes and solved programming exercises. Previous editions have been used in a course, Computer Science 124: Introductory Programming, at Hobart and William Smith Colleges. (The title of the previous editions included a reference to this course.) This textbook covers Java 1.1. Most of the applets that are contained in the text require Java 1.1 or higher.
      

  17. The Java TM Virtual Machine Specification
    The Java virtual machine specification has been written to fully document the design of the Java virtual machine. It is essential for compiler writers who wish to target the Java virtual machine and for programmers who want to implement a compatible Java virtual machine. It is also a definitive source for anyone who wants to know exactly how the Java programming language is implemented. The Java virtual machine is an abstract machine. References to the Java virtual machine throughout this specification refer to this abstract machine rather than to Sun's or any other specific implementation. This book serves as documentation for a concrete implementation of the Java virtual machine only as a blueprint documents a house. An implementation of the Java virtual machine (known as a runtime interpreter) must embody this specification, but is constrained by it only where absolutely necessary.
      

  18. The Java Language Specification
    The Java programming language was originally called Oak, and was designed for use in embedded consumer-electronic applications by James Gosling. After several years of experience with the language, and significant contributions by Ed Frank, Patrick Naughton, Jonathan Payne, and Chris Warth it was retargeted to the Internet, renamed, and substantially revised to be the language specified here. The final form of the language was defined by James Gosling, Bill Joy, Guy Steele, Richard Tuck, Frank Yellin, and Arthur van Hoff, with help from Graham Hamilton, Tim Lindholm, and many other friends and colleagues. The Java programming language is a general-purpose concurrent class-based object-oriented programming language, specifically designed to have as few implementation dependencies as possible. It allows application developers to write a program once and then be able to run it everywhere on the Internet.
      

  19. Securing Java on the Web
    Java has grown by leaps and bounds since its introduction in 1996, and is now among the most popular computing platforms on the planet. Java has evolved and changed so much that at a mere two-years old, our original work, Java Security: Hostile Applets, Holes, and Antidotes, found itself in serious need of revision and expansion. This book is the result of several years of thinking about mobile code and security, and includes many things we have discovered while working on real-world systems with businesses and government agencies. Our goal is to present enough information to help you separate fact from fiction when it comes to mobile code security. Java has become much more complicated and multifaceted than it was when it was introduced. No longer simply a client-side language for applets, Java can now be found on everything from enterprise application servers to embedded devices like smart cards. We have tried to address security factors from throughout the entire Java range in this book.
      

  20. Java Look and Feel Design Guidelines
    Java Look and Feel Design Guidelines provides essential information for anyone involved in creating cross-platform applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the JavaTM Foundation Classes (JFC) together with the Java look and feel. Although the human interface designer and the software developer might well be the same person, the two jobs require different tasks, skills, and tools. Primarily, this book addresses the designer who chooses the interface components, lays them out in a set of views, and designs the user interaction model for an application. (Unless specified otherwise, this book uses "application" to refer to both applets and applications.) This book should also prove useful for developers, technical writers, graphic artists, production and marketing specialists, and testers who participate in the creation of Java applications and applets.
      

  21. Data Structure and Algorithm with object-oriented Design Patterns in Java
    This book was motivated by my experience in teaching the course E&CE 250: Algorithms and Data Structures in the Computer Engineering program at the University of Waterloo. I have observed that the advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a profound change in the pedagogy of data structures and algorithms. The successful application of these techniques gives rise to a kind of cognitive unification: Ideas that are disparate and apparently unrelated seem to come together when the appropriate design patterns and abstractions are used. This paradigm shift is both evolutionary and revolutionary. On the one hand, the knowledge base grows incrementally as programmers and researchers invent new algorithms and data structures. 
       

  22. A Java GUI Programmer's Primer
    This book 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. Suitable resources to assist with obtaining this knowledge are given in Appendix A. However, a brief explanation of some aspects of Java will be presented where appropriate, particularly where the aspect differs significantly from C++. The Java Development Kit (JDK), also known as the Java environment, consists of a Java compiler producing Java bytecode which can be interpreted by a run time engine, for example Sun's appletviewer, to run Java programs. However the substantive part of the environment consists of the extensive collection of packages, classes and interfaces collectively known as the Java Application Programmer Interface (API). The most important part of the API, so far as this book is concerned, is the Abstract Windowing Toolkit (AWT) containing the user interface components from which GUIs are constructed. 
      

  23. Advanced Programming for the Java 2 Platform
    As an experienced developer on the Java platform, you undoubtedly know how fast moving and comprehensive the platform is. Its many application programming interfaces (APIs) provide a wealth of functionality for all aspects of application and system-level programming. Real-world developers never use one or two APIs to solve a problem, but bring together key functionality spanning a number of APIs. Knowing which APIs you need, which parts of which APIs you need, and how the APIs work together to create the best solution can be a daunting task. To help you navigate the Java APIs and fast-track your project development time, this book includes the design, development, test, and deployment phases for an enterprise-worthy auction application.
       

  24. Application Interoperability: Microsoft .NET and J2EE
    Application Interoperability: Microsoft .NET and J2EE presents interoperability best practices, and illustrates these approaches with a functional sample application. It shows how to link Microsoft .NET and J2EE, using Web services, runtime bridges, and asynchronous techniques.This webcast shows how to use service interfaces, use case interoperability adapters, and use case adapter factories to achieve interoperability between enterprise class applications based on Java 2 Enterprise Edition and Microsoft .NET. It covers how to add .NET Framework applications at the Presentation or the Business tier, and how to implement interoperability at the Data tier using message queuing and shared databases.
       

  25. Servlet and JSP Programming with IBM WebSphere Studio and VisualAge for Java
    This IBM Redbook provides you with sufficient information to effectively use the WebSphere and VisualAge for Java environments to create, manage and deploy Web-based applications using methodologies centered around servlet, JavaServer Pages, and JavaBean architectures.
    In Part 1 we describe the products used in our environment and provide instruction on product installation and configuration. Following this, we cover servlet and JSP programming, which provide you with both a theoretical and practical understanding of these components, together with working examples of the concepts described. For execution of the sample code, we provide information on configuring the WebSphere Application Server and deploying and running the sample Web applications in WebSphere.
      

  26. Design and Implement Servlets
    This IBM redbook provides design guidelines for developing e-business applications based on servlets, JavaServer Pages (JSP) and Enterprise JavaBean (EJB) technologies. The guidelines are based on WebSphere Application Server Advanced Edition. The redbook describes the concepts of workload balancing through the use of a network dispatcher and clones of the Application Server. The redbook proposes a design of Web applications based on design patterns, such as the model-view-controller paradigm and the command framework. In this context, the usage of enterprise beans, including access beans, associations, and collections is explored in detail, and a set of EJB-based design patterns is described. 
       

  27. Jan Newmarch's Guide to JINI Technologies
    Jini grew from early work in Java to make distributed computing easier. It intends to make ``network devices'' and ``network computing'' into standard components of everyone's computing environment. When you buy a new piece of office computing equipment such as a desk lamp, or a new home computer appliance such as an alarm clock, it will not only carry out its ``traditional'' functions but will also join into a network of other computer devices and services. The desk lamp will turn itself off when you leave your desk, informed by sensors in your chair; the alarm clock will tell your coffee maker to switch on a few minutes before it wakes you up. 
      

  28. Object and Java
    Objects and Java is a tutorial of Java programming (currently being written) that eventually will serve as the text for my five-day Objects and Java Seminar. Objects and Java covers the Java language and many APIs as well as topics required for successful use of the language and APIs, especially object-oriented techniques and multi-threading. Follow the link below to view the book's table of contents. From the table of contents, you can follow links to the actual material of the book, which I am posting to this site as I write it. The material of this book is in a rather rough form as yet, and several chapters are completely missing. This writing project is on the back burner as I work to complete Interface Design, my book of object-oriented Java API design guidlines.
       

  29. Inside the Java Virtual Machine
    The second edition of Bill Venners' Inside the Java Virtual Machine, winner of a 1998 Java Report Writers Choice Award, is now available in bookstores. Inside the Java Virtual Machine explains Java's architecture and internals, and several Java APIs closely tied to the virtual machine, to Java programmers. Reading this book will help you gain a deeper understanding of Java technology, and in the process, help you become more effective at Java programming. This new edition is fully revised for Java 2, and includes much new material on a variety of JVM topics. You can order the book from Amazon by clicking on the image to the right. 
       

  30. Thinking and Patterns with Java
    The more that I worked towards the deadline for Thinking in Java, 2nd edition, the more I started to feel that either the schedule or the quality would be compromised. However, when I broke the "Polymorphism" chapter into two chapters based on my experience giving the seminar (the single chapter produced a lecture that was too long by far), it reminded me of the roots of that book, which was the Hands-On Java seminar. The biggest bottleneck in the book was the one chapter that is not part of the seminar, which was the last one ("Design Patterns").
      

  31. The design Patterns Java Companion
    The Java Foundation Classes (JFC or "Swing") are a complete set of light-weight user interface components that enhance, extend and to a large degree replace the AWT components. In addition to the buttons, lists, tables and trees in the JFC, you will also find a pluggable look-and-feel that allows the components to take on the appearance of several popular windowing systems, as well as its own look and feel. The JFC actually uses a few common design patterns, and we will be using the JFC for most of the examples in this book. Thus, we are taking a short detour to outline how the JFC components work before going on to more patterns.
       

  32. Jan Newmarch's Guide to Jini Technologies
    This version uses Jini 2.1. For a version using Jini 2.0, see http://jan.netcomp.monash.edu.au/java/jini/tutorial.2.08/Jini.html For a version using Jini 1.1 or 1.2, see http://jan.netcomp.monash.edu.au/java/jini/tutorial.2.08/Jini.html For a version using Jini 1.0, see http://jan.netcomp.monash.edu.au/java/jini/tutorial.1.03/Jini.html . This book is being revised to use Jini 2.1. So far many chapters have been revised and checked (against Jini 2.1) and there are several new chapters (Jeri,Config, Logging, ServiceStarter, Advanced Security). In time, the remaining chapters will be converted. The new Jeri stuff is covered and the new security. 
      

  33. Mastering Enterprise Java Beans Second Edition
    Published in January, 2005, the best selling book Mastering EJB is now in it?s 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.This is the official homepage for Mastering EJB Third Edition. Here you can download the entire book in PDF format for free, and you will also find the source code for the book. Errata will also be posted here.
      

  34. 2 Sample Chapters from an intro to Java book
    Chapter 1 gets you started right by showing you how to install Java on your system (the software's on the CD that comes with the book), how to use some of the tools you'll use to work with Java, and how to compile and run Java programs. By the end, you'll be ready to start writing your own Java programs. The quickest and best way to learn Java programming is to do Java programming. So this chapter shows you how to write a complete Java program that uses dialog boxes for input and output. You'll soon see why we say there's no faster way to get going with Java than by using this book.