J / Direct - J/Direct
J / Direct was een technologie die in sommige versies van Microsoft Java Virtual Machine was opgenomen en waarmee directe oproepen naar de Windows API mogelijk waren . J / Direct was specifiek voor Microsoft's Virtual Machine, ter vervanging van de standaard Java Native Interface (JNI).
Een Java-programma dat J / Direct gebruikte, zou niet op andere platforms dan Microsoft Windows kunnen worden uitgevoerd .
De release van J / Direct (samen met AFC en WFC ) was onderdeel van een poging van Microsoft om leiderschap te verwerven in de groeiende Java- gemeenschap.
Aangezien dit een van de belangrijkste voordelen van Java, het cross-platform karakter ervan, teniet deed, werd J / Direct vaak gezien als een poging van Microsoft om Java's cross-platform capaciteiten te ondermijnen , en een voorbeeld van de tactiek van omarmen, uitbreiden en uitdoven .
Na de drop door Microsoft van hun specifieke Java Virtual Machine en de overstap naar de .NET- omgeving werd J / Direct niet meer onderhouden.
Architectuur
J / Direct gebruikte een soort annotatie in Java-code om de koppeling tussen Java- en Windows- functies te maken. Omdat annotaties niet bestonden in Java toen J / Direct werd ontworpen, gebruikte Microsoft een speciale syntaxis in Java-opmerkingen.
Om de GetSysColor functie bijvoorbeeld in de User32 API te declareren :
/** @dll.import("USER32", entrypoint="GetSysColor") */
static native int getSysColor(int nIndex);
De Microsoft Java-implementatie leverde al een vooraf gedefinieerd pakket met een set vooraf gedefinieerde klassen die waren gebonden aan de API's User32 , Gdi32.dll en Kernel32.dll .
Bovendien heeft de Microsoft VM enkele ingebouwde regels gebruikt om de Java-code automatisch aan bepaalde Windows API- functies te binden . Het koos bijvoorbeeld automatisch tussen ANSI- en Unicode-versies van Windows API- functies.
Zie ook
- Native Java-interface
- Java Native Access
- P / Invoke , de gelijkwaardige .NET API
Referenties
Externe links