Saturday, November 23, 2013
Every Java programmer loves free eBooks on Java, don't you? When I shared my collection of top 5 Java programming books, one of my reader asked me to share some free Java books as well. Doing a quick search on internet, reveals lots of free books, resource and tutorials to learn Java. I have chosen some of the good Java books, which are FREE, available for download or you can read it online in HTML or PDF format. This books are excellent resource for any Java beginners, as well as experienced programmer, and since they are free, it makes absolute sense to have a look on this before buying any other book in Java. This free Java books covers a wide range of technology including core Java, J2EE, JSP, Servlets, XML and general programming concepts. Though books like Effective Java or Java Concurrency in Practice are not free, they are worth of every penny spent. I didn't find any good FREE Java books on concurrency and multithreading, which I really wanted to include. If you come across a genuine FREE multithreading books for Java programmer, then please let us know.
Tuesday, November 19, 2013
In this article, we will take on a popular programming exercise of counting vowels in a word. You need to write a Java program to count how many vowels in a String, which is entered from command prompt. It's similar to program of counting occurrence of characters in a String, in fact it's a special case, where you need to count occurrences of all vowels, which includes five characters a, e, i, o and u. We will further use Scanner to get input from user, as shown in this article. Though I have put down all code inside main method for quick testing, if you are asked to write this program as part of your homework or during interview, better writing a method called public int countVowels(String word) and put logic of counting vowels there. That's a better coding style than writing everything inside main method. By the way, you can also use this logic to count number of consonants in a Java String. What you need to do is first count number of vowels and then subtract those characters from length of String, but remember this will only work if your String contains only alphabetic words, if it contains special character like @, _, | or numbers like 1,2,3 etc, than it will not work. In that case you need to extend your logic to only count consonants, by extending your switch case to include rest of 21 characters from English alphabets.
Wednesday, November 13, 2013
Difference between RegularEnumSet and JumboEnumSet in Java was asked in a recent Java interview to one of my friend, unfortunately he hasn't explored this topic well and couldn't answer this question precisely, but he made sure to learn about EnumSet after that. When he discussed this topic to me, I really liked it because despite of usefulness of EnumSet and it's fast implementation, not many developers knows about it, despite being mentioned in Java classic Effective Java. This makes me to write this post, where we will mainly discuss couple of differences between RegularEnumSet and JumboEnumSet in Java, but we will also touch base upon some of the important properties of EnumSet. For those who are completely unknown of EnumSet and wondering what the heck is this new Set implementation, it's one of those very special implementation, which is used to store Java Enum, Since Enum always has fixed number of instances, data-structure which is used to store Enum can be optimized depending upon number of instances and that's why we have two different implementation of EnumSet in Java. We will take a closer look on this concept in next paragraph.