最近在試WebService的程式,希望能用來讓ERP系統串接其他系統使用,不過由於系統使用的是1.4.2的JDK…所以如果是太新的third party jar檔就無法使用
所以就引發了一個問題…如果什麼都沒寫連META-INF也都沒有…要怎麼知道這個Class是用那個Version的JDK生的?
Google了一下,其實方法不難…將該class檔用16進位的軟體讀出來就可以知道
查到的wiki中有說…找到第八個byte…
詳見下方的內容
J2SE 7 = 51 (0x33 hex),
J2SE 6.0 = 50 (0x32 hex),
J2SE 5.0 = 49 (0x31 hex),
JDK 1.4 = 48 (0x30 hex),
JDK 1.3 = 47 (0x2F hex),
JDK 1.2 = 46 (0x2E hex),
JDK 1.1 = 45 (0x2D hex).
要看的是0x後面紅色的部分(因為是使用16進位來看)
如果找到的是2E…那對應過去就是JDK 1.2版的依此類推…
如此一來就算只有class檔…也能分辨出來是使用那個版本的JDK 生出來的
reference
http://en.wikipedia.org/wiki/Class_%28file_format%29#General_layout
2012年5月30日 星期三
2012年5月14日 星期一
Apple iPad Camera Connection Kit無法讀照片的原因
之前媽媽的朋友家的小孩買了 iPad Camera Connection Kit,讓她能方便的直接將相機裡的照片轉到ipad中,這東西實在是方便,但也帶來了不便…
某天,該位朋友打給我說照片從別人那邊copy回來都無法放入ipad
我到他家也試了好久…google才發現原來事有奚翹
由於他自朋友那邊copy過來的檔名已經變了所以才無法讀取
原因是…不管什麼相機照出來的圖片檔名前面一定是八碼
EX:00000001.jpg
由於他copy過來的檔名已經被更動,所以ipad認為那不是相機拍出來的照片,所以就不會去理他(就算他是圖檔)
所以解法很簡單,找個重新命名的軟體將照片全部重新命名成八碼長度就可以讓ipad順利讀取啦
更新:記得要放到DCIM的資料夾中才能被讀取到
某天,該位朋友打給我說照片從別人那邊copy回來都無法放入ipad
我到他家也試了好久…google才發現原來事有奚翹
由於他自朋友那邊copy過來的檔名已經變了所以才無法讀取
原因是…不管什麼相機照出來的圖片檔名前面一定是八碼
EX:00000001.jpg
由於他copy過來的檔名已經被更動,所以ipad認為那不是相機拍出來的照片,所以就不會去理他(就算他是圖檔)
所以解法很簡單,找個重新命名的軟體將照片全部重新命名成八碼長度就可以讓ipad順利讀取啦
更新:記得要放到DCIM的資料夾中才能被讀取到
2012年4月19日 星期四
GIT好好玩
其實很早就聽過git這個版本控制軟體,但一直沒有去認真研究,直到這次參加osdc…才驚覺自己好像沒跟上這次的潮流…所以就開始學習關於git 和github的相關控制。還好之前有玩過cvs和svn…所以再學習git還滿快就上手的,只是玩了git真的會發現他的好…
這篇沒打算做相關的教學,只是要memo一下找到一些不錯的文章和slide
littlebtc寫給大家的Git教學 <-其實這個slide就介紹的滿完整的
ihower大大的Git and Github 演講投影片<-內有相關的系列文,還滿值得一看的
Git 初學筆記 - 指令操作教學 <-說明git必學的指令集
GIT Book
github help
這篇沒打算做相關的教學,只是要memo一下找到一些不錯的文章和slide
littlebtc寫給大家的Git教學 <-其實這個slide就介紹的滿完整的
ihower大大的Git and Github 演講投影片<-內有相關的系列文,還滿值得一看的
Git 初學筆記 - 指令操作教學 <-說明git必學的指令集
GIT Book
github help
2012年4月18日 星期三
DB2系列:db2batch 的使用
在DB2中,如果需要評估SQL語法的效能,可以使用db2batch,相關參數說明如下
-d dbname 資料庫名稱
-a username/password 帳號密碼
-f Filename 內容放SQL語法
-o 0 <-不輸出結果
p 2 <-顯示cpu的效能與執行時間
串起來長這樣
db2batch -d dbname -a username/password -f test.sql -o 0 p 2
不過需要有DB2的系統管理權的帳號才行使用
使用上很簡單,但要注意DB2版本的問題!!!
http://www-01.ibm.com/support/docview.wss?uid=swg1IY91197
剛好local裝的是V9.1
Server裝的是8.2
上面的解法是到Server 執行或是local改裝8.2的版本(換句話說就是在V9.1上是無解= =a)
reference
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0002043.htm
-d dbname 資料庫名稱
-a username/password 帳號密碼
-f Filename 內容放SQL語法
-o 0 <-不輸出結果
p 2 <-顯示cpu的效能與執行時間
串起來長這樣
db2batch -d dbname -a username/password -f test.sql -o 0 p 2
不過需要有DB2的系統管理權的帳號才行使用
使用上很簡單,但要注意DB2版本的問題!!!
http://www-01.ibm.com/support/docview.wss?uid=swg1IY91197
剛好local裝的是V9.1
Server裝的是8.2
上面的解法是到Server 執行或是local改裝8.2的版本(換句話說就是在V9.1上是無解= =a)
reference
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0002043.htm
2012年3月5日 星期一
透過JDBC存取AS400的資料
在某天上班時,逛JavaWorld時正好看到這篇,發現到內有存取AS400的JDBC可使用,就去google了一下,找到了JTOpen這個IBM提供的tool...以下為實做與說明
自上述連接中下載 ,並解壓縮。裡面會有個lib的folder...這次需要的是jt400.jar這個jar 檔
將這個jar 檔放入專案中的Build path中
再來只要import進來
下面是連接AS400的語法
做完上述就能取得Connection,接下來就是和平常使用資料庫控制的方式一樣
其實設定的方式和一般資料庫的設定沒什麼差別,比較特別的地方應該是在對於table 控制的名稱 說明如下:
在AS400中
自上述連接中下載 ,並解壓縮。裡面會有個lib的folder...這次需要的是jt400.jar這個jar 檔
將這個jar 檔放入專案中的Build path中
再來只要import進來
import com.ibm.as400.access.AS400JDBCDriver;
下面是連接AS400的語法
DriverManager.registerDriver(new AS400JDBCDriver());
Class.forName("com.ibm.as400.access.AS400JDBCConnection");
Connection conn = DriverManager.getConnection("jdbc:as400://"+YOUR AS400 IP, UserName, Password);
做完上述就能取得Connection,接下來就是和平常使用資料庫控制的方式一樣
其實設定的方式和一般資料庫的設定沒什麼差別,比較特別的地方應該是在對於table 控制的名稱 說明如下:
在AS400中
Library / Filename <=來指定一個Table而在JTOpen中
Library . Filename <=來指定一個Table此外…如果要對AS400中的某個member做讀寫,必需透過alias來完成
create alias AliasName For Library.Filename(Member)當然,使用完後最好drop掉…不然AS400中會多一堆DDM File
2012年3月3日 星期六
重新開張!!!
其實還是比較多的時間想說使用plurk來記錄自已平時做的事,但現在才發現不對,因為這類的微網誌無法記錄比較詳細的過程,又受Max和學弟的影響,所以決定重新回來這邊寫文章,好好的把自己在公司或是在網路上學習到的相關技術來分享,也會將之前寫過的東西慢慢的分享到這個Blog中…如內容寫的有問題,請大大們不吝指導!!!
訂閱:
文章 (Atom)