This java programming site aims to provide book reviews and free ebook on java tutorial, java swing, sun java interface, java struts, java examples, java documentations, java j2ee, java jvm, java util, java j2se, java plugin, java programming, java runtime, java script, java downloads, free java applets, java vm, java certification, java socket, java beans, java source code, java threads, java help, java database, java api, java 1.5, java file, java training, java developments, java tips,java web services, etc
Showing posts with label Advanced Java. Show all posts
Showing posts with label Advanced Java. Show all posts

The Java Boutique: The ultimate Java Applet Resource Tutorials

The Java Boutique: The ultimate Java Applet Resource Tutorials is for everyone from novice to experienced Java programmers.
Following are the ebooks and articles about Core Java, J2EE, J2ME, Java enterprises & web services, Java GUI design, Java Security, Java Networking, Java JSP and Java Servlets, etc.
  1. Add Object Caching Caching Using Spring, AOP, and Ehcache
  2. Customize Your JSSE Key and Trust Material Managers
  3. Improved XML Binding with JAXB 2.0
  4. Recipes for Cookie Management in J2SEs Tiger and Mustang
  5. Developing UML Diagrams for EJBs with Poseidon
  6. SortedSet and SortedMap Made Easier with Two New Mustang Interfaces
  7. How Do Java's Lists Measure Up? Comparing Arrays, Lists, and Maps
  8. Resistance is Futile: How to Make Your Java Objects Conform with the Adapter Pattern
  9. StAX and XSLT Transformations with J2SE 6.0 Mustang
  10. Accessing a Database with the JSTL 1.1 SQL Tag Library
  11. An Introduction to Remote Method Activation (ROA), Part 2
  12. Simplify List Screen Creation with AJAX
  13. Manufacturing Java Objects with the Factory Method Design Pattern
  14. Managing Data with the ThreadLocal Class
  15. Data Validation with the Spring Framework
  16. Agile Development: An Expert Roundtable
  17. An Introduction to Remote Method Activation (ROA)
  18. Smoothing Out Graphics Functioning Wrinkles in Linux and Unix
  19. Creating Content and Protocol Handlers in Java, Part 2
  20. Keeping Your Java Objects Informed with the Observer Design Pattern
  21. Processing: Open Source Language Brings You Closer to Web 2.0
  22. Enterprise Logging for Distributed J2EE Applications
  23. Generate a PDF Report from a Database with BIRT
  24. All About the Singleton Design Pattern
  25. Generate a PDF Report from a Database with BIRT
  26. Parsing with StAX in JDK 6.0
  27. Book Excerpt: IntelliJ in Action
  28. Creating Content and Protocol Handlers in Java
  29. Save Time with the Ultimate toString Method
  30. Book Excerpt: AJAX Hacks
  31. Using Rasters for Image Processing, Part 2
  32. Java to XML and Back Again with Castor XML
  33. Java to XML and Back Again with Castor XML
  34. Development Standards in Apache Struts
  35. Book Excerpt: POJOs in Action
  36. Integrating Apache Axis with the Spring Framework
  37. Avoid Excessive Subclassing with the Decorator Design Pattern
  38. Using Rasters for Image Processing, Part I
  39. Run a Background Process in a Web Container Using Spring and ActiveMQ
  40. Six Steps to Faster J2EE Apps: Performance Tuning with JSP and Servlets
  41. Use Standardization to Ensure Successful Java Application Development
  42. Measuring the Complexity of OO Systems
  43. Wrap a Stateless Session EJB as a Web Service with Apache Axis
  44. Avoid the Lesser Known Pitfalls of Localizing Java Applications
  45. Use JBoss Cache to Cache and Share Data in Your Enterprise Applications
  46. Automate Data Persistence with Firestorm/DAO
  47. Upload Files with Struts, Store Them with Hibernate
  48. Make the Correct Data Classes in Your DAO Applications
  49. Coupling and Cohesion: The Two Cornerstones of OO Programming
  50. The Java Speech API: A Primer on Speech Applications
  51. Inversion of Control: A Mechanism for Highly Flexible Applications
  52. Add Logic to Your JSP Pages with the JSP Expression Language
  53. Managing DAO Transactions in Java
  54. Create an XML Web Application with Struts, Xerces, and Xalan
  55. Deliver Your Code with Confidence Using Test-driven Development
  56. Building Easy Java GUIs with Thinlet, Part 2
  57. Add Rich Media Content to Your J2EE Apps with Enterprise Media Beans
  58. Building Easy Java GUIs with Thinlet, Part 1
  59. Streamline Your JSP Management with Enhydra
  60. Plug-in to Reusability in Java
  61. Service-oriented Architecture, Part 3
  62. iText Document Generator: PDF Generation Made Easy
  63. SAMS: Java.s API For Mobile Services
  64. Plug-in to Reusability in Java
  65. Service Oriented Architecture - Part 2
  66. Service Oriented Architecture - Part 1
  67. Working with JDOM, XPath and XSLT
  68. Metrics for Object Oriented Software Development
  69. Digesting XML documents
  70. The Mysteries of Business Object - Part 2<
  71. The Spring Framework
  72. The Mysteries of Business Objects - Part 1
  73. Program Annotation Facility
  74. Using DAOs in Apache Struts
  75. Using FOP with Java - Graphics in FOP - Part 3
  76. Unweaving a Tangled Web With HTMLParser and Lucene
  77. Using FOP with Java - Part 2
  78. Using Program Parameters in Java
  79. Configuring the SQuirrel JDBC client for use with MySQL
  80. Converting XML to JavaBeans with XMLBeans
  81. Advanced Forms Handling in Struts 1.1
  82. Adding Spice to Struts - Part 2
  83. A Brief Introduction to Struts – Expression Language
  84. The Power of Three - Eclipse, Tomcat, and Struts
  85. Adding Spice to Struts
  86. To Inherit or Compose—-That is the Question
  87. Handling Messages, Errors and Exceptions in Struts 1.1
  88. The Pitfalls of Inheritance
  89. Using Mock Objects in Java
  90. Strictly Struts
  91. J2EE Activity Service for Extended Transactions
  92. StrutsTestCase: The Tool for Struts Unit Testing Part 2
  93. StrutsTestCase: The Tool for Struts Unit Testing
  94. Trader Pattern for Invoking Services
  95. Java Certification Path API
  96. Stepping through the Struts 1.1 Validator
  97. Creating an SQL-Java Gateway
  98. Using CASTOR for DB Access from STRUTS
  99. Converting XML documents to Java objects with Castor XML
  100. Putting Design Principles to Test - Part 2
  101. Cultivating your relationship with Castor-JDO
  102. Putting Design Principles to the Test(A Java based Case Study)
  103. Java Client Provisioning
  104. Mapping Java Objects to a Database with Castor-JDO
  105. Building a sample Web App with STRUTS Part 2
  106. Designing Packages for Stability
  107. Load Testing your Applications with Apache JMeter
  108. Package Design
  109. Java Management Extensions
  110. Building a sample Web App with STRUTS
  111. Digging deeper into Apache Axis
  112. The Java Game Development Tutorial
  113. Working with files and directories in Java (2)
  114. Working with files and directories in Java
  115. Making the Switch to Java
  116. Brush Up on Basics
