A java tutorial