Thursday, July 11, 2013

Java: Java beginners Guide

First steps in Java programming.
For a introduction tutorial in Java please see the official help from SUN here
where, except of the core language, several technologies and APIs are
introduced. We propose to begin by reading the trails covering the
basics and continue with the rest of the tutorials.
We propose to :
  • Keep the code straightforward and easy to read
  • Split functionality in logical components (classes) that interconnect if necessary
  • Try to comply with code re-usability design patterns, where common functionality is implemented in a public accessed methods
  • Document your code, using Javadoc comments and/or simple comments
  • Use a logging framework (Apache log4j is widely deployed and used) to produce logs
  • Use a testing framework (JUnit is widely deployed and used) to test your code
  • If you code involves String manipulation (splitting, adding, scanning
    characters etc), use the StringBuilder class rather than the String
    class, the StringBuilder implementation is much faster
  • If your code involves lists or maps, the ArrayList and HashMap are the fastest
    implementations, nevertheless if you are using the contains(Object)
    method on a collection, then the HashSet is the fastest implementation
    introducing a O(1) cost.
  • Java 5 and later versions include a management console (jconsole). You can use it to monitor your application
  • If your code involves pattern matching, prefer to use the Pattern and
    Matcher classes, rather than the Pattern.matches(regex, input)
    convenience method. Compile the pattern and use the Matcher.find()
    method as described below, especially if you reuse the same pattern
    where you should compile the pattern only once.
Preferred method for patter matching:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

  public static void main(String args[]) throws Exception {

    Pattern p = Pattern.compile("Java \\d");
    String candidate = "this is a Java test";
    Matcher m = p.matcher(candidate);

    System.out.println("result=" + m.find());
  }
}

0 comments:

Post a Comment