Some nifty features being added…

Support for strings in a switch/case, a true filesystem API for things like directory search, improved GC, breakdown of the platform into modules to reduce memory footprint of the runtime.



A thread often acts in response to the action of another thread. If the other thread’s action is also a response to the action of another thread, then livelock may result. As with deadlock, livelocked threads are unable to make further progress. However, the threads are not blocked — they are simply too busy responding to each other to resume work. This is comparable to two people attempting to pass each other in a corridor: Alphonse moves to his left to let Gaston pass, while Gaston moves to his right to let Alphonse pass. Seeing that they are still blocking each other, Alphone moves to his right, while Gaston moves to his left. They’re still blocking each other, so…

more info

Persisting state in Servlets

Only a single instance of the servlet is created, and each request simply results in a new thread calling the servlet’s service method (which calls doGet or doPost). So, shared data simply has to be placed in a regular instance variable (field) of the servlet. Thus, the servlet can access the appropriate ongoing calculation when the browser reloads the page and can keep a list of the N most recently requested results, returning them immediately if a new request specifies
the same parameters as a recent one. Of course, the normal rules that require authors to synchronize multithreaded access to shared data still apply to servlets.

Servlets can also store persistent data in the Servlet-Context object that is available through the getServletContext method. ServletContext has setAttribute and getAttribute methods that let you store arbitrary data associated with specified keys.

The difference between storing data in instance variables and storing it in the Servlet- Context is that the ServletContext is shared by all servlets in the servlet engine.

akadia – database design and software engineering

Good publications – for the “hands-on” guys.

A concise description of what is “Selectivity” and “cardinality”

cardinality = nbr of unique/distinct values in a column
selectivity = ratio of (nbr of distinct values/total nbr of records)…

Quiz 🙂
Which columns have the highest selectivity? Ideal selectivity=1
Ans: Primary keys

Bitmap indexes are used for OLAP databases = highly compressed indexes ( on low cardinality columns)
B-Tree indexes are used for OLTP databases = uncompressed. (recommended on high cardinality columns)

HTML Status Codes

Codes in the 100s are informational, indicating that the client
should respond with some other action.
Values in the 200s signify that the request was successful.
Values in the 300s are used for files that have moved and usually
include a Location header indicating the new address.
Values in the 400s indicate an error by the client.
Codes in the 500s signify an error by the server.

What is CHROME?

Nice presentation

HTML Validator

The two most popular on-line validators are the ones from the World Wide Web Consortium (http://validator.w3.org/) and from the Web Design Group (http://www.htmlhelp.com/tools/validator/).