因為工作需要, 最近在準備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實作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