JX is implemented as an extended Java Virtual Machine (the JX Core), adding support to the Java system for necessary features such as protection domains and hardware access, along with a number of components written in Java that provide kernel facilities to applications running on the computer. Because Java is a type-safe language, JX is able to provide isolation between running applications without needing to use hardware memory protection. This technique, known as language-based protection means that system calls and inter-process communication in JX does not cause an address space switch, an operation which is slow on most computers. JX runs on standard PCs, with support for a limited range of common hardware elements. It is open source software, developed by the University of Erlangen.