You can read or download this Java tutorial from the following link.
Read More/Download
Related Java Ebooks
  1. Core Java & Advanced Java
  2. JavaScript, CSS, HTML, CGI, XML ebooks
  3. JavaScript Online Books
  4. XHTML DHTML HTML Online Books
Buy Java Books
  1. Effective Java (2nd Edition) (Java Series)
  2. Head First Java, 2nd Edition
  3. JavaScript: The Definitive Guide
  4. SCJP Sun Certified Programmer for Java 6 Exam 310-065
  5. Java Concurrency in Practice

Download free java ebooks

This post helps you to study java programming. Following free java ebooks focus on java tutorial, java swing, sun java interface, java struts, java examples, java documentations, java j2ee, java jvm, java util, java j2se, java plugin, java programming, java runtime, java script, java downloads, free java applets, java vm, java certification, java socket, java beans, java source code, java threads, java help, java database, java api, java 1.5, java file, java training, java developments, java tips, java web services, Java object database, javascript wysiwyg editor, java course, java ecommerce, java classes, java data object and java mortgage calculators, etc
You can download free java ebooks from the following links.
  1. Sun Certified Java Programmer Pre-Exam Essentials
  2. Java Application Development on Linux
  3. Apache Jakarta Commons
  4. Processing XML with Java
  5. Securing Java
  6. Concurrent Programming Using Java
  7. Advanced Programming for the Java 2 Platform
  8. Interface Design Best Practices in Object-Oriented API Design in Java
  9. Java Reference Guide

