{"id":23096820,"url":"https://github.com/lvntky/cvm","last_synced_at":"2025-08-16T12:31:52.875Z","repository":{"id":154127585,"uuid":"616855790","full_name":"lvntky/CVM","owner":"lvntky","description":"A toy JVM coded in C/C++","archived":false,"fork":false,"pushed_at":"2024-06-24T11:32:46.000Z","size":184,"stargazers_count":15,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-25T12:21:05.039Z","etag":null,"topics":["c","compiler","java","jvm","jvm-renovate","programming-language","programming-languages","system-programming","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lvntky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-21T08:16:30.000Z","updated_at":"2024-06-25T02:15:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"327c392a-d195-4685-bfc3-5dc3e394dc40","html_url":"https://github.com/lvntky/CVM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvntky%2FCVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvntky%2FCVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvntky%2FCVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvntky%2FCVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lvntky","download_url":"https://codeload.github.com/lvntky/CVM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230037818,"owners_count":18163196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","compiler","java","jvm","jvm-renovate","programming-language","programming-languages","system-programming","virtual-machine"],"created_at":"2024-12-16T22:48:36.360Z","updated_at":"2024-12-16T22:48:37.003Z","avatar_url":"https://github.com/lvntky.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CVM\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/lvntky/CVM)\n![GitHub](https://img.shields.io/github/license/lvntky/cvm)\n![GitHub issues](https://img.shields.io/github/issues/lvntky/cvm)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg style=\"width: 350px; height: 350px;\" src=\"https://github.com/lvntky/CVM/blob/archive/docs/banner.jpg?raw=true\" alt=\"Graphic design is my passion\"/\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003e**This is the second re-write of the CVM.**\n\n\n\u003e**The first implementation of the CVM has been made in C which can be reachable at [cvm/archive](https://github.com/lvntky/CVM/tree/archive) for archive purposes Since the first implementation does not work as intended**\n\n\n\u003e**The master branch is the current and active version of the CVM which is rewrite in C++**\n\nA toy Java Virtual Machine coded in C(and C++). CVM is a simple and lightweight JVM that aims to provide a basic understanding of JVM internals and bytecode execution. This project serves as an educational and fun resource for those interested in learning about JVM implementation details.\n\n## Features\n\n- Implementation of a minimalistic JVM in C\n- Support for executing Java bytecode\n- Basic class loading and method execution\n- Instruction set interpretation\n\n## Getting Started\n\nFollow these steps to get started with CVM:\n\n1. **Clone the Repository:**\n\n   ```bash\n   git clone https://github.com/lvntky/CVM.git\n   cd CVM\n   ```\n2. **Compile the Source Code:**\n\n   ```bash\n   mkdir build\n   make install\n   ```\n3. **Run a Java Program:**\n\n   ```bash\n   ./cvm JavaProgram.class\n   ```\n\n## Usage\n\nCVM accepts a Java class file as a command-line argument. It loads and executes the main method of the specified class.\n\nExample:\n```bash\n./cvm HelloWorld.class\n```\n\n## Contributing\n\nWe welcome contributions to CVM. If you want to add new features, fix bugs, or improve documentation, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them.\n4. Open a pull request explaining your changes.\n\n## License\n\nCVM is licensed under the MIT License. See the LICENSE file for details.\n\n## Acknowledgments\n\nCVM was inspired by a passion for JVM internals and bytecode execution. I would like to thank the Java community for providing valuable resources and documentation on JVM internals.\n\n- [Oracle's JVM Specification](https://docs.oracle.com/javase/specs/jvms/se8/html/)\n\n## Contact\n\nIf you have questions or need assistance with CVM, feel free to contact me at leventkayadev@gmail.com .\n\nHappy coding! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvntky%2Fcvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flvntky%2Fcvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvntky%2Fcvm/lists"}