Contains support for a variety of UNIX-like operating system resources, including:
- Thread Pool: Emulates multiple concurrent threads, letting DoppioJVM support multithreaded JVM programs.
- File System: Maps files and directories to browser storage, cloud storage, zip files, and more! Uses our BrowserFS library.
- Network Sockets: Maps outgoing TCP socket connections to WebSockets, which can connect to unmodified servers wrapped in Websockify.
- Unmanaged Heap: Enables emulation of the controversial sun.misc.Unsafe API, which OpenJDK uses extensively internally.
- Standard Streams: Supports stdin/stdout/stderr, which can be hooked up to arbitrary UIs (such as a terminal).
DoppioJVM uses an unmodified version of the Java 8 OpenJDK Java Class Library, giving it compatibility with a wide range of existing software.
Try software out by uploading a JAR with the "Upload Files..." button, and running it in the terminal with the java command!