Java Reference Guide

by Steven Haines
  • Java is simple. That simplicity derives from syntax similar to C/C++ and the omission of complex C/C++ features such as multiple implementation inheritance, pointers, and operator overloading.
  • Java is object-oriented. Java’s object-oriented nature encourages a developer to think in terms of classes and objects rather than separate code and data. That class/object focus results in code that is easier to write, easier to maintain, and easier to reuse.
  • Java is network-savvy. A TCP/IP library simplifies the development of programs that communicate with HTTP, FTP, and other TCP/IP network processes. Furthermore, the library’s use of the same stream-oriented mechanism for communicating with remote network processes that file-oriented code uses to communicate with files on a computer’s local hard drive helps a developer write network code faster.
  • Java is interpreted. Java’s compiler translates source code into class files of bytecode instructions. A virtual machine examines each instruction and uses that instruction’s meaning to execute an equivalent sequence of platform-dependent instructions. Interpretation speeds up the development process and simplifies debugging.
  • Java is robust. Errant programs do not crash the virtual machine or corrupt the underlying (native) platform. Robustness is achieved, in part, by not supporting C/C++ pointers, by providing a garbage collector to automatically free up dynamically allocated memory (instead of forcing the developer to accomplish that task), by performing strict compile-time/runtime type checking, and by providing true arrays with bounds checking.
  • Java is secure. Java’s "sandbox" security model identifies sensitive operations (such as file I/O) that a malicious program can exploit to harm the native platform, and provides a mechanism for allowing or preventing access to those operations.
  • Java is architecture-neutral. A compiled Java program’s bytecode instructions target a generic virtual machine instead of a specific platform. Because each platform-specific virtual machine implementation supplies a consistent interface to the bytecodes, the same Java program runs on diverse platforms (via their virtual machines).
  • Java is portable. Portability is achieved through architecture neutrality and through a strict definition of the language (which permits no implementation-dependent features). For example, Java’s integer primitive type always means a signed 2’s complement 32-bit integer. In contrast, the C/C++ integer type can be unsigned, and its size varies according to a platform’s register size (typically 32 bits or 64 bits).
  • Java is high-performance. Many virtual machines use a just-in-time (JIT) compiler to dynamically compile a program’s bytecode instructions into platform-specific instructions (which execute faster than bytecodes) as the program runs.
  • Java is multithreaded. Support for threads is built into the language via thread-synchronization primitives. There is also a thread library.
  • Java is dynamic. Java’s use of an interface type to distinguish between what a program must do and how that task gets accomplished helps Java adapt to a continually evolving environment, and makes it easier for vendors to modify Java libraries without breaking program code that uses those libraries.
Read More/Get Ebook

Interface Design Best Practices in Object-Oriented API Design in Java

by Bill Venners
The books target intermediate Java programmers who want to become "better" Java programmers. They will help readers who are already familiar with the syntax and semantics of the Java language become more competent in actually using the Java language to solve real programming problems.
Before getting started, I'd like to clarify a few terms.

Designer vs. client programmers
Most Java programmers have two hats on their shelf, which they wear at different times. Sometimes they wear their "designer" hats and build libraries of classes for others to use; other times they wear their "client" hats and make use of a library of classes created by someone else. Some Java programmers even where both hats at the same time, completely oblivious to the rules of fashion.

One aspect of the flexibility of a body of code is the ease with which a client programmer can understand the code. Whether a client programmer is planning to change code or just use it as is, that programmer often has to figure out how to change or use the code by reading it.

The guidelines discussed in this book will talk about flexibility in terms of client programmers. Designs and implementations that are flexible are those that are easy for client programmers to understand, use, and change.

