J / Direct era una tecnología incluida en algunas versiones de Microsoft Java Virtual Machine , que permitía llamadas directas a la API de Windows . J / Direct era específico de la máquina virtual de Microsoft, en reemplazo del estándar Java Native Interface (JNI).
Un programa Java que utiliza J / Direct no se ejecutará en plataformas distintas de Microsoft Windows .
El lanzamiento de J / Direct (junto con AFC y WFC ) fue parte de un esfuerzo de Microsoft para ganar liderazgo en la creciente comunidad de Java . [1]
Dado que esto destruyó una de las principales ventajas de Java, su naturaleza multiplataforma , Microsoft solía considerar J / Direct como un intento de socavar las capacidades multiplataforma de Java y un ejemplo de la táctica de adoptar, extender y extinguir . [2]
Después de la caída por parte de Microsoft de su máquina virtual Java específica y el cambio al entorno .NET , J / Direct ya no se mantuvo.
Arquitectura
J / Direct utilizó una especie de anotación en el código Java para establecer el vínculo entre las funciones de Java y Windows . Como las anotaciones no existían en Java cuando se diseñó J / Direct, Microsoft utilizó una sintaxis especial en los comentarios de Java.
Por ejemplo, para declarar la GetSysColor
función en la API User32 : [3]
/ ** @ dll.import ("USER32", entrypoint = "GetSysColor") * / estático nativo int getSysColor (int nIndex);
La implementación de Microsoft Java ya proporcionaba un paquete predefinido que proporcionaba un conjunto de clases predefinidas vinculadas a las API User32 , Gdi32.dll y Kernel32.dll . [4]
Además, la máquina virtual de Microsoft utilizó algunas reglas integradas para poder vincular automáticamente el código Java a algunas funciones de la API de Windows . Por ejemplo, eligió automáticamente entre las versiones ANSI y Unicode de las funciones de la API de Windows . [5]
Ver también
- Interfaz nativa de Java
- Acceso nativo de Java
- P / Invoke , la API de .NET equivalente
Referencias
- ^ McMillan, Robert (1 de julio de 1997). "J / Direct de Microsoft llamado muerte de Java" . JavaWorld . Consultado el 16 de julio de 2020 .
- ^ "JFC; Microsoft declara la guerra" . xent.com. 1997-08-01 . Consultado el 14 de julio de 2007 .
- ^ "Aliasing (método de cambio de nombre)" . Microsoft . Consultado el 20 de noviembre de 2010 .
- ^ "J / Directo" . codeguru.com . Consultado el 20 de noviembre de 2010 .
- ^ "Cómo la máquina virtual elige entre ANSI y Unicode" . Microsoft . Consultado el 20 de noviembre de 2010 .
enlaces externos
- Escribir aplicaciones basadas en Windows con J / Direct