因該不能
http://www.javaworld.com.tw/jute/post/view?bid=29&id=291815
請參閱
.....
在很多OS中,驅動程式會被做為共享目標被載入,或是與核心本身靜態連接。對於這種OS,不能用Java寫裝置驅動程式,因為Java虛擬機(JVM)是在核心外執行的
1. JAVA直接驅動設備, 就會影響與平台無關的特性.
2. 設備驅動, 一般都是獨占性質, 需要存取絕對位址, 甚至是AX,BX,CS...CPU的暫存器, 這都是Java編程能力所不及.
3. 硬體設備的驅動程式會有API, 這些API一般可用C來呼叫, JAVA則可用JNI將C視為自己的函數, 但不是說java就能做C所做的事情.
4. JVM本身是將JAVA程式的BYTECODE, 轉成該平台可執行的機器碼, JVM本身不是JAVA, 而是C, 也不是一般使用者編程的對象, 而是工具.
5. 驅動程式不是組合語言就是C, 在OS下註冊/分配, 由應用程式調用.
6. 儀器之類的一定會有API. 照API文件的指示就可以讓應用程式操作儀器, 但不可能對儀器直接下低階命令. |