Read More/Get Ebook

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.

This book is for developers with more than a beginning level of understanding of writing programs in the Java programming language. The example application is written with the Java® 2 platform APIs and explained in terms of functional hows and whys, so 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.

Read More/Get Ebook

Concurrent Programming Using Java

By Stephen J. Hartley

This is an introduction to using the Java programming language in concurrent or multithreaded applications. The context is the process synchronization material and related concurrent programming in operating systems courses as opposed to software engineering. Topics covered are race conditions when threads share data, critical sections, mutual exclusion, semaphores, monitors, message passing, the rendezvous, remote procedure calls, distributed or network programming, and parallel processing. Solutions to the classical problems talked about in operating systems courses (the dining philosophers, the bounded buffer producers and consumers, and the database readers and writers) are shown in Java. Also shown is how to animate algorithms using the command set of the Xtango animation interpreter, animator. Some of the animation examples can be viewed as applets.

These example programs were developed and tested using Sun Microsystem's JDK version 1.0.2 and 1.1 for Solaris 2.x and Windows 95/NT (1996--97). They have been updated to remove all ``deprecated'' methods and constructors. The multimachine socket examples use the readObject() and writeObject() methods of the ObjectInputStream and ObjectOutPutStream classes, which are part of the RMI (remote method invocation) add-on for JDK 1.0.2 and included with JDK 1.1.

All of the code examples described and hyperlinked here may be retrieved as a gzip tar archive or zip archive.

Java is designed to be a platform-independent language, so all of these examples, including the animated ones, will run without change on Sun's Solaris 2.x UNIX for Sparc and Microsoft Windows 95/NT for Intel-based PCs.

Read More/Get Ebook

Securing Java

By Gary McGraw and Edward Felten

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.

