1,输出到文件 java Hello.java > hello.txt 也可以>>吧内容附加到后面
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 系统托盘:
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("无法取得系统工具栏");
e.printStackTrace();
}
}else{
System.out.println("无法取得系统工具栏");
}
}
如果想添加右键菜单就可以使用TrayIcon的另外一个构造方法
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("关闭");
pMenu.add(item1);
pMenu.add(item2);
TrayIcon trayIcon = new TrayIcon(image,"这是托盘信息",pMenu);
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("无法取得系统工具栏");
e.printStackTrace();
}
}else{
System.out.println("无法取得系统工具栏");
}
}
如果想在系统工具栏图标上主动显示提示 这可以使用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("关闭");
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("无法取得系统工具栏");
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("无法取得系统工具栏");
}
}
如果要删除工具栏的图标可以用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("关闭");
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("无法取得系统工具栏");
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("无法取得系统工具栏");
}
}
3 calsspath设置:
在java se 6之前如果目录下有很多.jar文件 这要一个一个分别制定才能可以正确的设置classpath 例如要在执行程序时:指定如下的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的使用有了相当的简化 包括了简化的数据库驱动加载 异常处理的改进增强的blob/clob的支持
同事绑定了Apache Derby 数据库 可以使用neatbeans操作 比较简单
jdbc 4.0之前 加载数据库的时候需要先用class.forName制定驱动程序名称 已加载驱动 例如:
Class.forName("com......driver"); Connection conn = DriverManager.getConnection(url,username,psw);
而在jdbc4.0中不需要Class.forName
只需要下面一行就可以了
Connection conn = DriverManager.getConnection(url,username,psw);
那么jdbc如何加载这个驱动程序呢?jvm制动在classpath中寻找META-INF/services/java.sql.Driver中寻找驱动名称
以 Apache Derby 为例 其驱动包derbyclient.jar中的META-INF/services/java.sql.Driver文件中编写的是org.apache.derby.jdbc.ClienDriver
5 改进的blob/clob处理
具体文章编写中。。。