Groovy is the dynamic language for the Java Virtual Machine. Inspired from Java, Ruby and Python, Groovy is an object-oriented language written in Java. Groovy is designed to help you get things done on the Java platform in a quicker, more concise and fun way – bringing the power of Python and Ruby inside the Java platform
Groovy’s addition to the application is as of enhancing the power and capabilities of java.
Like Java, everything is an object in Groovy.

The java virtual machine has no idea that its running the groovy code. Groovy is written in Java. As java library is called by the name JDK, the groovy library is enclosed and called by the name GDK – Groovy Development Kit.

It complements the productivity of the java programmers through its powerful features. Read more…
JDK 7 which is scheduled to be release in 2011, has some new features which should make programming fun. One of them is dynamically typed language . The JSR 292 new method invocation mode : invokedynamic. With that new bytecode keyword, we can call method only known at runtime.
A new package java.dyn that will use this new functionality. That package will improve the performances of Java reflection and mainly the performances of the others languages that run in the JVM.
Then there is a new class java.util.Objects. This class contains 9 static methods to work on Objects.
See the complete list of JDK 7 features
There is a post by Arun, Advantages of Java 7- Project Coin
Have difficulty in remembering shortcut for eclipse keys ?
Here is a nice wallpaper to remind you of shortcuts.

Eclipse shortcuts
Eclipse shortcuts
September 26th, 2010
Vinay
There has been lots of speculation on Java and its future. Some people complained that they are not seeing much progress happening in future releases. They had more to fear when Oracle bought Sun Microsystems and with it the Java. Will it be end of Java ? Time to switch ?
Last week In Oracle world, Oracle has unvielded Exalogic Oracle Unveils Exalogic Elastic Cloud , which apart from tons of feature which you can read on Oracle’s blog ,comprises the latest high performance x86 hardware, the industry-leading Oracle WebLogic Server, and Exalogic software, all engineered by Oracle for maximum capability with minimum set-up.
In Oracle’s internal testing one rack of Oracle Exalogic Elastic Cloud demonstrated:
12X improvement for Internet applications, to over 1 Million HTTP requests per second.
4.5X improvement for Java messaging applications, to over 1.8 Million messages per second.
What is noteworthy that Oracle Exalogic Elastic Cloud offers unmatched performance and reliability for Java applications. Read more…
September 15th, 2010
Vinay
Have you heard of Terracotta ?
Terracotta helps their customers by getting their database data in memory as close to the application as possible. As customers continue to put larger data sets into cache, they require larger and larger Java heaps. As a result, Terracotta and their customers are spending more time dealing with Java garbage collection tuning issues.
They’ve been able to tune for Java heaps up to 10GB, but are getting requests for larger heaps–up to 100GB in some cases–where GC pauses are just too long (five minutes or longer). This is unacceptably long.
So Amit pandey, CEO of Terracotta in an interview explained why they used BigMemory to solve the GC problem.
BigMemory is a snap-in module that provides off-heap memory storage. It is a pure Java solution that works with all JVMs and bypasses the Java garbage collector. You don’t even need to be in distributed caching mode to use BigMemory, but it works with both standalone and distributed caches. Like most Ehcache features, it requires only a few lines of configuration. BigMemory can also handle hundreds of millions of objects. Read more…
September 13th, 2010
Vinay
Java script has very powerful regular expression capabilities which are now being extended in java through java.util.regex package
We will look at a very simple example in which we will validate if there could be any non zero number after decimal or not
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegularExpression {
public void decimalRegExpre(){
// Create a pattern to check if there is any non zero number after decimal
Pattern p = Pattern.compile(“^\\d{0,6}(,?\\d{0,6})*\\.?(\\.[0])?$”);
Matcher matcher = p.matcher(“4888.0″);
System.out.println(matcher.matches());
}
/**
* @param args
*/
public static void main(String[] args) {
TestRegularExpression testReg = new TestRegularExpression();
testReg.decimalRegExpre();
}
}
matcher.matches() will return true in this case. If you change the value to 26.1, it will return false.
java.util.regex
When starting with a new project , first question which would come to your mind is which VCS to chose. Given a lot of options in market like CVS, SVN , Mercurial and Microsoft VSS , you have to look at you requirements.
If you are looking for something popular , easy to use , low cost and working with distributed teams, you should go either with CVS or SVN.
Here is quick comparison of various VCS used . This is a result of survey done in 2008 by finalbuilder.

Soucre control surver
Looking at the results, you would surely go with SVN but one should look at why SVN is getting more popular and is taking over CVS. SVN was created to fix some problems in CVS. Read more…
In our earlier post we had covered what exactly saveorUpdate in hibernate does.
Developers that are new to Hibernate constantly calling the saveOrUpdate method whenever a set of changes have been made to a POJO. This isn’t necessary. You only have to associate an instance with the Hibernate Session once within the scope of a transaction. From that point on, you can do whatever you want to your JavaBean instances. Hibernate will persist the final state of your instance when the current transaction is finally committed.
The following piece of code needlessly calls the saveOrUpdate method after instance variables have been updated. This is totally unnecessary, as the User instance was already associated with the Hibernate Session through the original call to saveOrUpdate. Read more…