{"id":27931449,"url":"https://github.com/hong539/java-101","last_synced_at":"2025-07-24T09:40:21.332Z","repository":{"id":289034845,"uuid":"969904047","full_name":"hong539/java-101","owner":"hong539","description":"For one want to learn and practice java coding from scratch.","archived":false,"fork":false,"pushed_at":"2025-05-05T11:48:29.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T10:10:03.656Z","etag":null,"topics":["java","java-8"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/hong539.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null}},"created_at":"2025-04-21T06:00:28.000Z","updated_at":"2025-05-05T11:48:32.000Z","dependencies_parsed_at":"2025-05-07T03:52:52.752Z","dependency_job_id":"48cde003-571f-4a88-ba52-05a4afc8336f","html_url":"https://github.com/hong539/java-101","commit_stats":null,"previous_names":["hong539/java-101"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hong539/java-101","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hong539%2Fjava-101","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hong539%2Fjava-101/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hong539%2Fjava-101/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hong539%2Fjava-101/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hong539","download_url":"https://codeload.github.com/hong539/java-101/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hong539%2Fjava-101/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260336343,"owners_count":22993740,"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":["java","java-8"],"created_at":"2025-05-07T03:52:49.893Z","updated_at":"2025-06-17T10:10:03.821Z","avatar_url":"https://github.com/hong539.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# java-101\nFor one want to learn and practice java coding from scratch.\n\n## Goal\n\n```\n☕ Java-101 練習目標總覽\n\n階段\t主題\t目標\t建議練習\nPhase 1\t基礎語法與 Java 8 特性\t熟悉 Java 類型系統、控制結構、物件導向，並掌握 Java 8 的 lambda / stream / Optional 等語法\t用 CLI 小工具實作\nPhase 2\t核心 API 與工具鏈\t熟悉 Java Collection、IO/NIO、Exception、泛型、JVM 記憶體模型\t建立日誌分析器、統計工具\nPhase 3\t開發實務與單元測試\t熟悉 Maven/Gradle、JUnit、Logback、assertions\t製作一個可測試的 mini-library (e.g. 計算器/轉換器)\nPhase 4\tWeb + DevOps 整合\t搭建 Spring Boot 小服務、REST API、部署到容器中，結合你的 DevOps 能力\tSpring Boot + Docker + Prometheus Exporter\nPhase 5\t串接其他語言與實作 JVM internals\t嘗試 JNI (與 C 結合)，實作 classloader 或 JVM 記憶體監控\t用 Java 包裝 C 函式庫，或寫一個 JVM 觀測工具\n```\n\n## Docs/Tips/MISC...etc\n\n* [github.com/open-telemetry/opentelemetry-demo/tree/main/src/ad](https://github.com/open-telemetry/opentelemetry-demo/tree/main/src/ad)\n* Oracle\n    * [docs.oracle.com/javase/tutorial/index.html](https://docs.oracle.com/javase/tutorial/index.html)\n    * [www.oracle.com/java/technologies/language-environment.html](https://www.oracle.com/java/technologies/language-environment.html)\n* Java 8\n    * [docs.oracle.com/Trail: Learning the Java Language](https://docs.oracle.com/javase/tutorial/java/index.html)\n    * [docs.oracle.com/javase/8/docs/index.html](https://docs.oracle.com/javase/8/docs/index.html)\n    * [docs.oracle.com/javase/8/docs/technotes/tools/index.html#scripting](https://docs.oracle.com/javase/8/docs/technotes/tools/index.html#scripting)\n    * [docs.oracle.com/javase/8/docs/technotes/guides/vm/index.html](https://docs.oracle.com/javase/8/docs/technotes/guides/vm/index.html)\n* sdkman\n    * effortlessly managing multiple Software Development Kits on Unix systems\n    * [sdkman.io/usage](https://sdkman.io/usage)\n* [The Java™ Tutorials](https://docs.oracle.com/javase/tutorial/index.html)\n* [Java Platform Standard Edition 8 Documentation](https://docs.oracle.com/javase/8/docs/index.html)\n* [spring.io/guides/gs/spring-boot](https://spring.io/guides/gs/spring-boot)\n    * Java 17 or later\n* [spring.io/guides/gs/rest-service](https://spring.io/guides/gs/rest-service)\n    * Building a RESTful Web Service\n* [github.com/spring-projects/spring-boot/tree/2.7.x](https://github.com/spring-projects/spring-boot/tree/2.7.x)\n* [docs.spring.io/spring-boot/docs/2.7.17/reference/html/index.html](https://docs.spring.io/spring-boot/docs/2.7.17/reference/html/index.html)\n* [github.com/hong539/opentelemetry-demo/tree/main/src/ad](https://github.com/hong539/opentelemetry-demo/tree/main/src/ad)\n    * java 21","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhong539%2Fjava-101","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhong539%2Fjava-101","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhong539%2Fjava-101/lists"}