2021 github java领域超40k star项目,top10 拿走,不谢
2021 github java领域超40k star项目,top10 拿走,不谢
CyC2018/CS-Notes
技术面试的必备知识,官方网站
----http://www.cyc2018.xyz/,主要是涉及计算机基础知识(计算机网络,http,socket,操作系统等等),Leetcode算法图解,java(基础、io、并发、虚拟机等等)、数据库设计(sql语法、数据库原理),系统设计(分布式系统、集群设计、异步化的消息队列、缓存机制),面向对象设计(面向对象思想、设计模式),最后还有个编码实践(阿里巴巴编规范,Google编码规范等等)
star 数目达到135k,链接
----https://github.com/CyC2018/CS-Notes
Snailclimb/JavaGuide
跟前一个cs-notes很类似,都是还不错的资源,可以先收藏,再慢慢看,作者还搞了个《Java面试进阶指北 打造个人的技术竞争力》,链接
----https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7,要找工作的小伙伴,可以看看
star 数目达到108k,链接
----https://github.com/Snailclimb/JavaGuide
iluwatar/java-design-patterns
一切皆可扩展,设计模式,随便翻个开源框架,基本都可以找到各种设计模式的踪影,常见的单例模式(确保类只有一个实例,并提供一个全局的访问点)、代理模式(为另一个对象提供一个占位符或者替身,以控制对这个对象的访问)、装饰器模式(动态的为对象添加附加功能,提供了一种扩展机制,比继承更具有扩展性)、组合模式、策略模式(将算法簇封装起来,使使用算法的客体和算法之间相互独立)、模板方法(定义了一个算法的框架,允许子类为其提供一个或多个步骤的实现)、工厂模式、生成器模式、外观模式(提供了一个统一的接口,用来访问子系统的一群接口)等等
在看设计模式之前,先看些设计模式的原则
----https://java-design-patterns.com/principles/,例如KISS(Keep It simple and Stupid)原则,主旨是保持可读性、人要看得懂;YAGNI(You Ain't Gonna Need It)原则,主旨是不要过度设计、可以预留扩展点,无需实现;DRY(Don’t Repeat Yourself)原则,主旨是复用,逻辑复用,语义复用;开闭原则(Open Closed Principle),主旨是扩展开放,修改关闭;更多的例如单一责任原则、迪米特原则、里氏替换原则、依赖倒置原则、接口隔离原则
star 数目达到69k,链接
----https://github.com/iluwatar/java-design-patterns
MisterBooo/LeetCodeAnimation
想想以前换工作的时候,都会刷刷leetcode,这个是把leetcode用动画方式进行展示出来,我只能说太牛逼了
star 数目达到65k,链接
----https://github.com/MisterBooo/LeetCodeAnimation
spring-projects/spring-boot
spring全家桶之一,spring、spring boot、spring cloud,spring提供基本的ioc(权限反转)、di(依赖注入)、aop(面向切面),spring boot基于约定优于配置,旨在搭建快速可发布独立的可执行文件,spring cloud构建云化的微服务体系
star 数目达到56k,链接
----https://github.com/spring-projects/spring-boot
elastic/elasticsearch
es是基于lucene的分布式全文搜索引擎,es集群由多个节点(node)组成,每一个节点上管理多个索引(index)分片,每一个索引可包含多个类型(type)用于区分不同类型的数据,每一个类型都包含多行的文档(document),每一行文档可包含多个字段(field)
es提供丰富的rest api供我们进行索引/查询/管理集群等等,后续均以rest接口与es集群进行交互
之前写过一篇《elasticsearch 搜索引擎应该这么学
----https://www.toutiao.com/i6982963377530274341/,有兴趣,可以更深入了解下
star 数目达到55k,链接
----https://github.com/elastic/elasticsearch
doocs/advanced-java
内容涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,以问题的方式进入,去分析问题,例如为什么要使用分库分表,如何设计一个高并发系统,微服务的架构描述等等,需要面试的小伙伴,可以多看看
star 数目达到55k,链接
----https://github.com/doocs/advanced-java
kdn251/interviews
面试指南和书籍推荐,需要面试的小伙伴,可以多看看
star 数目达到53k,链接
----https://github.com/kdn251/interviews
macrozheng/mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
个人学习也是一个不错的资源。
star 数目达到51k,链接
----https://github.com/macrozheng/mall
ReactiveX/RxJava
基于事件、异步的响应式编程,属于对观察者模式的扩展,在android端上用得较多
star 数目达到44k,链接
----https://github.com/ReactiveX/RxJava
top10中的每一个项目都超过40k star,学习资源类占据5席,框架3席,业务场景电商1席,设计模式1席,都是巨牛逼的项目。更多有意思的项目,可以使用github高级搜索
----https://github.com/search/advanced,自己寻找,探索世界,探索开源