成为Java开发大师,看这20个github库就够了

413 阅读6分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情

GitHub拥有超过1 亿个存储库,就像软件开发中的“亚历山大图书馆”。GitHub 包含框架、库、教程、书籍,甚至编程语言。

对于Java 开发人员,想要提高 Java 技能,GitHub 就像一座金矿。在 GitHub 上找合适的存储库就像大海捞针。

本文总结了 20 个优秀的 Java GitHub 存储库:包含教程、学习资料、软件设计、演示应用等。

全部stars加起来210w+,快快收藏,肝起来吧。

自由代码营freeCodeCamp

stars:343k+

地球上最受欢迎的存储库,免费的开源代码库和课程,非常适合全栈开发学习。

官网:freeCodeCamp.org

免费编程书籍free-programming-books

stars:230k+

互联网上有许多免费书籍可供开发人员使用。该存储库维护所有与编程相关的免费书籍的列表。它还对书籍进行分类,并列出了许多主要语言的书籍。除了免费的电子书,它还包含一个精选的免费在线课程、播客和交互式编程资源列表。

编码面试大学coding-interview-university

stars:216k+

在这个 GitHub 存储库中,作者 John Washam 列出了准备面试所需的几乎所有知识。它包含学习计划、主题和找工作的方法。它包括在线材料、书籍、视频、关于不同软件工程主题的讲座、简历写作技巧、工作申请技巧等等。

开发者路线图developer-roadmap

stars:191k+

开发者路线图为前端和后端开发人员提供了更新的路线图,如果您打算开始软件开发职业或升级您的软件开发技能,这个 GitHub 存储库将为您提供一份简明的路线图。

系统设计入门system-design-primer

stars:171k+

这个 GitHub 存储库特别关注端到端系统设计的资源。它解释了端到端系统的所有组件:CDN、负载均衡器、Web 服务器、API、SQL/NoSQL 数据库以及更多内容。还包含许多系统设计的面试准备材料和练习(包括解决方案)。

ohmyzsh

stars:143k+

build-your-own-x与其他标准 shell(bash、csh)相比,它提供了许多改进。如果使用得当,它可以显着提升性能。Oh my Zsh 是一个开源的、社区驱动的框架,用于管理 Zsh 扩展。Oh My Zsh 支持插件并附带许多有用的插件。对于精通命令行的开发人员,Oh My Zsh 可以更好的提高生产力。

gitignore

stars:131k+

现代软件开发中基本都会使用Git来做版本控制系统。Git 会要求将新添加的文件夹添加到 Git 中,避免这种情况的一种方法是将 .gitignore 文件添加到您的项目中。这个 GitHub 存储库为几乎所有用例提供了一个标准的 .gitignore 模板。

建立你自己的 Xbuild-your-own-x

stars:137k+

学习软件工程最有效方法之一是自己创建。创建数据库、操作系统或聊天机器人是一项相当艰巨的任务。这个 GitHub 存储库包含一个教程列表,可以指导开发者构建软件工程中的几乎所有内容。

Java 设计模式Java Design Patterns

stars:74.1k+

用 Java 实现的设计模式,设计模式是程序员在开发系统时解决常见问题的最佳实践。设计模式可以通过提供经过测试的、经过验证的开发范例来加速开发过程。

面试Interviews

stars:56.8k+

软件工程技术面试个人指南,这个库包含准备面试所需的一切:YouTube 视频、文章、实时代码练习、数据结构、算法、面试书籍、视频讲座。 还包含针对 Java 中常见编码问题的 Leetcode。

有中文译文(出自掘金翻译计划)。

计算机科学computer-science

stars:111k+

这个 GitHub 存储库提供了一个课程,使用免费的在线材料提供完整的计算机科学教育。与主要关注专业发展的 FreeCodeCamp 不同,OSSU 计算机科学提供了类似于大学的全面课程,涵盖了计算机科学的基础知识和核心原理。

故事书storybook

stars:69.9k+

组件驱动的UI开发是现代主流的UI开发技术。构建组件驱动的 UI 并不容易,Storybook 提供了一个开发环境来单独开发组件驱动的 UI。它允许浏览组件库,查看每个组件的不同状态,并交互式地开发和测试组件。

storybook支持非常多重要的组件驱动的 UI 开发框架,包括 React、Vue、Angular、Web Components、Svelte、Ember、React Native。它还提供对移动应用程序开发(iOS、Android、Flutter)的支持。

算法Algorithms

stars:45.4k+

用 Java 实现的所有算法,可以运行和编辑算法,或者使用 Gitpod.io(一个免费的在线开发环境)。

真实世界realworld

stars:65.1k+

非常适合全栈开发,了解如何使用不同的前端和后端构建完全相同的Medium.com。各种前后端技术可以混合搭配,都遵循相同的API 规范。

它支持几乎所有的 JavaScript 前端框架,如React、Angular、Vue、Svelte、AngularJS、Ember.js、Aurelia、Vanilla JS 等)。以及所有主流编程语言中所有的后端框架,在 Java 中,它支持 Quarkus 和 Vert.x。

很棒的 Java awesome-java

stars:31.8k+

Java 编程语言的优秀框架、库和软件的精选列表。Awesome Java包含几乎所有与 Java 相关的东西,就像一本字典。无论是寻找 ByteCode 操纵器还是机器学习库或实用程序库,Awesome Java 都有链接。

JHipster

stars:19.4k+

JHipster 是一个快速生成、开发和部署现代 Web 应用程序和微服务架构的开发平台。

RxJava-Android-Samples

stars:7.5k+

响应式编程通过提供一个很好的抽象来处理异步和基于事件的编程获得了广泛的欢迎。RxJava是ReactiveX的 Java 实现,它通过Observables提供反应式编程。在这个 GitHub 项目中,给出了 RxJava 的真实示例。尽管这些示例是针对 Android 开发提供的,但 Java 开发人员也可以轻松地将它们应用于非 Android 开发。

Java8教程java8-tutorial

stars:15.6k+

这个 GitHub 存储库包含许多以优秀、易读的方式编写的函数式编程概念(Lambda、流、函数式接口、并行流等)的小而有用的示例。如果您是 Java 函数式编程的新手,这个存储库会有极大的帮助。

Google Guava

stars:44.1k+

Google Guava 库涵盖了基本实用程序、集合、字符串操作、并发实用程序、图形库、I/O 实用程序、散列等等。与 Apache Commons 库相比,Google Guava 具有更好的软件设计。

Jackson

stars:7.3k+

Jackson 是一套用于 Java 的数据处理库。Jackson JSON 是事实上的流式 JSON 解析器/生成器库。它还支持其他数据格式,例如 Avro、BSON、CBOR、CSV、Smile、Protobuf、XML 或 YAML,以及 Guava、Joda、PCollections 等数据类型。

Jackson 还提供数据绑定和注释。您可以借助 Jackson 注释将 POJO 转换为数据或从数据生成 POJO。如果您使用数据格式,Jackson 是必备工具集。它是高度模块化的,核心模块提供基本功能和各种扩展模块。