Du musst beachten, das du nicht verstanden hast wozu Java geschaffen wurde 
Java ist eine OO-Programmiersprache, die für Mobile-Devices (ganz zu anfang), das WWW (ein wenig später) und Desktopapps entwickelt wurde.
Java ist so hardwarenah wie mein Daumen oder HTML.
Was du brauchst ist C / C++ / C#. Wobei C dem ganzen wohl am nächsten kommt.
Ergo: Mit Java kannst du keine Treiber schreiben, Java tut sich ja schon sehr schwer mit Systemhooks.
Mit C kannst du treiber schreiben. C läuft auch auf keiner Virtuellen Maschiene. Alleine das solltest du erstmal verstehen… Was ist denn überhaupt die VM?
Wenn du dir die Frage schon stellen musst, bist du auch noch nicht bereit einen Treiber zu schreiben. Das is garnicht so einfach und was anderes als ein Sotier-Algorithmus.