有哪些比较流行的 C、C++和Java 的入门级项目?

学习编程语言除了看书看视频,还需要找一些适合自己的开源项目,本文给大家安排了C、C++、JAVA相关的开源项目,不废话直接开车!

神级编程网站,堪称程序员的充电站,我给你找好了不能错过_程序员编程指南的博客-CSDN博客

C语言

  • 大量好玩的C语言程序,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言

  • The Algorithms - C

  • C语言PAT练习

  • Learn-Algorithms

  • C语言单元测试框架

  • CJson:json解码器,C文件只有500行

  • EasyLogger-一款轻量级高性能的日志库

  • 小型Lisp解释器,不超过1000行代码

  • PAT实验辅助平台

  • cwebsocket:一款轻量级websocket库

  • C语言:斗地主的发牌器

  • C 语言实现通讯录

  • C 语言实现 2048 游戏

  • Tinyhttpd,一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质

  • db_tutorial,用 C 从零创建一个简单的数据库

  • 分享10个适合初学者学习的C开源项目代码

C++ 

  • FreeNOS:深入理解C++,以及操作系统原理。FreeNOS(Free Niek的操作系统)是一个基于C++的基于微内核的学习操作系统。这是一个用C++实现的微内核的操作系统,各种宏内核中的服务作为一个独立的services在微内核中,基于消息的通信方式,这点其实跟mac内核中的mach那部分机制相似。

  • Boost:Boost 库是一个经过千锤百炼、可移植、提供源代码的C++ 库,作为标准库的后备,是C++ 标准化进程的发动机之一。 Boost 库由C++标准委员会库工作组成员发起,在C++ 社区中影响甚大,其成员已近2000 人。 Boost 库为我们带来了最新、最酷、最实用的技术,是不折不扣的“ 准” 标准库。

  • muduo:一个基于 Reactor 模式的现代 C++ 网络库,它采用非阻塞 IO 模型,基于事件驱动和回调,支持多核多线程,适合编写 Linux 服务端多线程网络应用程序。

  • libevent:一个是轻量级的网络库.

  • log4cpp:日志库, 支持多线程, 日志重定向到网络等都有, 反正你能想到的日志的功能, 都有。

  • OpenSSL:OpenSSL 包含一个命令行工具用来完成OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。

  • wfrest:简单高效的c++11异步restful网络框架。

  • workflow:当前最火最简洁好用的c++异步网络库workflow。

  • modern-cpp-tutorial:modern-cpp-tutorial 是现代 C++ 教程,它的目的是提供关于现代 C++(2020 年前)的相关特性的全面介绍。

  • MyTinySTL:用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合 C++ 新手来实践一番。

  • Tinytetris:Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。它提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。

  • calculator:

Java

  • JavaGuide :【Java 学习+面试指南】 一份涵盖大部分 Java 程序员所需要掌握的核心知识。
  • interview-guide :总结了后端面试八股文中的重点,希望能帮助各位准备互联网开发岗校招面试的同学。
  • toBeBetterJavaer :一份通俗易懂、风趣幽默的 Java 学习指南,内容涵盖 Java 基础、Java 集合框架、Java 并发编程、JVM、Java 企业级开发(Git、SSM、Spring Boot)等知识点。
  • advanced-java :互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。
  • technology-talk : 汇总 java 生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识
  • JCSprout :处于萌芽阶段的 Java 核心知识库。
  • bestJavaer : 这是一个成为更好的 Java 程序员的系列教程。
  • java-design-patterns : 用 Java 实现的设计模式。

计算机基础

  • cs-self-learning  :计算机自学指南,汇总欧美众多名校高质量计算机课程。
  • CS-Notes :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。
  • Waking-Up :计算机基础(计算机网络/操作系统/数据库/Git...)面试问题全面总结。

系统设计

SpringBoot

  • springboot-guide :SpringBoot 核心知识点总结。 基于 Spring Boot 2.19+。
  • SpringAll :循序渐进,学习 Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客 Spring 系列源码。
  • Springboot-Notebook :一系列以 Spring Boot 为基础开发框架,整合 Redis 、 Rabbitmq 、ES 、MongoDB 、Spring Cloud、Kafka、Skywalking 等互联网主流技术,实现各种常见功能点的综合性案例。
  • springboot-learning-example :Spring Boot 实践学习案例,是 Spring Boot 初学者及核心技术巩固的最佳实践。
  • spring-boot-demo :spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 63 个集成 demo,已经完成 52 个。
  • SpringBoot-Labs :Spring Boot 系列教程。

SpringCloud

  • SpringCloudLearning : 方志朋的《史上最简单的 Spring Cloud 教程源码》。
  • springcloud-learning : 一套涵盖大部分核心组件使用的 Spring Cloud 教程。
  • SpringCloud :基于 SpringCloud2.1 的微服务开发脚手架,整合了 spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway 等。

Nginx

  • nginx-tutorial :一系列 Nginx 极简教程,包含HTTP 反向代理、HTTPS 反向代理、负载均衡、静态站点、文件服务器搭建等实战内容。

大数据

  • BigData-Notes :大数据入门指南 ⭐️。
  • flink-learning :含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。

