手写一个入门级编译器!YYDS!
你好,这是 JavaGuide 的「优质 Java 开源项目推荐」第 13 期,每月一期,每一期我都会精选 5 个高质量的 Java 开源项目。
本期项目概览:
Mini-Compiler:手写入门级编译器 HummerRisk:云原生安全平台 oms-erp:开源的订单管理系统 Dynamic Tp:轻量级动态线程池 hertzbeat:易用友好的监控告警系统
Mini-Compiler:手写入门级编译器
项目介绍 :
一个 Mini 版本的入门级编译器。 基于 Java 语言编写,有助于初学者了解面向对象编程语言编译器的运行原理。
代码示例 :
可以看到,代码注释还是非常清晰的,一共只有 7 个类。
不过,想要搞懂这个项目难度会远大于普通的业务类型项目,像核心类 Parser
(语法解析器)的代码量接近有 2000 行(其它 6 个类代码量比较少)。
项目地址 :https://github.com/chenyuwangjs/A-tutorial-compiler-written-in-Java 。
相关资料 :
写给小白的开源编译器[1] 700 行手写编译器(视频)[2] 《编译器设计》[3]
HummerRisk:云原生安全平台
项目介绍 :
一个开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。 支持混合云安全治理、K8S 容器云安全治理。
混合云安全治理:
对主流的公(私)有云资源(几乎支持所有云)进行安全合规检测 快速查看混合云的各种资源态势与云资源拓扑图 漏洞检测 一键获取合规报告 ......
K8S 容器云安全治理:
关联多个 K8S 集群,统一查看各个关联环境的资源态势 检测底层主机/虚机中存在的问题 检测 K8S 的部署编排文件 ......
相关地址 :
项目地址:https://github.com/HummerRisk/HummerRisk 文档:https://docs.hummerrisk.com/
oms-erp:开源的订单管理系统
项目介绍 :
一站式中台系统包括订单管理系统 OMS/电商 ERP、库存 WMS 统一管理系统和 SAP 财务管理系统等。 云原生,基于微服务架构、容器、DevOps 等技术。
业务架构 :
技术架构 :
相关地址 :
项目地址:https://github.com/FJ-OMS/oms-erp 官网:www.flightsteed.com/
Dynamic Tp:轻量级动态线程池
项目介绍 :
一款基于 SpringBoot 的轻量级动态线程池,参考美团线程池实践[4],内置监控告警功能,提供多种报警维度。 支持主流配置中心(支持 Nacos、Apollo,ZooKeeper、Consul、Etcd),并且,所有配置都放在配置中心,对业务代码零侵入。
技术架构 :
相关地址 :
项目地址:https://github.com/dromara/dynamic-tp 官网:https://dynamictp.cn/
hertzbeat:易用友好的监控告警系统
项目介绍 :
一款开箱即用的监控告警系统,由 Dromara 孵化,目前已是码云 GVP 项目。 支持网站,API,PING,端口,数据库,操作系统等监控类型,支持邮箱,短信,webhook,钉钉,企业微信,飞书机器人等告警通知,拥有易用友好的可视化操作界面。
项目故事 :
hertzbeat 的作者本人目前已经离职,这个项目是其全职维护的第一个开源项目,值得点赞和鼓励!
如果你也想参与到这个项目开发的话,建议可以去看看这个项目的项目看板有哪些 todo,看板地址:https://github.com/dromara/hertzbeat/projects/1 。
相关地址 :
Github 地址:https://github.com/dromara/hertzbeat Gitee 地址:https://gitee.com/dromara/hertzbeat 官网:https://hertzbeat.com/
你可以通过 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)找到更多优质的 Java 开源项目。
Github 地址:https://github.com/CodingDocs/awesome-java Gitee 地址:https://gitee.com/SnailClimb/awesome-java 在线阅读:https://javaguide.cn/open-source-project/
参考资料
写给小白的开源编译器: https://www.cnblogs.com/xueweihan/p/16283249.html
[2]700 行手写编译器(视频): https://www.bilibili.com/video/BV1Kf4y1V783/
[3]《编译器设计》: https://book.douban.com/subject/20436488/
[4]美团线程池实践: https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html
·········· END ··············
👉 欢迎准备 Java 面试以及学习 Java 的同学加入我的知识星球,干货很多!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
👉 《Java 面试指北》持续更新完善中!这是一份教你如何更高效地准备面试的小册,涵盖常见八股文(系统设计、常见框架、分布式、高并发 ......)、优质面经等内容。
推荐阅读 :
👉 如果本文对你有帮助的话,欢迎 点赞&在看&分享 ,这对我继续分享&创作优质文章非常重要。非常感谢!