Showing posts with label java beginner. Show all posts
Showing posts with label java beginner. Show all posts

Tuesday 20 August 2013

Validate regular expression for username in java

// siddhu vydyabhushana // Leave a Comment
Username Regular Expression Pattern
^[a-z0-9_-]{3,15}$
Description
^                    # Start of the line
  [a-z0-9_-]	     # Match characters and symbols in the list, a-z, 0-9, underscore, hyphen
             {3,15}  # Length at least 3 characters and maximum length of 15 
$                    # End of the line
Whole combination is means, 3 to 15 characters with any lower case character, digit or special symbol “_-” only. This is common username pattern that’s widely use in different websites.

1. Java Regular Expression Example

UsernameValidator.java
package com.mkyong.regex;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class UsernameValidator{
 
	  private Pattern pattern;
	  private Matcher matcher;
 
	  private static final String USERNAME_PATTERN = "^[a-z0-9_-]{3,15}$";
 
	  public UsernameValidator(){
		  pattern = Pattern.compile(USERNAME_PATTERN);
	  }
 
	  /**
	   * Validate username with regular expression
	   * @param username username for validation
	   * @return true valid username, false invalid username
	   */
	  public boolean validate(final String username){
 
		  matcher = pattern.matcher(username);
		  return matcher.matches();
 
	  }
}

2. Username that match:

1. mkyong34
2. mkyong_2002
3. mkyong-2002
4. mk3-4_yong

3. Username that doesn’t match:

1. mk (too short, min 3 characters)
2. mk@yong (“@” character is not allow)
3. mkyong123456789_- (too long, max characters of 15)

4. Unit Test – UsernameValidator

Using testNG to perform unit test.
UsernameValidatorTest.java
package com.mkyong.regex;
 
import org.testng.Assert;
import org.testng.annotations.*;
 
/**
 * Username validator Testing
 * @author mkyong
 *
 */
public class UsernameValidatorTest {
 
	private UsernameValidator usernameValidator;
 
	@BeforeClass
        public void initData(){
		usernameValidator = new UsernameValidator();
        }
 
	@DataProvider
	public Object[][] ValidUsernameProvider() {
		return new Object[][]{
		   {new String[] {
	             "mkyong34", "mkyong_2002","mkyong-2002" ,"mk3-4_yong"
		   }}
      	        };
	}
 
	@DataProvider
	public Object[][] InvalidUsernameProvider() {
		return new Object[][]{
		   {new String[] {
		     "mk","mk@yong","mkyong123456789_-"	  
		   }}
	        };
	}
 
	@Test(dataProvider = "ValidUsernameProvider")
	public void ValidUsernameTest(String[] Username) {
 
	   for(String temp : Username){
		boolean valid = usernameValidator.validate(temp);
		System.out.println("Username is valid : " + temp + " , " + valid);
		Assert.assertEquals(true, valid);
	   }
 
	}
 
	@Test(dataProvider = "InvalidUsernameProvider", 
                 dependsOnMethods="ValidUsernameTest")
	public void InValidUsernameTest(String[] Username) {
 
	   for(String temp : Username){
		boolean valid = usernameValidator.validate(temp);
		System.out.println("username is valid : " + temp + " , " + valid);
		Assert.assertEquals(false, valid);
	   }
 
	}	
}

5. Unit Test – Result

