Java Memory Model

The Java memory model specifies how the Java virtual machine works with the computer's memory (RAM). The Java virtual machine is a model of a whole computer so this model naturally includes a memory model - AKA the Java memory model.

It is very important to understand the Java memory model if you want to design correctly behaving concurrent programs. The Java memory model specifies how and when different threads can see values written to shared variables by other threads, and how to synchronize access to shared variables when necessary.

Ehcache: Java's Most Widely-Used Cache

Ehcache is an open source, standards-based cache for boosting performance, offloading your database, and simplifying scalability. It's the most widely-used Java-based cache because it's robust, proven, and full-featured. Ehcache scales from in-process, with one or more nodes, all the way to mixed in-process/out-of-process configurations with terabyte-sized caches.

Checkout Ehcache 3 which is under active development with milestone builds available now. It natively complies with JSR107 (JCache spec), supports offheap storage, and has many other additions and improvements.


What is “version control”, and why should you care? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. For the examples in this book you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer.

Associative Memory

Understand Your Experience.
The power of Saffron’s Associative Memory-based approach rests in its simplicity, which is inspired by Natural Intelligence.

The concept is simple: We see things and learn how they are related when we see them together (or in sequence). We remember the coincidences. We also reason from this experience of how things are connected. New situations remind us of prior situations, recalling what other things, actions or outcomes are likely connected, while imagining what’s missing, or noticing what’s new and different from what we already know.

Apache Tiles

Apache Tiles is a template composition framework. Tiles was originally built to simplify the development of web application user interfaces, but it is no longer restricted to the JavaEE web environment.

Spring Framework Architecture

The Spring framework is a layered architecture which consists of several modules. All modules are built on the top of its core container. These modules provide everything that a developer may need for use in the enterprise application development. He is always free to choose what features he needs and eliminate the modules which are of no use. It's modular architecture enables integration with other frameworks without much hassle.

JSP & Servlets

Java Servlet technology and JavaServer Pages (JSP pages) are server-side technologies that have dominated the server-side Java technology market; they've become the standard way to develop commercial web applications. Java developers love these technologies for myriad reasons, including: the technologies are fairly easy to learn, and they bring the Write Once, Run Anywhere paradigm to web applications. More importantly, if used effectively by following best practices, servlets and JSP pages help separate presentation from content.

Database Concepts. Transactions

A transaction is a logical, atomic unit of work that contains one or more SQL statements. A transaction groups SQL statements so that they are either all committed, which means they are applied to the database, or all rolled back, which means they are undone from the database. Oracle Database assigns every transaction a unique identifier called a transaction ID.

All Oracle transactions obey the basic properties of a database transaction, known as ACID properties. ACID is an acronym for the following:



Subscribe to RSS