@@ -68,19 +68,19 @@ miniJVM on the web, built by Starcommander. [Source](https://github.com/Starcomm
6868
6969## Changelog
7070
71- 2026.03 Added a profiling performance monitoring page to observe real-time execution time for each JVM method call.
72- 2023.09 Reworked GLFW and GLFM graphics JNI bindings; moved GUI Java classes to the ` xgui ` package.
73- 2022.11 Added documentation.
74- 2021.03 Added the ` j2c ` module, which converts miniJVM Java source to C and builds native apps for desktop and mobile.
75- 2020.12 Added build scripts and released v2.1.
76- 2020.10 Refactored source and removed binaries from the repository.
77- 2020.10 Added HTTPS support.
78- 2020.03 Added XML layout for the GUI system; fixed JDWP debugging for JetBrains IDEs.
79- 2019.12 Integrated the cross-platform AWTK UI system - see [ awtk-minijvm] ( https://github.com/digitalgust/miniJVM/tree/master/desktop/awtk_gui ) .
80- 2019.12 Enabled JIT based on the SLJIT project.
81- 2019.10 JIT in development.
82- 2018.12 Optimized performance.
83- 2017.09 Project started.
71+ - 2026.03 Added a profiling performance monitoring page to observe real-time execution time for each JVM method call.
72+ - 2023.09 Reworked GLFW and GLFM graphics JNI bindings; moved GUI Java classes to the ` xgui ` package.
73+ - 2022.11 Added documentation.
74+ - 2021.03 Added the ` j2c ` module, which converts miniJVM Java source to C and builds native apps for desktop and mobile.
75+ - 2020.12 Added build scripts and released v2.1.
76+ - 2020.10 Refactored source and removed binaries from the repository.
77+ - 2020.10 Added HTTPS support.
78+ - 2020.03 Added XML layout for the GUI system; fixed JDWP debugging for JetBrains IDEs.
79+ - 2019.12 Integrated the cross-platform AWTK UI system - see [ awtk-minijvm] ( https://github.com/digitalgust/miniJVM/tree/master/desktop/awtk_gui ) .
80+ - 2019.12 Enabled JIT based on the SLJIT project.
81+ - 2019.10 JIT in development.
82+ - 2018.12 Optimized performance.
83+ - 2017.09 Project started.
8484
8585<span id =" linkbuildmobile " />
8686
@@ -182,38 +182,38 @@ Use the built-in profiling page to monitor method execution cost in real time.
182182
183183## Projects Based on miniJVM
184184
185- [Awtk-minijvm](https://github.com/zlgopen/awtk-minijvm): [AWTK](https://github.com/zlgopen/awtk) cross-platform native UI bound to miniJVM.
186- [LWJGUI-Mobile](https://github.com/orange451/LWJGUI-Mobile): Java LWJGL UI library.
187- [BiBiX](https://github.com/digitalgust/BiBiX): Java instant messenger.
188- [miniJVM web demo](https://java-on-web.org/examples/): miniJVM web demo.
185+ - [Awtk-minijvm](https://github.com/zlgopen/awtk-minijvm): [AWTK](https://github.com/zlgopen/awtk) cross-platform native UI bound to miniJVM.
186+ - [LWJGUI-Mobile](https://github.com/orange451/LWJGUI-Mobile): Java LWJGL UI library.
187+ - [BiBiX](https://github.com/digitalgust/BiBiX): Java instant messenger.
188+ - [miniJVM web demo](https://java-on-web.org/examples/): miniJVM web demo.
189189
190190<span id="linkref"/>
191191
192192## Referenced Projects and Technologies
193193
194- [Oracle CLDC](http://www.oracle.com/technetwork/java/cldc-141990.html): CLDC API reference.
195- [OpenJDK](https://openjdk.java.net/): Java API reference.
196- [Miniz](https://github.com/richgel999/miniz): Reads JAR files.
197- [Glfm](https://github.com/brackeen/glfm): Cross-platform (Android/iOS) GUI.
198- [Nanovg](https://github.com/memononen/nanovg): GUI rendering.
199- [Stb](https://github.com/nothings/stb): GUI TrueType fonts and images.
200- [Glad](https://github.com/Dav1dde/glad): OpenGL/GLES header replacement.
201- [Glfw](https://github.com/glfw/glfw): Cross-platform desktop GUI.
202- [Dirent](https://github.com/tronkko/dirent): Linux-style file and directory APIs on Windows VC.
203- [Tinycthread](https://github.com/tinycthread/tinycthread): Cross-platform threads.
204- [JRegex](https://github.com/digitalgust/minijvm_third_lib/tree/master/jregex): Java string regex matching.
205- [Janino](http://janino-compiler.github.io/janino/): Compiles Java source files.
206- [MiniAudio](https://github.com/dr-soft/miniaudio): Java audio playback and capture.
207- [Sljit](https://github.com/zherczeg/sljit): Platform-independent low-level JIT compiler.
208- [Mbedtls](https://github.com/ARMmbed/mbedtls): HTTPS support via mbedtls.
209- [Avian](https://github.com/ReadyTalk/avian): Java API reference.
194+ - [Oracle CLDC](http://www.oracle.com/technetwork/java/cldc-141990.html): CLDC API reference.
195+ - [OpenJDK](https://openjdk.java.net/): Java API reference.
196+ - [Miniz](https://github.com/richgel999/miniz): Reads JAR files.
197+ - [Glfm](https://github.com/brackeen/glfm): Cross-platform (Android/iOS) GUI.
198+ - [Nanovg](https://github.com/memononen/nanovg): GUI rendering.
199+ - [Stb](https://github.com/nothings/stb): GUI TrueType fonts and images.
200+ - [Glad](https://github.com/Dav1dde/glad): OpenGL/GLES header replacement.
201+ - [Glfw](https://github.com/glfw/glfw): Cross-platform desktop GUI.
202+ - [Dirent](https://github.com/tronkko/dirent): Linux-style file and directory APIs on Windows VC.
203+ - [Tinycthread](https://github.com/tinycthread/tinycthread): Cross-platform threads.
204+ - [JRegex](https://github.com/digitalgust/minijvm_third_lib/tree/master/jregex): Java string regex matching.
205+ - [Janino](http://janino-compiler.github.io/janino/): Compiles Java source files.
206+ - [MiniAudio](https://github.com/dr-soft/miniaudio): Java audio playback and capture.
207+ - [Sljit](https://github.com/zherczeg/sljit): Platform-independent low-level JIT compiler.
208+ - [Mbedtls](https://github.com/ARMmbed/mbedtls): HTTPS support via mbedtls.
209+ - [Avian](https://github.com/ReadyTalk/avian): Java API reference.
210210
211211## Recommended Development IDEs
212212
213- C / ObjC: JetBrains CLion, Xcode, Visual Studio
214- Swift: Xcode
215- Java: JetBrains IntelliJ IDEA, NetBeans
216- Android: Android Studio
213+ - C / ObjC: JetBrains CLion, Xcode, Visual Studio
214+ - Swift: Xcode
215+ - Java: JetBrains IntelliJ IDEA, NetBeans
216+ - Android: Android Studio
217217
218218<span id="linkembed"/>
219219
@@ -252,19 +252,19 @@ int main(int argc, char **argv) {
252252
253253### Janino Java Compiler
254254
255- Project: [Janino](http://janino-compiler.github.io/janino/)
256- Janino is a very small and very fast Java compiler.
257- Janino can compile source files to class files like `javac`, and it can also compile a Java expression, a block, a class body, one `.java` file, or multiple `.java` files in memory, then load and execute the generated bytecode directly in the same JVM. Janino is not a full Java compiler; see [limitations](http://janino-compiler.github.io/janino/#limitations), for example:
255+ - Project: [Janino](http://janino-compiler.github.io/janino/)
256+ - Janino is a very small and very fast Java compiler.
257+ - Janino can compile source files to class files like `javac`, and it can also compile a Java expression, a block, a class body, one `.java` file, or multiple `.java` files in memory, then load and execute the generated bytecode directly in the same JVM. Janino is not a full Java compiler; see [limitations](http://janino-compiler.github.io/janino/#limitations), for example:
258258
259259```
260260List<String > list = new ArrayList();
261261list.add("abc");
262262String s = (String) list.get(0); // cannot omit the (String) cast.
263263```
264264
265- Download JARs:
266- [janino.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/janino.jar?raw=true)
267- [commons-compiler.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/commons-compiler.jar?raw=true)
265+ - Download JARs:
266+ - [janino.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/janino.jar?raw=true)
267+ - [commons-compiler.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/commons-compiler.jar?raw=true)
268268
269269```
270270# compile /binary/res/BpDeepTest.java
@@ -273,11 +273,11 @@ mini_jvm -bootclasspath ../lib/minijvm_rt.jar -cp ../libex/janino.jar:../libex/c
273273
274274### LuaJ
275275
276- Project: [LuaJ](https://github.com/luaj/luaj)
277- miniJVM adaptation: [Luaj minijvm](https://github.com/digitalgust/minijvm_third_lib)
278- LuaJ is a lightweight, fast, Java-centric Lua interpreter for JME and JSE. It includes string, table, package, math, io, os, debug, coroutine, and luajava libraries, plus JSR-223 bindings, full metatag support, weak tables, and direct Lua-to-Java bytecode compilation.
279- Download JAR:
280- [luaj.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/luaj.jar?raw=true)
276+ - Project: [LuaJ](https://github.com/luaj/luaj)
277+ - miniJVM adaptation: [Luaj minijvm](https://github.com/digitalgust/minijvm_third_lib)
278+ - LuaJ is a lightweight, fast, Java-centric Lua interpreter for JME and JSE. It includes string, table, package, math, io, os, debug, coroutine, and luajava libraries, plus JSR-223 bindings, full metatag support, weak tables, and direct Lua-to-Java bytecode compilation.
279+ - Download JAR:
280+ - [luaj.jar](https://github.com/digitalgust/digitalgust.github.io/blob/main/lib/luaj.jar?raw=true)
281281
282282```
283283mini_jvm -bootclasspath ../lib/minijvm_rt.jar -cp ../libex/luaj.jar Sample
0 commit comments