Username is valid : mkyong34 , true
Username is valid : mkyong_2002 , true
Username is valid : mkyong-2002 , true
Username is valid : mk3-4_yong , true
username is valid : mk , false
username is valid : mk@yong , false
username is valid : mkyong123456789_- , false
PASSED: ValidUsernameTest([Ljava.lang.String;@1d4c61c)
PASSED: InValidUsernameTest([Ljava.lang.String;@116471f)
 
===============================================
    com.mkyong.regex.UsernameValidatorTest
    Tests run: 2, Failures: 0, Skips: 0
===============================================
 
 
===============================================
mkyong
Total tests run: 2, Failures: 0, Skips: 0
===============================================
 
Read More

Monday 19 August 2013

Take screen shots in java

// siddhu vydyabhushana // 1 comment
While surfing through internet, I came to this amazing piece of code in Java that takes the screen shot of your desktop and save it in a PNG file.
This example uses java.awt.Robot class to capture the screen pixels and returns a BufferedImage. Java.awt.Robot class is used to take the control of mouse and keyboard. Once you get the control, you can do any type of operation related to mouse and keyboard through your java code. This class is used generally for test automation.
Copy and paste following code in your Java class and invoke the method captureScreen() with file name as argument. The screen shot will be stored in the file that you specified in argument.
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
 
...
 
public void captureScreen(String fileName) throws Exception {
 
   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Rectangle screenRectangle = new Rectangle(screenSize);
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(screenRectangle);
   ImageIO.write(image, "png", new File(fileName));
 
}
...
Read More

Sunday 11 August 2013

Java Program: Find the given string from the user is integer or not

// siddhu vydyabhushana // 4 comments

java program to find whether our given input is string or numeric value, in java there is no direct function to identify the given input is numeric or not below program shows how to identify the string into numeric.



class CheckValue 
{
    public boolean checkIfNumber(String in) {

        try {

            Integer.parseInt(in);

        } catch (NumberFormatException ex) 
        {
            return false;
        }

        return true;
    }
    public static void main(String[] args) 
    {
        String str="22222";
        CheckValue v=new CheckValue();
        boolean value=v.checkIfNumber(str);
        if(value){
            System.out.println("Value is integer!");
        }
        else{
            System.out.println("Value is not integer!");
        }

    }
}
Your likes and shares makes me more happy
Read More

Monday 5 August 2013

Java eBook: Free Download Java 60 minutes a day book

// siddhu vydyabhushana // 4 comments

What is Java technology and why do I need it?

Java is a programming language and computing platform first released by Sun Micro systems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to data centers, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

Author: Rich Raposa
Features : A revolutionary virtual classroom
Book Name: Java in 60 minutes a day





               Download Book Click here 
Read More

Java Applet: ActionListener in java applets

// siddhu vydyabhushana // Leave a Comment
 ActionListener in java applets
Program:
 import java.awt.*; 
import java.applet.*; 
import java.awt.event.*; 

/*<applet code="ActionExample.java" width=300 height=500>
</applet>
*/

public class ActionExample extends Applet implements ActionListener 
{ 

     Button okButton; 
     Button wrongButton; 
     TextField nameField; 
     CheckboxGroup radioGroup; 
     Checkbox radio1; 
     Checkbox radio2; 
     Checkbox radio3; 

     public void init()  
     { 
          setLayout(new FlowLayout()); 
          okButton = new Button("Action!"); 
          wrongButton = new Button("Don't click!"); 
          nameField = new TextField("Type here Something",35); 
          radioGroup = new CheckboxGroup(); 
          radio1 = new Checkbox("Red", radioGroup,false); 
          radio2 = new Checkbox("Blue", radioGroup,true); 
          radio3 = new Checkbox("Green", radioGroup,false); 
          add(okButton); 
          add(wrongButton); 
          add(nameField); 
          add(radio1); 
          add(radio2); 
          add(radio3); 
          okButton.addActionListener(this); 
          wrongButton.addActionListener(this); 
         } 
         public void paint(Graphics g) 
         { 
          if (radio1.getState()) g.setColor(Color.red); 
        else if (radio2.getState()) g.setColor(Color.blue); 
          else g.setColor(Color.green); 

          g.drawString(nameField.getText(),20,100); 
     } 

 
        public void actionPerformed(ActionEvent evt)  
         { 
              if (evt.getSource() == okButton)  
                   repaint(); 

          else if (evt.getSource() == wrongButton)  
          { 

               wrongButton.setLabel("Not here!"); 
               nameField.setText("That was the wrong button!"); 
               repaint(); 
          } 
     }  

} 
Output:

Read More

Saturday 3 August 2013

Java Applets: How to change the color of text in applets dynamically

// siddhu vydyabhushana // 5 comments
How to change the color of text in applets dynamically


How to change the color of text in applets dynamically:
 
import java.awt.*;        // Defines basic classes for GUI programming.
     import java.awt.event.*;  // Defines classes for working with events.
     import java.applet.*;     // Defines the applet class.
 


/*<applet code="ColoredHelloWorldApplet" width=300 height=400>
</applet>
*/
     public class ColoredHelloWorldApplet
                       extends Applet implements ActionListener {
 
           // Defines a subclass of Applet.  The "implements ActionListener"
           // part says that objects of type ColoredHelloApplet are
           // capable of listening for ActionEvents.  This is necessary
           // if the applet is to respond to events from the button.
 
        Font textFont;    // The font in which the message is displayed.
                          // A font object represent a certain size and
                          // style of text drawn on the screen.
        TextField T1;
        TextField T2;
        TextField T3;
        int redColor, greenColor, blueColor;
        String as, ag, ab;
        Button bttn;
        public void init() {
 
               // This routine is called by the system to initialize 
               // the applet.  It sets up the font and initial colors
               // the applet.  It adds a button to the applet for 
               // changing the message color.
 
            setBackground(Color.lightGray);
                  // The applet is filled with the background color before
                  // the paint method is called.  The button and the message
                  // in this applet will appear on a light gray background.
 
            redColor=0;
            greenColor=0;
            blueColor=0;
 
 
            textFont = new Font("Serif",Font.BOLD,24);
                  // Create a font object representing a big, bold font.
 
     /*
     		TextField T1=new TextField("",12);
     		TextField T2=new TextField("",12);
     		TextField T3=new TextField("",12);
     		*/
 
     		T1=new TextField("",12);
     	 	T2=new TextField("",12);
     	 	T3=new TextField("",12);
 
 
     		add(T1);
     		add(T2);
     		add(T3);
            bttn = new Button("Change Color");
                  // Create a new button.  "ChangeColor" is the text
                  // displayed on the button.
 
            bttn.addActionListener(this);  
                  // Set up bttn to send an "action event" to this applet
                  // when the user clicks the button.  The parameter, this,
                  // is a name for the applet object that we are creating.
 
            add(bttn);  // Add the button to the applet, so that it 
                        // will appear on the screen.
 
        }  // end init()
 
 
        public void paint(Graphics g) {
 
              // This routine is called by the system whenever the content
              // of the applet needs to be drawn or redrawn.  It displays 
              // the message "Hello World" in the proper color and font.
 
           Color mixColor=new Color(redColor, greenColor,blueColor);
           //Color mixColor=new Color(255,255,50);
 
           //g.setColor(mixColor);
           g.setColor(mixColor);
           //g.setColor(new Color(redColor, greenColor, blueColor));
           g.setFont(textFont);       // Set the font.
 
           g.drawString("This Color changes", 20,70);    // Draw the message.
           //T1.setText("Is this function reached");
 
        }  // end paint()
 
 
        public void actionPerformed(ActionEvent evt) {
 
              // This routine is called by the system when the user clicks
              // on the button.  The response is to change the colorNum
              // which determines the color of the message, and to call
              // repaint() to see that the applet is redrawn with the
              // new color.
            // T1.setText("23");
 
            if (evt.getSource() == bttn)
            {
 
              as=T1.getText();
              ag=T2.getText();
              ab=T3.getText();
       	  	  as=as.trim();
          	  ag=ag.trim();
              ab=ab.trim();
 
           redColor= Integer.parseInt(as);
           greenColor= Integer.parseInt(ag);
           blueColor= Integer.parseInt(ab);
 
           repaint();  // Tell system that this applet needs to be redrawn
          }
        }  // end init()
 
     } // end class ColoredHelloWorldApplet

Output:

Read More

Java Applets :How to change button background in applets

// siddhu vydyabhushana // 4 comments
How to change button background in applets

change button background in applets:
/*
        Change Button Background Color Example
        This java example shows how to change button background color using
        AWT Button class.
*/
 
import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
 
 
/*
<applet code="ChangeButtonBackgroundExample" width=200 height=200>
</applet>
*/
public class ChangeButtonBackgroundExample extends Applet{
 
        public void init(){
               
                //create buttons
                Button button1 = new Button("Button 1");
                Button button2 = new Button("Button 2");
               
                /*
                 * To change background color of a button use
                 * setBackground(Color c) method.
                 */
               
                button1.setBackground(Color.red);
                button2.setBackground(Color.green);
               
                //add buttons
                add(button1);
                add(button2);
        }
}
Output:

Read More

Tuesday 30 July 2013

smart uses of STATIC in JAVA

// siddhu vydyabhushana // 3 comments
STATIC IN JAVA
  • Every class has two parts.One is variable and other one is method.The variables are called instance variables and methods are called instance methods.This is because every time the class is instantiated ,a new copy of each them is created .They are accessed with dot operator.
  • The modifier static is used to specify that a method is a class method.A class method is a method that is invoked without being bound to any specific object of the class.These are associated with itself not an individual objects.
For Example:

       public static void main(String args[])

which means,this method  as one that belong to the entire class and not a part of any object of the class.so interpreter uses this method before any object is created. 

Three uses of static 

1.if you declare static in before variable that variables gets memory once from the heap.
E.g


static example 1:
class inc
{
 int i=0;
void print()
{

   i++;
     System.out.println(i);
   
}

}
class staticvariable
{
 public static void main(String args[])
 {
inc a=new inc();
inc b=new inc();
inc c=new inc();
a.print();   
b.print();   
c.print();   
 }
  
}
Output:
After modifying using static

Using static variable:
class inc
{
static int i=0;
void print()
{

   i++;
     System.out.println(i);
   
}

}
class staticvariable
{
 public static void main(String args[])
 {
inc a=new inc();
inc b=new inc();
inc c=new inc();
a.print();   
b.print();   
c.print();   
 }
  
}
Output:

2. if you declare any class using static without creating instance automatically when class loads it will be executed.
for example if we take public static void main(String args[]).
before executing all classes in a particular class the main method will be executed first because of using static modifier.

3.Static block: it will executed before main method.
for Example:


Example of static block:
 
class staticBlock
{
static
{
System.out.println("Executing Before main method");
}
public static void main(String args[])
{
System.out.println("WELCOME TO JAVA TYRO");
}
}
Output:

Read More

Monday 29 July 2013

Converting applet into application in java

// siddhu vydyabhushana // 1 comment

Converting applet into application in java:

Suppose the user who do not have a browser,he cannot execute an applet. So we must convert the applet to application. In general applications have the main() method.You can use the Frame class to convert the applet to application.
Applet's default layout manager is FlowLayout .But ,Frames default Layout manager is BorderLayout.


program for applet convertion.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

 public class convert extends Applet
{
  public void paint(Graphics g)
  {
   setBackground(Color.pink);
   g.drawString("Applet to Application",10,10);
   g.drawString("ALT+F4 to close",10,40);
  }
  public static void main(String args[])
  {
    myframe m=new myframe();
 convert c=new convert();
 c.init();
 m.add("Center",c);
 m.show();
  }
}
   class myframe extends Frame
   {
     public myframe()
  {
   setTitle("Quit for close button");
   setSize(300,200);
   addWindowListener(
   new WindowAdapter()
   {
       public void windowClosing(WindowEvent e)
      {
           System.exit(0);
      }
   });
 
     }
     
   }
Output of a Program:-


 Your sweet comments, likes, shares makes us very happy...
Read More

Difference between applets and application in java

// siddhu vydyabhushana // Leave a Comment

Difference between applets and application

                            Applet                                                                 Application
         1.      Applets  are inherently use the GUI       1.GUI is optional ,mostly character
          E.g: Webpage animation                             based. E.g: Network Sever

   2. Method expected by the JVM is init()     2.JVM expected main() method for                   Start(),stop(),destroy() and paint()             Start up.
        method.   

   3 .It requires more memory and web           3. Less memory required.
        Browser.

    4 .Environmental input are supplied           4.Mostly command line arguments
        Through PARAMETER embedded in 
        host html.
.
Read More

Friday 26 July 2013

Native, Transient, Synchronized, Volatile Modifiers in java

// siddhu vydyabhushana // 3 comments
Native Modifier:  

This is used as a methods modifier. Its body is implemented in another programming language such as c (or) c++. Native methods are platform dependent. The Native modifier informs the java compiler that a methods implementation is in external c file. It is for this reason that native method declaration look different from other java methods .they have no body
                
                                   E.g.:  native int findTotal ();


Note:   That the method declaration ends with a semicolon. There are no curly braces containing java code .This is implemented in C or C++ code. It  makes potential security risk and loss of portability
Transient Modifier

The object has a transient part it is not part of the persistent state of an object. You can use the transient modifier if you do not want to store certain data member to file. This is used only with data members.

Class transistent
{
   Transistent Boolean b; //not to be stored
   Int k;                                 //to be stored
} 

Volatile Modifier

It may be modified by asynchronous threads. The volatile modifier is used for volatile that can be simultaneously modified by many threads.

Note:
      1.     You can change the order of the access specifier and modifiers
                                Public static void main(String args[])
                                Static public void main(String srgs[])

2.      You cannot use two or  more access specifiers in a declaration
Private public int a; //illegal

Synchronized Modifier


This is used in multi –threaded programming .A thread is a unit of execution within a process. In multi-threaded you need to synchronize various threads. The synchronized keyword used to tell the program that the thread is safe. This is allowing a single thread access to a method at once, forcing the others to wait their turn.

Read More

Introduction to Applets

// siddhu vydyabhushana // 2 comments
Introduction to Applets

v  An applet is a special program that you can embed in a web page such that the applet gains control over a certain part of the displayed page.

v  Applet differs from application programs. Like applications, applets are created from classes.

v  However, applets do not have a main method as an entry point, but instead have several methods to control specific aspects of applet execution

simple hello world applet
Compiling JAVA Applet


This applet consists of two import statements.

               1.      The first import the abstract windowing tool kit class. Because applet programs are GUI based not console based.
               2.      The second import statement here is Applet class. Every applet that you can create must be a sub class of Applet.
        3.    The paint method is called to display the output. It has one parameter of type Graphics.
                                
                                   Syntax: drawString(String s1, int x, int y);


Read More

Wednesday 24 July 2013

how to set java path in windows7 , windows xp

// siddhu vydyabhushana // 5 comments
What is java?
java is a programming language and platform.
platform is it may be hardware or software where our program executes.java has its own environment and api,it is called platform.

Why we set path?
After installation of jdk,jre in your system only you have to execute or compile programs.
The programs don't know the root (path) where code converts to byte code.
we can set path in two ways:

1.Every time we can set path using set classpath command
2.Set path into environment variables

Method 1:
it is a one type of method not using in these days, 


Drawback: Everytime when compiling program, executing program we should set path in command prompt

Method 2 :

this is most frequently used and no modifications are needed no need to use set classpath every time in command prompt.

just follow below steps to set classpath

1.Got my computer
2.open your installation drive(it my be c:\ or d:\)
3.open program files
4.open java folder
5.double click on jdk folder
6.at next open bin folder

copy the path as 


copy it...

Step-1

1.right click on my computer -> properties 
2.click on Advanced System Settings

Step-2:

1. click on Environment Variables

Step-3:
keep your eyes on System Variables
observe carefully if the system variables contain path variable no need to create
if it doesn't contain create it. paste the url in the Value of the system variables

now apply all ....

I hope that you enjoyed this tutorial and like my page instead of paying money and share my blog thanq







Read More

Monday 22 July 2013

Why Multiple Inheritance is Not Supported in Java

// siddhu vydyabhushana // 3 comments
In an white paper titled “Java: an Overview” by James Gosling in February 1995 gives an idea on why multiple inheritance is not supported in Java.
JAVA omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than benefit. This primarily consists of operator overloading (although it does have method overloading),multiple inheritance, and extensive automatic coercions.
Who better than Dr. James Gosling is qualified to make a comment on this. This paragraph gives us an overview and he touches this topic of not supporting multiple-inheritance.

Java does not support multiple inheritance

First lets nail this point. This itself is a point of discussion, whether java supports multiple inheritance or not. Some say, it supports using interface. No. There is no support for multiple inheritance in java. If you do not believe my words, read the above paragraph again and those are words of the father of Java.
This story of supporting multiple inheritance using interface is what we developers cooked up. Interface gives flexibility than concrete classes and we have option to implement multiple interface using single class. This is by agreement we are adhering to two blueprints to create a class.
This is trying to get closer to multiple inheritance. What we do is implement multiple interface, here we are not extending (inheriting) anything. The implementing class is the one that is going to add the properties and behavior. It is not getting the implementation free from the parent classes. I would simply say, there is no support for multiple inheritance in java.

Multiple Inheritance

Multiple inheritance is where we inherit the properties and behavior of multiple classes to a single class. C++, Common Lisp, are some popular languages that support multiple inheritance.
Multiple Inheritance

Why Java does not support multiple inheritance?

Now we are sure that there is no support for multiple inheritance in java. But why? This is a design decision taken by the creators of java. The keyword is simplicity and rare use.

Simplicity

I want to share the definition for java given by James Gosling.
JAVA: A simple, object oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high performance, multithreaded, dynamic language.
Look at the beauty of this definition for java. This should be the definition for a modern software language. What is the first characteristic in the language definition? It is simple.
In order to enforce simplicity should be the main reason for omitting multiple inheritance. For instance, we can consider diamond problem of multiple inheritance.
Diamond Problem of Multiple Inheritance
We have two classes B and C inheriting from A. Assume that B and C areoverriding an inherited method and they provide their own implementation. Now D inherits from both B and C doing multiple inheritance. D should inherit that overridden method, which overridden method will be used? Will it be from B or C? Here we have an ambiguity.
In C++ there is a possibility to get into this trap though it provides alternates to solve this. In java this can never occur as there is no multiple inheritance. Here even if two interfaces are going to have same method, the implementing class will have only one method and that too will be done by the implementer. Dynamic loading of classes makes the implementation of multiple inheritance difficult.

Rarely Used

We have been using java for long now. How many times have we faced a situation where we are stranded and facing the wall because of the lack of support for multiple inheritance in java? With my personal experience I don’t remember even once. Since it is rarely required, multiple inheritance can be safely omitted considering the complexity it has for implementation. It is not worth the hassle and the path of simplicity is chosen.
Even if it is required it can be substituted with alternate design. So it is possible to live without multiple inheritance without any issues and that is also one reason.
My opinion on this is, omitting support for multiple inheritance in java is not a flaw and it is good for the implementers.
Read More

Tuesday 16 July 2013

Most Popular Top 8 Java People

// siddhu vydyabhushana // 311 comments
Here are the top 8 Java people, they’re created frameworks, products, tools or books that contributed to the Java community, and changed the way of coding Java.
P.S The order is based on my personal priority.
1. Tomcat & Ant Founder
James-Duncan-Davidson
James Duncan Davidson, while he was software engineer at Sun Microsystems (1997–2001), created Tomcat Java-based web server, still widely use in most of the Java web projects, and also Ant build tool, which uses XML to describe the build process and its dependencies, which is still the de facto standard for building Java-based Web applications.
Related Links
  1. James Duncan Davidson Twitter
  2. James Duncan Davidson Wiki
  3. James Duncan Davidson personal blog
  4. Apache Ant
  5. Apache Tomcat

    2. Test Driven Development & JUnit Founder

    Kent-Beck
    Kent Beck, creator of the Extreme Programming and Test Driven Development software development methodologies. Furthermore, he and Erich Gamma created JUnit, a simple testing framework, which turn into the de facto standard for testing Java-based Web applications. The combine of JUnit and Test Driven Development makes a big changed on the way of coding Java, which causes many Java developers are not willing to follow it.
    Related Links
    1. Kent Beck Twitter
    2. Kent Beck Wiki
    3. Kent Beck Blog
    4. JUnit Testing Framework
    5. Extreme Programming Wiki
    6. Test Driven Development Wiki
    News & Interviews
    1. Kent Beck: “We thought we were just programming on an airplane”
    2. Interview with Kent Beck and Martin Fowler
    3. eXtreme Programming An interview with Kent Beck
    Kent Beck Books
    1. Extreme Programming Explained: Embrace Change (2nd Edition)
    2. Refactoring: Improving the Design of Existing Code
    3. JUnit Pocket Guide

    3. Java Collections Framework

    Joshua-Bloch
    Joshua Bloch, led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. In June 2004 he left Sun and became Chief Java Architect at Google. Furthermore, he won the prestigious Jolt Award from Software Development Magazine for his book, “Effective Java”, which is arguably a must read Java’s book.
    Related Links
    1. Joshua Bloch Twitter
    2. Joshua Bloch Wiki
    News & Interviews
    1. Effective Java: An Interview with Joshua Bloch
    2. Rock Star Josh Bloch
    Joshua Bloch Books
    1. Effective Java (2nd Edition)
    2. Java Concurrency in Practice

    4. JBoss Founder

    Marc-Fleury
    Marc Fleury, who founded JBoss in 2001, an open-source Java application server, arguably the de facto standard for deploying Java-based Web applications. Later he sold the JBoss to RedHat, and joined RedHat to continue support on the JBoss development. On 9 February 2007, he decided to leave Red Hat to pursue other personal interests, such as teaching, research in biology, music and his family.
    Related Links
    1. Marc Fleury Wiki
    2. Marc Fleury Blog
    3. JBoss Application Server
    News & Interviews
    1. Could Red Hat lose JBoss founder?
    2. JBoss founder Marc Fleury leaves Red Hat, now what?
    3. JBoss’s Marc Fleury on SOA, ESB and OSS
    4. Resurrecting Marc Fleury

    5. Struts Founder

    Craig-McClanahan
    Craig Mcclanahan, creator of Struts, a popular open source MVC framework for building Java-based web applications, which is arguably that every Java developer know how to code Struts. With the huge success of Struts in early day, it’s widely implemented in every single of the old Java web application project.
    Related Links
    1. Craig Mcclanahan Wiki
    2. Craig Mcclanahan Blog
    3. Apache Struts
    News & Interviews
    1. Interview with Craig McClanahan
    2. Struts Or JSF?

    6. Spring Founder

    Rod-Johnson
    Rod Johnson, is the founder of the Spring Framework, an open source application framework for Java, Creator of Spring, CEO at SpringSource. Furthermore, Rod’s best-selling Expert One-on-One J2EE Design and Development (2002) was one of the most influential books ever published on J2EE.
    Related Links
    1. Rod Johnson Twitter
    2. Rod Johnson Blog
    3. SpringSource
    4. Spring Framework Wiki
    News & Interviews
    1. VMware.com : VMware to acquire SpringSource
    2. Rod Johnson : VMware to acquire SpringSource
    3. Interview with Rod Johnson – CEO – Interface21
    4. Q&A with Rod Johnson over Spring’s maintenance policy changes
    5. Expert One-on-One J2EE Design and Development: Interview with Rod Johnson
    Rod Johnson Books
    1. Expert One-on-One J2EE Design and Development (Programmer to Programmer)
    2. Expert One-on-One J2EE Development without EJB

    7. Hibernate Founder

    gravin-king
    Gavin King, is the founder of the Hibernate project, a popular object/relational persistence solution for Java, and the creator of Seam, an application framework for Java EE 5. Furthermore, he contributed heavily to the design of EJB 3.0 and JPA.
    Related Links
    1. Gavin King Blog
    2. Hibernate Wiki
    3. Hibernate Framework
    4. JBoss seam
    News & Interviews
    1. Tech Chat: Gavin King on Contexts and Dependency Injection, Weld, Java EE 6
    2. JPT : The Interview: Gavin King, Hibernate
    3. JavaFree : Interview with Gavin King, founder of Hibernate
    4. Seam in Depth with Gavin King
    Gavin King Books
    1. Java Persistence with Hibernate
    2. Hibernate in Action (In Action series)

    8. Father of the Java programming language

    James-Gosling
    James Gosling, generally credited as the inventor of the Java programming language in 1994. He created the original design of Java and implemented its original compiler and virtual machine. For this achievement he was elected to the United States National Academy of Engineering. On April 2, 2010, he left Sun Microsystems which had recently been acquired by the Oracle Corporation. Regarding why he left, Gosling wrote on his blog that “Just about anything I could say that would be accurate and honest would do more harm than good.”
    Related Links
    1. James Gosling Blog
    2. James Gosling Wiki
    News & Interviews
    1. Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling
    2. Interview: James Gosling, ‘the Father of Java’
    3. Developer Interview: James Gosling
Read More