Skip to content

wangjiehu/java-learn

Repository files navigation

Java Master Path

一个 Java 学习网站原型:课程、官方资料导航、学习路径、项目训练和浏览器 Java 练习台。

练习台默认保持空白,学习者需要自己从零写出完整答案。参考答案只是示范写法,不是唯一通过标准。

运行

cd D:\Docs\codex\java-master-path
npm start

然后打开:

http://localhost:4173

上传到 GitHub 后公开访问

仓库包含 GitHub Pages 自动部署配置:.github/workflows/deploy-pages.yml

推送到 GitHub 的 main 分支后,在仓库 Settings -> Pages 中把 Source 设为 GitHub Actions。部署完成后,别人可以直接打开 Pages 网址学习。

GitHub Pages 是静态托管,不能运行 Node 后端。页面在线上会自动使用浏览器端教学预览模式,不请求 /api/run,支持基础输出、简单变量输出和字符串拼接预览;真正的 Java 编译运行仍需要后续接云端 JDK 沙箱。

代码结构

  • server.js:静态资源服务、健康检查和 Java 运行接口。
  • public/index.html:页面骨架和脚本加载顺序。
  • public/course-outline.js:13 个 Level、104 关的目录大纲。
  • public/lesson-content-level*.js:每个 Level 的完整课程内容。
  • public/app.js:课程加载、编辑器、答案面板、进度和交互逻辑。
  • public/styles.css:日夜模式、布局、编辑器和弹窗样式。
  • scripts/validate-lessons.js:课程结构、数量、来源和内容完整度校验。

内置练习台原则

学习者不需要安装 JDK,也不需要配置本地编译器。正式产品应采用:

浏览器 -> 后端 API -> 云端 JDK 沙箱 -> 返回编译和运行结果

当前本地原型会优先检测服务端是否有 java 命令。如果有,会调用服务端 Java 运行单文件程序:

java Main.java

如果当前开发机没有安装 JDK,页面会启用教学预览模式,支持基础输出、简单变量输出和字符串拼接预览。这个模式不会假装是真实编译器;正式上线时应接入云端沙箱。

提交验证不要求代码和参考答案逐字一致。原型会按关卡类型做基础检查,例如 Java 主结构、输出语句、SQL 关键字、Spring 类/注解、工程命令或配置片段;正式产品应进一步接入运行结果、测试用例和隐藏用例。

云端编译器设计

  • 每次运行创建一次隔离任务。
  • 使用 JDK 25 LTS 镜像作为主线运行环境。
  • 对用户代码限制 CPU、内存、磁盘、网络和运行时间。
  • 每次运行后销毁临时文件和容器。
  • 返回标准输出、标准错误、退出码、耗时和友好的中文解释。
  • 后续支持多文件项目、JUnit 判题、Maven/Gradle 项目和 Spring Boot 练习。

设计方向

  • Apple 风格的阅读体验:清爽、留白、层级明确。
  • VS Code 风格的学习和编程工作台。
  • 日间模式使用暖米色。
  • 夜间模式使用低刺激深色。
  • 每节课都按“小白能听懂、能改代码、能做练习”的方式组织。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors