Free Java 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

Free Java Books

Free Java 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. The last thing any of them want is for their bosses to know that anyone who has persistence and a little free time can learn this language, the most popular programming language in use today.
      
  2. Design and Implement Servlets, JSPs, and EJBs
    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. This book 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.
      
  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 Java TM 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. 
      
  4. Designing Web Services With the J2EE 1.4 Platform
    This book describes designing Web services using the current technologies available with the Java TM 2 Platform, Enterprise Edition. This book and the accompanying JavaTM Adventure Builder Reference application (hereafter referred to as adventure builder) are part of the successful Java BluePrints program created by Sun Microsystems with the introduction of the J2EE platform. Application architects, developers, and students everywhere have used this program to better understand the programming model inherent in the J2EE  platform. Rather than providing information on how to use individual Java technologies to write applications, which falls within the realm of the companion Java Tutorial program, the Java BluePrints focuses on guidelines for application architecture and design, such as distributing J2EE application functionality across tiers and choosing among design options for Web services endpoints.
       
  5. J2EE 1.4 Application Server Developer's Guide
    In an enterprise computing environment there are many security risks. The J2EE 1.4 Application Server?s goal is to provide highly secure, interoperable, and distributed component computing based on the J2EE security model. The security goals for the J2EE 1.4 Application Server include: 
    Full compliance with the J2EE security model (for more information, see the J2EE specification, v1.4 Chapter 3 Security)
    Full compliance with the EJB v2.1 security model (for more information, see the Enterprise JavaBean specification v2.1 Chapter 15 Security Management). This includes EJB role-based authorization.
    Full compliance with the Java Servlet v2.3 security model (for more information, see the Java Servlet specification, v2.3 Chapter 11 Security). 
      
  6. 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. 
      
  7. Thinking  in Java 
    I have done quite a bit of work to create a nice version of the book in HTML, including the diagrams, preservation of most of the formatting, nice fonts, and color syntax highlighting on the code files. I think you'll find it quite pleasant, especially the ease of use of the table of contents and index. I'm using RTF2HTML (you can download a demo of that program) which does quite a good job of performing the conversion, making a table of contents and index, breaking up into files, etc. After that I run a Python program that I created to clean everything up and customize it to my liking.
       
  8. 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. 
      
  9. 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. 
    This tutorial is intended for programmers who are interested in developing and deploying Web services and Web applications on the Sun Java System Application Server Platform Edition 8.1. 
      
  10. 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.
      
  11. 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.
      
  12. 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. 
      
  13. Java an Object first Approach
    This chapter will continue the introduction to classes by developing and explaining a second, rather trivial, application which is intended to present and explain the concepts of data attributes, class wide actions, instance actions, class constants and constructors, which were mentioned or briefly introduced in Chapter 1. The application is described as trivial only in the sense that it does not do anything useful, its conceptual understanding is anything but trivial. The classes presented in the previous chapter contained only a single action which always returned the same information. By adding data attributes to a class declaration it is possible for each instance to maintain information about its own state and to change this information as its actions are used. The main() action from the client class in Chapter 1 was described as a class wide action, which means that it is associated with the entire class and can be used without having first to declare an instance of the class. The alternative possibility is to have instance actions where the action can only be used by first declaring an instance of the class. 
      
  14. How to Think Like a Computer Scientist-Java Version
    This is the fourth edition of a book I started writing in 1999, when I was teaching at Colby College. I had taught an introductory computer science class using the Java programming language, but I had not found a textbook I was happy with. For one thing, they were all too big! There was no way my students would read 800 pages of dense, technical material, even if I wanted them to. And I didn't want them to. Most of the material was too specific-details about Java and its libraries that would be obsolete by the end of the semester, and that obscured the material I really wanted to get to. The other problem I found was that the introduction to object oriented programming was too abrupt. Many students who were otherwise doing well just hit a wall when we got to objects, whether we did it at the beginning, middle or end. 
      
  15. Introduction to Programming Using Java version 4.1
    INTRODUCTION TO PROGRAMMING USING JAVA" is a free, on-line textbook. It is suitable for use in an introductory programming course and for people who are trying to learn programming on their own. There is probably enough material for a full year College programming course. There are no prerequisites beyond a general familiarity with the ideas of computers and programs. In style, this is a textbook rather than a tutorial. That is, it concentrates on explaining concepts rather than giving step-by-step how-to-do-it guides. I have tried to use a conversational writing style that might be closer to classroom lecture than to a typical textbook. You'll find programming exercises at the end of most chapters, and you will find a detailed solution for each exercise, with the sort of discussion that I would give if I presented the solution in class. (I strongly advise that you read the exercise solutions if you want to get the most out of this book.) This is certainly not a Java reference book, and it is not even close to a comprehensive survey of all the features of Java.
      
  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 JavaTM Virtual Machine Specification
    The Java programming language is a general-purpose object-oriented concurrent language. Its syntax is similar to C and C++, but it omits many of the features that make C and C++ complex, confusing, and unsafe. The Java platform was initially developed to address the problems of building software for networked consumer devices. It was designed to support multiple host architectures and to allow secure delivery of software components. To meet these requirements, compiled code had to survive transport across networks, operate on any client, and assure the client that it was safe to run. The popularization of the World Wide Web made these attributes much more interesting. The Internet demonstrated how media-rich content could be made accessible in simple ways. Web browsers such as Mosaic enabled millions of people to roam the Net and made Web surfing part of popular culture. At last there was a medium where what you saw and heard was essentially the same whether you were using a Mac, PC, or UNIX machine, and whether you were connected to a high-speed network or a slow modem.
       
  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
    As the Java platform has matured, designers and developers have recognized the need for consistent, compatible, and easy-to-use Java applications. The Java look and feel meets that need by providing a distinctive platform-independent appearance and standard behavior. The use of this single look and feel reduces design and development time and lowers training and documentation costs for all users. This book sets standards for the use of the Java look and feel. By following these guidelines, you can create Java applications that effectively support all users worldwide, including those with physical and cognitive limitations.
       
  21. Data Structures and Algorithms 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.
      
  23. The Java Language Specification- Third Edition
    This online version differs from the final print version in minor ways, primarily the absence of quotations due to copyright issues. The physical book should be available in June 2005. Written by the inventors of the technology, The Java Language Specification, Third Edition is the definitive technical reference for the Java programming language. If you want to know the precise meaning of the language's constructs, this is the source for you. The book provides complete, accurate, and detailed coverage of the Java programming language. It provides full coverage of all new features added in since the previous edition including generics, annotations, asserts, autoboxing, enums, for each loops, variable arity methods and static import clauses. 
       
  24. Application Interoperability: Microsoft .NET and J2EE
     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.Presenters: Peter Laudati, Consultant II; Ron Jacobs, Product Manager; and Simon Guest, Program Manager, Microsoft CorporationPeter Laudati has been working most recently with the patterns & practices group and just completed work on the Patterns & Practices publication ?Application Interoperability: Microsoft .NET and J2EE.?

      
  25. Servlet and JSP Programming 
    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. Homes, offices and factories are becoming increasingly networked. Current twisted pair wiring will remain, but will be augmented by wireless networks and networks built on your phone lines and power cables.
      
  28. Objects and Java 
    When you set out to design a Java program, you have to create abstractions. You are faced with a problem domain and (with luck) a specification, and you have to architect  a solution. (The problem domain is the subject area of a particular programming effort, such as "accounting," "elevator control," or "word processing.") Given that Java is an object-oriented language, you will likely want to perform an object-oriented design. In the process, you will end up with abstractions in the form of objects, types, attributes, and behaviors. 
    The object-oriented design process involves the following three tasks: 
    dividing the problem domain into types of objects, 
    modeling the relationships between the types, and 
    modeling the attributes and behaviors of each type. 
      
  29. Inside the Java Virtual Machine
    Inside the Java Virtual Machine describes the Java virtual machine, the abstract computer on which all Java programs run, and several Java APIs closely related to the virtual machine. Through a combination of tutorial explanations, working examples, reference material, and applets that interactively illustrate the concepts presented in the text, this book provides an in-depth, technical survey of Java as a technology. Chapters 1 through 4 (Part I of the book) give an overview of Java's architecture, including the motivations behind--and the implications of--Java's architectural design. These chapters show how the Java virtual machine relates to the other components of Java's architecture: the class file, API, and language
       
  30. Thinking in 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"). In addition to being in very rough form and promising a tremendous amount of work - and research, which always takes more time than I think it will - to get in shape, this chapter kept getting bigger and really deserves its own book.

      
  31. 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. Includes more than 30 percent revised material and five new chapters, covering the new 2.1 features such as EJB Timer Service and JMS as well as the latest open source Java solutions The book was developed as part of TheServerSide.com online EJB community, ensuring a built-in audience.