对文件进行操作没有问题,但对系统硬件的操作还是要通过JNI调用系统命令或其它C语言写的程序。

解决方案 »

  1.   

    不懂你的意思,java的这些操作一般都是由jvm代为完成
      

  2.   

    一般你的JVM不是运行在核心层的,所以你不容易实现。并不是不可以,这个不是JAVA没有这个能力,是特权不够。如果你能让你的程序运行在核心层,并且自己向硬件发送操作指令,并且自己处理硬件的响应,这个不存在什么问题。很多嵌入式JAVA系统不就需要自己控制硬件吗
      

  3.   

    java程序毕竟还在工作在ring3层,而不是ring0层,因此不可能对系统硬件操作
    但通常的文件操作,IO操作是可以的
    直接驱动硬件的功能是由驱动程序来完成的,它们工作在ring0层,
    拥有和操作系统等同的权限,如win9x下的VxD,NT下的WDM等
      

  4.   

    我的意思是想知道能不能让Java完全脱离C或者其他语言,甚至使用Java来开发JVM,不用考虑Java程序运行在什么操作系统中,或者你就想象他运行在DOS中,可以控制系统的一切!反正就是不管做什么操作,都全部用Java来实现!这样可行吗?
    反正如果是使用C的话就应该没问题吧!
      

  5.   

    我想事实上不管是用什么语言,最终都要转化成汇编(或者二进制指令)来驱动系统相关器件来完成程序的逻辑功能!但是我不知道Java程序怎么映射或者说转换成相应的汇编指令呢?如果Java做什么都要靠什么JNI等之类的来完成的话,那么它岂不是向一种寄生语言?或者可以把他看成是C或C++的进一步封装???各位不要误会我的意识,我不是像讨论什么语言好什么语言不好,也许我对Java的本质不甚了解吧!
      

  6.   

    那Java怎么"转变成"低级语言呢?
      

  7.   

    java的class文件实际上是可以运行在JVM上的中间代码。他是硬件关的。他是抽象指令系统,
    他的运行必须要由JVM来翻译为机器代码,JVM是硬件和平台有关的,他是java程序与硬件平台
    的中间纽带。就同机器代码是程序与CPU微指令系统的中间纽带一样。从原理上说,你的想法是可以成立的,不过没有人会这样做,因为这等于是用java在写一个
    操作系统了,因为任何一个裸机系统,都有一个指令启动入口,由入口进入硬件检测程序,完成后再转到
    系统装载程序,装入系统初始化程序段,创建操作系统的基本环境,运行最高权限的进程0,
    再装入系统的其他子系统,操作系统启动完成,最后进入等待状态。等待用户或批作业装载
    作业进程。理论上说,如果你把裸机检测完成后的系统装载程序换成装载JVM和java操作系统的初始化程序段,其实就是在裸机上加载了JVM的虚拟机上运行java操作系统罢了。遗憾的是,到现在都
    没有人愿意做这样的操作系统,也没有人愿意来开发这样的操作系统下的其他子系统的软件,
    比如设备驱动。更没有多少硬件厂商来支持这样的驱动开发。就象在LINUX下的驱动和应用
    都没有WIN下丰富一样