We hope this book appeals to geeks and grandmothers alike (not that some grandmothers aren't geeks). Although it gets technical in places, we hope the messages are clear enough that even the casual Web user comes away with a broader understanding of the security issues surrounding mobile code. We kept four groups in mind as we wrote this book: Web users, developers, system administrators, and business decision-makers. Many of the issues of mobile code security cut across these groups. As Java integrates itself into the foundations of electronic commerce, Java security issues take on more urgency.

Java is only one kind of mobile code among many. Other systems immersed in the same security dilemma include ActiveX, JavaScript, and Word Macros. It is essential not to get the wrong message from this book. Our focus on Java is no accident. We believe Java is the most viable mobile code system created to date. Don't believe that through our work we imply that other systems are any more secure than Java. Just the opposite is true.

With the introduction of code signing to Java (in JDK 1.1) and its enhancement with access control (in Java 2), securing Java became much harder. Java's position along the security/functionality tradeoff has moved significantly toward functionality, to the detriment of security. This is good if you want more functionality, which most businesses and developers seem to need, but it is bad if you are charged with managing security risks. Forming an intelligent Java use policy is more important than ever, but doing so is more complicated than it used to be.

Read More/Get Ebook

Processing XML with Java

By Elliotte Rusty Harold
Welcome to Processing XML with Java, a complete tutorial about writing Java programs that read and write XML documents. This is the most comprehensive and up-to-date book about integrating XML with Java (and vice versa) you can buy. It contains over 1000 pages of detailed information on SAX, DOM, JDOM, JAXP, TrAX, XPath, XSLT, SOAP, and lots of other juicy acronyms. This book is written for Java programmers who want to learn how to read and write XML documents from their code.

This book is written for experienced Java programmers who want to integrate XML into their systems. Java is the ideal language for processing XML documents. Its strong Unicode support in particular made it the preferred language for many early implementers. Consequently, more XML tools have been written in Java than in any other language. More open source XML tools are written in Java than in any other language. More programmers process XML in Java than in any other language.

Processing XML with Java will teach you how to:

  • Save XML documents from applications written in Java

  • Read XML documents produced by other programs

  • Search, query, and update XML documents

  • Convert legacy flat data into hierarchical XML

  • Communicate with network servers that send and receive XML data

  • Validate documents against DTDs, schemas, and business rules

  • Combine functional XSLT transforms with traditional imperative Java code

This book is meant for Java programmers who need to do anything with XML. It teaches the fundamentals and advanced topics, leaving nothing out. It is a comprehensive course in processing XML with Java that takes developers from little knowledge of XML to designing sophisticated XML applications and parsing complicated documents. The examples cover a wide range of possible uses including file formats, data exchange, document transformation, database integration, and more.

Read More/Get Ebook

Apache Jakarta Commons

By Will Iverson
I originally noticed the Jakarta Commons libraries while working with Apache Jakarta Tomcat. At some point, Tomcat started to include a suite of small libraries with commons in the name. They started to show up everywhere, in all sorts of other open source projects. At first, it was slightly off-putting—what exactly is commons-lang.jar, and why is this tiny library showing up in all of my software?
Exploring the Jakarta Commons, I first found a broad suite of what I would characterize as "utility" code—things that often wound up in my software in packages named things like "util." Digging deeper, I found useful libraries to solve common problems, interesting algorithms, and more. In brief, by using the Jakarta Commons, I found I spent less time reinventing the wheel, and more time solving the problem at hand.
Virtually every Java developer can take advantage of various Jakarta Commons components—from the utilities provided by the Collections andLang packages, through the networking components afforded by the HttpClient and Net packages. These components underlie Apache Tomcat, Struts, and countless other projects, helping move forward both the Java industry and the Java platform.
The first few chapters cover the more web-specific packages, including FileUpload, HttpClient, and the Net suite of protocol implementations. The Pool and DBCP packages are useful for a broader range of applications. BeanUtils and JXPath provide easier ways to work with objects. Logging, Lang, and Collections are a suite of tools applicable to almost every application. Codec provides a suite of specialized conversion routines, useful for data transfer, security, and (interestingly) phonetic analysis. Finally, the CLI package provides support for building command-line applications.
Read More/Get Ebook

Java Application Development on Linux

By Carl Albing and Michael Schwarz
Why another book on Java? Why a book on Java and Linux? Isn’t Java a platform independent system? Aren’t there enough books on Java? Can’t I learn everything I need to know from the Web?
No doubt, there are a host of Java books on the market. We didn’t wake up one morning and say, “You know what the world really needs? Another book about Java!” No. What we realized was that there are a couple of “holes” in the Java book market.
First, Linux as a development platform and deployment platform for Java applications has been largely ignored. This is despite the fact that the *nix platform (meaning all UNIX and UNIX-like systems, Linux included) has long been recognized as one of the most programmer-friendly platforms in existence. Those few resources for Java on Linux that exist emphasize tools to the exclusion of the Java language and APIs.
Second, books on the Java language and APIs have focused on pedagogical examples that serve to illustrate the details of the language and its libraries, but very few of these examples are in themselves practically useful, and they tend to deal only with the issues of writing programs, and not at all with deploying and maintaining them. Anyone who has worked on a major software project, especially a software project that is developed and deployed in a business for a business, knows that designing and coding are only about half of the work involved. Yes, writing Java code is only slightly affected by the development and the deployment platform, but the process of releasing and maintaining such applications is significantly different between platforms....
Read More/Get Ebook

Sun Certified Java Programmer Pre-Exam Essentials

The purpose of this document is to provide a basis for revising for the Sun Certified Programmer examinations, not to teach the Java language or the topics required for the exam. It is designed to collect all the essential information you need to retain, in one place, and is designed for someone who has already finished their own study and is about to take the exam.

This version is written according to the objectives of the "Sun Certified Programmer For Java™ 2 Platform 1.4" exam. For those taking the 1.2 exam, the objectives no longer required for 1.4 have been retained towards the end of this document. The sections have "1.2 Exam Only" at the start of their titles. I would recommend doing the 1.4 exam instead, as it is more current and the only major new subject is assertions.

Aside: There is no 1.3 exam, as such. The 1.1 exam exam was replaced by a Java2 exam, which at the time seemed like it would suffice for all Java2 releases. However in September 2002 Sun released seperate 1.2 and 1.4 exams. The 1.2 syllabus is for 1.2 and 1.3.

Read More/Get Ebook

Popular Posts