前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手写一个入门级编译器!YYDS!

手写一个入门级编译器!YYDS!

作者头像
Guide哥
发布2022-11-07 14:45:20
9870
发布2022-11-07 14:45:20
举报
文章被收录于专栏:JavaGuideJavaGuide

你好,这是 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 等技术。

业务架构

技术架构

技术架构.png

相关地址

  • 项目地址:https://github.com/FJ-OMS/oms-erp
  • 官网:www.flightsteed.com/

Dynamic Tp:轻量级动态线程池

Dynamic Tp 概览

项目介绍

  • 一款基于 SpringBoot 的轻量级动态线程池,参考美团线程池实践[4],内置监控告警功能,提供多种报警维度。
  • 支持主流配置中心(支持 Nacos、Apollo,ZooKeeper、Consul、Etcd),并且,所有配置都放在配置中心,对业务代码零侵入。

技术架构

Dynamic Tp 技术架构

相关地址

  • 项目地址: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/

参考资料

[1]

写给小白的开源编译器: 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 ··············

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaGuide 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mini-Compiler:手写入门级编译器
  • HummerRisk:云原生安全平台
  • oms-erp:开源的订单管理系统
  • Dynamic Tp:轻量级动态线程池
  • hertzbeat:易用友好的监控告警系统
    • 参考资料
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档