[JAVA] 1Z0-804 考試準備心得

因為工作需要, 最近在準備1Z0-804考試, 這邊記下可能會考的陷阱.
希望能一次考過, 阿斯.    

  • 修飾字 synchronized只能用再有被實作的function中.
    例如
    class ThreadSafe{
        synchronized static void doIt(){}
    }
    

    若未實作就會conpile fails.
    例如

    interface ThreadSafe{
        synchronized static void doIt(){}
    }
    

    會發生錯誤.
    既然沒有實作 哪來同步的需求呢?
     

  • Callable 和Runnable的差異,
    Callable可回傳東西, 藉由實作  
    public interface Callable<V>{
        V call() throws Exception;
    }
    Runnable無回傳,
    Runnable實作
    public interface Runnable{
        public void run();
    }

     

  • FileOutputStream(String name, boolean) throws FileNotFoundException
    中第二個參數默認為false,
    即寫入檔案會覆蓋掉原有內容,
    若值為 true, 新寫入的內容會新增在後面.

  • JDBC 取值部分步驟記一下
     

    try{
    	Statment stmt = con.createStatement();
    	ResultSet rs = stmt.executableQuery(query);
    	while(rs.next()){
    		//rs.getString(""); 取值
    	}
    }catch(SQLException e){}
    funally{}

     

  • StringTokenizer取值用 nextElement() 或者 nextToken()
    例如
     

    public static void main (String[] args){
    	String names ="A, B, C, D";
    	StringTokenizer st = new StringTokenizer(names,", ");
    	while(st.hasMoreElements()){
    		System.out.println(st.nextElement());
    	}
    }

    或者
     

    public static void main (String[] args){
    	String names ="A, B, C, D";
    	StringTokenizer st = new StringTokenizer(names,", ");
    	while(st.hasMoreTokens()){
    		System.out.println(st.nextToken());
    	}
    }

     

  • DosFileAttributes 可設定傳統 "Dos" 的文件屬性, 實作範例如下:

    Path file = ...
    DosFileAttributes attrs = Files.readAttributes(file, DosFileAttributes.class);

    boolean    isArchive() : 是否一個檔案
    boolean    isHidden()  :是否隱藏
    boolean    isReadOnly()  :是否唯獨
    boolean    isSystem()  :是否一個操作系統

  • 叫用參數傳遞
    用command啟用程式
    java Sample 1 2 3 4 5
    Sample程式內容如下
     

    public class Sample{
    	public static void main(String[] args){
    		int i1=args[0]; // 值為1
    		int i2=args[1]; // 值為2
    		int i3=args[2]; // 值為3
    		int i4=args[3]; // 值為4
    		int i5=args[4]; // 值為5
    	}
    }

     

  • Number不可直接使用(+),(-),(*),(/) 進行運算.
    若有需要應該使用方法例如,
    Number a=1;
    Number b=a.intValue() + a.intValue();

  • JAVA7的多重捕捉語法中的例外類別不可有繼承關係, 否則會發生編譯錯誤. 
    例如
     

    public class TestClass{
       public static main(String[] args){
          try{
          }catch(IOException | FileNotFuontException e){
             //上一行的catch就會造成 compile false.
             e=new Exception(); //這行也是陷阱, 會compile false.
          }
       }
    }

     

  • 1