{"adoption": {"forks": 594, "observed_at": "2026-08-28T04:08:17.934037+00:00", "stars": 3761}, "canonical_url": "https://ross.abutalabs.com/products/javasourcecodelearning", "card": {"archived": false, "artifact_type": "learning-resource", "description": "一份面向 Java 后端工程师的源码阅读地图：从 JDK / JUC 到 Spring、Netty、Kafka、RocketMQ，按核心链路拆解框架设计与底层实现。", "domain": ["tutorials", "developer-tools", "backend"], "enriched": true, "function": ["developer-tools", "documentation"], "health_score": 96, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["coderbruis/JavaSourceCodeLearning"], "name": "coderbruis/JavaSourceCodeLearning", "platform": ["jvm"], "pushed_at": "2026-07-22T15:13:28+00:00", "repo": "coderbruis/JavaSourceCodeLearning", "stars": 3761, "tags": ["source-code-analysis", "java", "spring", "netty", "kafka", "rocketmq", "juc", "learning-notes", "study-guide"], "topics": [], "urls": [], "use_cases": ["learn how Spring IOC container and extension points work internally", "understand Netty's Reactor model and EventLoop pipeline", "study Kafka broker, producer, and consumer source code", "prepare for Java backend interviews on framework internals", "find a structured path to read JDK and JUC concurrency source code", "understand RocketMQ message storage and rebalance implementation"], "what_it_is": "A curated source-code reading roadmap for Java backend engineers, walking through JDK/JUC, Spring, SpringBoot, Netty, Kafka, and RocketMQ internals with analysis notes and diagrams. It is a documentation/notes repository rather than runnable software.", "when_to_avoid": ["you need runnable code or a library to include in your project", "you want English-language documentation", "you need coverage of the latest framework versions or non-Java stacks"], "when_to_choose": ["you are a Java backend engineer wanting guided source-code study of mainstream frameworks", "you prefer Chinese-language notes with diagrams over raw code reading", "you want a learning order from JDK basics up to messaging systems"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/javasourcecodelearning", "repo": "coderbruis/JavaSourceCodeLearning", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.934037+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:28:53.325689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7816e25f91d8469b47b394e7cc54392aec2257f4909bc031d11218e10819adbd", "fetched_at": "2026-08-28T04:08:17.934037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coderbruis/JavaSourceCodeLearning"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 60}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2283, "days_push": 42, "days_rel": 57, "gap_med": null, "n_releases_24m": 1}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}