1,輸出到文件 java Hello.java > hello.txt 也可以>>吧內(nèi)容附加到后面
2,integer各種toXXX方法:Integer.toBinaryString(2147483647);Integer.toHexString(2147483647);Integer.toOctalString(2147483647)
3,System.out.printf("%x%n", 19);System.out.printf("%o%n", 19);System.out.printf("%d%n", 19);
4,
jdk6新特性:
java.lang包:
添加string的isEmpty()方法
public boolean isEmpty() { return count == 0; }
System.arraycopy(src, srcPos, dest, destPos, length)
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
System.console().readLine();
System.console().readPassword();
java.awt
1 java -splash 指定啟動畫面的圖片 例如java -splash:a.jpg -jar myjar.jar 支持的圖片 jpg gif png gif
也可以在manifest里指定:例如:
Manifest-Version: 1.0 Main-Class: main.java SplashScreen-Image:a.jpg
如果要控制圖片可以參考java.awt包的api
2 系統(tǒng)托盤:
public static void main(String ar[]){
if(SystemTray.isSupported()){
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");
TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息");
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("無法取得系統(tǒng)工具欄");
e.printStackTrace();
}
}else{
System.out.println("無法取得系統(tǒng)工具欄");
}
}
如果想添加右鍵菜單就可以使用TrayIcon的另外一個構(gòu)造方法
TrayIcon(Image image, String tooltip, PopupMenu popup)
完整代碼示例:
public static void main(String ar[]){
if(SystemTray.isSupported()){
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");
PopupMenu pMenu = new PopupMenu();
MenuItem item1 = new MenuItem("開啟");
MenuItem item2 = new MenuItem("關(guān)閉");
pMenu.add(item1);
pMenu.add(item2);
TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("無法取得系統(tǒng)工具欄");
e.printStackTrace();
}
}else{
System.out.println("無法取得系統(tǒng)工具欄");
}
}
如果想在系統(tǒng)工具欄圖標(biāo)上主動顯示提示 這可以使用TrayIcon的displayMessage方法
示例代碼:
寫道
if(SystemTray.isSupported()){
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");
PopupMenu pMenu = new PopupMenu();
MenuItem item1 = new MenuItem("開啟");
MenuItem item2 = new MenuItem("關(guān)閉");
pMenu.add(item1);
pMenu.add(item2);
TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);
try {
tray.add(trayIcon);
trayIcon.displayMessage("title", "該休息了", TrayIcon.MessageType.WARNING);
} catch (AWTException e) {
System.out.println("無法取得系統(tǒng)工具欄");
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("無法取得系統(tǒng)工具欄");
}
}
如果要刪除工具欄的圖標(biāo)可以用tray.remove(trayIcon);
完整示例代碼
寫道
public static void main(String ar[]){
if(SystemTray.isSupported()){
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");
PopupMenu pMenu = new PopupMenu();
MenuItem item1 = new MenuItem("開啟");
MenuItem item2 = new MenuItem("關(guān)閉");
pMenu.add(item1);
pMenu.add(item2);
TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);
try {
tray.add(trayIcon);
trayIcon.displayMessage("title", "該休息了", TrayIcon.MessageType.WARNING);
Thread.sleep(10000);
tray.remove(trayIcon);
} catch (AWTException e) {
System.out.println("無法取得系統(tǒng)工具欄");
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("無法取得系統(tǒng)工具欄");
}
}
3 calsspath設(shè)置:
在java se 6之前如果目錄下有很多.jar文件 這要一個一個分別制定才能可以正確的設(shè)置classpath 例如要在執(zhí)行程序時:指定如下的classpath
java -cp .;c:\jars\a.jar;c:\jars\b.jar;c:\jars\c.jar; package.main
在 java se 6以后可以使用*來制定目錄下的所有jar文件 例如上面的示例可以改成
java -cp .;c:\jars\*.jar package.main
4 使用Apache Derby jdbc4.0
中包含了jdbc 4.0 對于jdbc的使用有了相當(dāng)?shù)暮喕?包括了簡化的數(shù)據(jù)庫驅(qū)動加載 異常處理的改進(jìn)增強(qiáng)的blob/clob的支持
同事綁定了Apache Derby 數(shù)據(jù)庫 可以使用neatbeans操作 比較簡單
jdbc 4.0之前 加載數(shù)據(jù)庫的時候需要先用class.forName制定驅(qū)動程序名稱 已加載驅(qū)動 例如:
Class.forName("com......driver"); Connection conn = DriverManager.getConnection(url,username,psw);
而在jdbc4.0中不需要Class.forName
只需要下面一行就可以了
Connection conn = DriverManager.getConnection(url,username,psw);
那么jdbc如何加載這個驅(qū)動程序呢?jvm制動在classpath中尋找META-INF/services/java.sql.Driver中尋找驅(qū)動名稱
以 Apache Derby 為例 其驅(qū)動包derbyclient.jar中的META-INF/services/java.sql.Driver文件中編寫的是org.apache.derby.jdbc.ClienDriver
5 改進(jìn)的blob/clob處理
具體文章編寫中。。。