Java Coding - hqzhang/cloudtestbed GitHub Wiki

Java Concept

MVC
HashTable
HashMap
Interface
Abstract

Java Test

import java.util.*;
class Count {
  public static void main(String[] args) {
       HashMap <String, String> hm = new HashMap <String, String>();
       hm.put("hongqi","male");
       hm.put("qingyang","femal");
       for (Map.Entry var : hm.entrySet()) {
                    System.out.println(var.getKey() + " = " + var.getValue());
       }

       int numbs[] = new int[]{ 1, 3, 5,  8 , 9, 6 ,5 ,8 ,3 ,7 ,5 ,4 ,9 ,7 };
       int result[] = new int[]{0,0,0,0,0,0,0,0,0,0};
       int another[] = new int[10];
       for(int var: numbs) {
         if ( var >=0 | var < 10) {
              result[var]=result[var]+1;
           }
       }
       int i=0;
       for( int var: result) {
           System.out.println( i++ + " - " + var );
       }
       ////runnable thread////
       Thread td = new Thread(new Runnable() {
          @Override
          public void run() {
            for(;;) {
              try {
                Thread.sleep(1000);
              }
              catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
              }
              System.out.println("Thread running...");
            }
          }
       });
       td.start();
       try {
            td.join(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

  }

}

Java Thread

 types of JAVA Thread 
1. runnable  method
        Runnable runnable = new RunnableExample();
        Thread thread = new Thread(runnable);
        thread.start(); 
new Thread(new Runnable() 
  { 
        @Override 
        public void run() { 
            System.out.println("blah"); 
        } 
    }).start(); 
2. Thread method 
        Thread thread = new ThreadExample();
        thread.start();
new Thread() 
  { 
        public void run() { 
            System.out.println("blah"); 
        } 
    }.start(); 

Java compiling and executing

complex one
set -x
rm -r out
mkdir out
javac -cp ./src/main/java:./libs/* ./src/main/java/com/exec/two/*.java -d ./out/
cp -r libs out/
jar cvfm ExecutableTwo.jar ./src/main/resources/META-INF/MANIFEST.MF -C ./out/ .
java -jar ExecutableTwo.jar

simple one
javac helloworld.java
java -cp "entry:library:path" helloworld
or export CLASSPATH=entry:library:path
then java helloworld
Java Notes:
byte/short/int/long/float/double/boolean/char;
int[] intArray = new int[10];
int[] intArray = new int[]{ 1,2,3,4,5,6,7,8,9,10 }; 
String greeting = "Hello world!";
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);  
Hashtable is synchronized, whereas HashMap is not. 
Hashtable does not allow null keys/values.  .
HashMap could easily swap out the HashMap for a LinkedHashMap. 
LinkedList<String> ll=new LinkedList<String>()
ll.add(val)
ll.remove(val) or remove(2)
HashMap<Integer,String> hm=new HashMap<Integer,String>()
hm.put("name","emily")
hm.remove(key)
//for loop
String array[] = {"Ron", "Harry", "Hermoine"};
for (String x:array){
      System.out.println(x);
}

import java.util.*; 
abstract class Base { //use extends for abstract method declaration and variable
   Base(){
     System.out.println("enter Base()");
   }
   abstract void draw();  
}
interface Shape {    //use implements for method declaration
   void run();
}
class Derive extends Base implements Shape {  //for abstract and interface
   public Derive() {
     System.out.println("enter Derive()");
   }
   public void draw(){
     System.out.println("enter draw()");
   }
   public void run(){
     System.out.println("enter run()");
   }
}
public class Hello {
    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        // show List 
        ArrayList<String> al=new ArrayList<String>();  
        al.add("Amit");  
        al.add("Kumar");  
        al.add(1,"Sachin");  
        System.out.println("Element at 013nd position: "+al.get(0)+al.get(1)+al.get(2));  
        for(String s:al){  
            System.out.println(s); 
        } 
         // show Set
        System.out.println("list set:");
        Set<String> st=new HashSet<String>();
        st.add("Amit");
        st.add("Kumar");
        //st.add(1,"Sachin");
        //System.out.println("Element at 013nd position: "+st.get(0)+st.get(1)+st.get(2));
        for(String s:st){
            System.out.println(s);
        }
         //show Map
        Map<Integer, String> map = new HashMap<Integer, String>();
        Integer key1   = new Integer(123);
        String  value1 = "value 1";
        Integer key2   = new Integer(456);
        String value2  = "value 2";
        map.put(key1, value1);
        map.put(key2, value2);
	String value1_1 = map.get(key1);

        for(Integer aKey : map.keySet()) {
 	   String aValue = map.get(aKey);
    	   System.out.println("" + aKey + ":" + aValue);
	}
        //show hashtable
        // Creating a Hashtable
        Hashtable<String, String> hashtable = 
              new Hashtable<String, String>();
 
        // Adding Key and Value pairs to Hashtable
        hashtable.put("Key1","Chaitanya");
        hashtable.put("Key2","Ajeet");
        for(String aKey : hashtable.keySet()) {
           String aValue = map.get(aKey);
           System.out.println("" + aKey + ":" + aValue);
        } 
        //show object from inheritence and implement from abstract and interface.
        Derive dv=new Derive();
        dv.run();
        dv.draw();
  }
}

Java Unit Test

  1. download and install junit.jar and hamcrest-core.jar

# put source into like wavecloud.com
package wavecloud.com
public class MessageUtil {
   private String message;
   public MessageUtil(String message){
      this.message = message;
   }
   public String printMessage(){
      System.out.println(message);
      return message;
   }   
}  

put test code under test(directly)

package test
import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.assertEquals;

public class TestJunit {
   String message = "Hello World";	
   MessageUtil messageUtil = new MessageUtil(message);
   @Test
   public void testPrintMessage() {
      assertEquals(message,messageUtil.printMessage());
   }
   public static void main(String[] args) {
	      Result result = JUnitCore.runClasses(TestJunit.class);		
	      for (Failure failure : result.getFailures()) {
	         System.out.println(failure.toString());
	      }	
	      System.out.println(result.wasSuccessful());
	   }
}

test case(use testrunner)

import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestJunit {
   String message = "Hello World";	
   MessageUtil messageUtil = new MessageUtil(message);
   @Test
   public void testPrintMessage() {
      assertEquals(message,messageUtil.printMessage());
   }
}
#use test runner
package test
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);	
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }	
      System.out.println(result.wasSuccessful());
   }
}
⚠️ **GitHub.com Fallback** ⚠️