开源书籍

  • 《Effective Java(第 3 版)》中英对照版 :《Effective Java(第 3 版)各章节的中英文学习参考。
  • 《DDIA(设计数据密集型应用)》中文版 :《Designing Data-Intensive Application》DDIA 中文翻译。
  • 《凤凰架构》 :讨论如何构建一套可靠的大型分布式系统。
  • 《分布式系统模式》中文版 :《Patterns of Distributed Systems》中文翻译。
实战项目类

博客/论坛/考试系统

下面这几个项目都是非常适合 Spring Boot 初学者学习的,下面的大部分项目的总体代码架构我都看过,个人觉得还算不错,不会误导没有实际做过项目的朋友。

  • vhr :微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
  • favorites-web :云收藏 Spring Boot 2.X 开源项目。云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
  • community :开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新中…… 技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。
  • VBlog :V 部落,Vue+SpringBoot 实现的多用户博客管理平台!
  • My-Blog : My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
  • uexam :一个非常不错的考试系统!考试系统应用场景还挺多的,不论是对于在校大学生还是已经工作的小伙伴,并且,类似的私活也有很多。相关阅读:《好一个 Spring Boot 开源在线考试系统!解决了我的燃眉之急》 。
  • PassJava-Platform :一个基于微服务(SpringBoot、Spring Cloud)的面试刷题系统!相关阅读:《一个基于 Spring Cloud 的面试刷题系统。面试、毕设、项目经验一网打尽》。

商城

下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计。

  • mall :mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
  • mall-swarm : mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。
  • onemall :mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
  • litemall : 又一个小商城。litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 用户移动端。
  • xmall :基于 SOA 架构的分布式电商购物商城 前后端分离 前台商城:Vue 全家桶 后台管理系统:Spring/Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper 等
  • newbee-mall :newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。

权限管理系统

权限管理系统在企业级的项目中一般都是非常重要的,如果你需求去实际了解一个不错的权限系统是如何设计的话,推荐你可以参考下面这些开源项目。

  • Spring-Cloud-Admin :Cloud-Admin 是国内首个基于 Spring Cloud 微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Spring Boot2 以及 Spring Cloud Gateway 相关核心组件,前端采用 vue-element-admin 组件。
  • pig:(gitee)基于 Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的 RBAC 权限管理系统。
  • FEBS-Shiro :Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。
  • eladmin : 项目基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。
  • SpringBoot-Shiro-Vue :提供一套基于 Spring Boot-Shiro-Vue 的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限。

快速开发脚手架

  • RuoYi :RuoYi 一款基于基于 SpringBoot 的权限管理系统 易读易懂、界面简洁美观,直接运行即可用 。
  • ruoyi-vue-pro : 基于 SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统。
  • Guns : 我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久的小菜鸟。一晃,不经意间已经过去快 3 年了。Guns 功能齐全 ,采用主流框架 Spring Boot2.0+开发,并且支持 Spring Cloud Alibaba 微服务)。 适合企业后台管理网站的快速开发场景,不论是对于单体和微服务都有支持。
  • JHipster :开源应用程序平台,可在几秒钟内创建 Spring Boot + Angular / React 项目!
  • JeecgBoot :一款基于代码生成器的 JAVA 快速开发平台,开源界“小普元”超越传统商业企业级开发平台!
  • zuihou-admin-cloud :基于SpringCloud(Hoxton.SR7)+ SpringBoot(2.2.9.RELEASE)
    的 SaaS 型微服务快速开发平台,具备用户管理、资源权限管理、网关统一鉴权、Xss 防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。
  • Erupt : 使用 Java 注解,快速开发 Admin 管理后台。零前端代码、零 CURD、不生成任何代码、自动建表、注解式 API,支持所有主流数据库,支持自定义页面,支持多数据源,提供二十几类业务组件,十几种展示形式,支持逻辑删除,动态定时任务,前端后端分离等。 核心技术:Spring Boot、JPA、Reflect、TypeScript、NG-ZORRO 等。
  • SmartAdmin : 互联网企业级的通用型中后台解决方案!使用最前沿的前后台技术栈 SpringBoot 和 Vue,前后端分离!代码质量非常高!
  • BallCat :一个功能完善的快速开发脚手架!除了最基本的权限管理,定时任务功能之外,还额外支持 XSS 过滤,SQL 防注入、数据脱敏等多种功能

造轮子

  • guide-rpc-framework :一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程。
  • mini-spring :简化版的 Spring 框架,能帮助你快速熟悉 Spring 源码和掌握 Spring 的核心原理。代码极度简化,保留了 Spring 的核心功能,如 IoC 和 AOP、资源加载器等核心功能。
  • itstack-demo-jvm :通过 Java 代码来实现 JVM 的基础功能(搜索解析 class 文件、字节码命令、运行时数据区等。相关阅读:《zachaxy 的手写 JVM 系列》
  • Freedom :自己 DIY 一个具有 ACID 的数据库。相关项目:MYDB(一个简单的数据库实现)、toyDB(Rust 实现的分布式 SQL 数据库)。

你可能感兴趣的