“码”海钩沉:面向Java开发人员的十佳GitHub储存库

Eduenth 2020-08-29

毫无疑问,Java是企业软件开发中的王者,也是需求量最大的编程语言之一。最近,Java迎来了其25周年庆典,未来几年,它仍然会是领先的编程语言之一。GitHub拥有超过1亿个储存库,它就像是软件开发界的百宝箱,包含了框架、库、教程和书籍,甚至还有编程语言。

如果你是一名Java开发人员,并且希望提高自身技能,那么GitHub对你来说就是一座金矿。但是,面对这么庞大一座矿你可能会抓狂,从中找到正确的储存库仿佛大海捞针一般艰难。

来吧,我将向你介绍十佳Java GitHub储存库。请注意,大热的Java框架和Java库不包含在内。

1. Java设计模式

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:Github

软件工程师通过软件设计模式提供通用方案,解决软件设计中反复出现的问题。设计模式中还有通用词汇表供软件工程师和架构师讨论共同问题,还能利用测试和验证的开发范式提高代码质量和编码速度。学习设计模式的最好方法是观察实际操作,即代码示例。

这个强大的GitHub储存库可以实现Java的所有设计模式:从最常见、最传统的迭代器模式、单例模式,到最现代的聚合器微服务模式。GitHub储存库不仅能帮助你提高编码技能,还可以使你成为一个更优秀、更高效的开发人员。

2.面试

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

参加编程岗位的面试是很有挑战性的。许多人去面试时准备得不充分,就说是自己运气不好才没能得到这份工作。

为面试做充分的准备会增加得到理想工作的机率。这个GitHub储存库包含了你准备面试所需要的一切:YouTube视频、文章、实时编码练习、数据结构、算法、面试书籍和视频讲座,还包含针对Java常见编码问题的LeetCode(全球极客的技术成长平台)。

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:Pexels

3.算法

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

如果你是一个软件工程师,那么算法就像是生活中的豆浆和油条,使用正确的算法可以提高软件的性能。为给定的约束条件(CPU复杂性、内存消耗)选择正确算法的能力表明了软件工程师的素质,无论是谷歌、微软这样的科技巨头,还是初创公司,都会在面试过程中大量使用这些算法。

如果你是初级或中级Java开发人员,那么你将经常需要这个GitHub储存库;如果你是有多年经验的Java开发人员,仍然会发现这个GitHub储存库非常有用。

4. RealWorld储存库

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

如果你正在用Java开发最新的全栈应用程序,很有可能在前端使用JavaScript SPA,在后端使用Java。RealWorld提供了一个应用“导管”(中等克隆),几乎使用了所有前端和后端组合。开发者称它为“所有演示应用程序之母”,因为它允许开发一个真实世界的应用程序。RealWorld这个品牌名副其实,因为它支持着很多前端、后端技术。

目前,RealWorld支持所有可能的JavaScript前端框架(例如,React,Angular,Vue,Svelte,AngularJS,Ember),以及所有主流编程语言中所有可能的后端框架。在Java中,它支持Quarkus和Vert.x。

Realworld也是一个GitHub储存库,你在整个职业生涯中都会需要它,特别是全栈开发岗位的人。

5. Awesome Java

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

有时我们需要在谷歌上花几个小时搜索一些与Java相关的内容,这个GitHub储存库可以给Java开发人员提供帮助。Awesome Java就像一本字典,几乎包含了所有与Java相关的内容。不论你想寻找字节码操作器、机器学习库,或者是实用程序库,Awesome Java都有相关链接。

这个储存库由约300名志愿者组成的活跃社区维护,定期更新。

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:unsplash

6. Baeldung教程

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

如果你是一名Java开发人员,你很可能已经看过Baeldung提供的各种教程和案例了。目前,它是Java、Web和Spring开发教程中排名第一的在线资源平台。Baeldung与其他类似平台的区别在于,它涵盖了Java和Spring开发中从基础到高级的内容。除了教程,它还包含课程、指南和电子书等。Baeldung另一个重要特性是,所有的示例和教程都支持运行GitHub代码。

GitHub储存库包含Java和Spring开发领域的普通和重点教程,还包括了教程中对代码详细解释的文章链接。这不仅是Spring开发人员的必备储存库,也是Vanila Java开发人员的必备储存库。

7. JHipster

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

如果你使用的是企业级Java,那么你很可能听说过JHipster。JHipster提供开发平台来生成、开发和部署基于生产级单体应用或微服务的Web程序。在前端,它提供前3大SPA框架(Angular、React和Vue),在后端提供Spring Boot。

它还支持所有主要的数据存储(Oracle、PostgreSQL、MySQL、MS-SQL、MongoDB、Cassandra、ELK、Kafka)。JHipster的安全性级别很高,比如提供OAuth2+OpenIDConnect。它还提供了许多扩展,帮助你开发几乎适用于任何环境(包括云)的基于Spring的企业应用程序。

JHIpster强大且成熟,可以用于开发POC甚至生产级应用程序。

8. RxJava Android案例

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

近年来,反应式编程因为可以处理不同时存在的、基于事件的编程而大受欢迎。RxJava是ReactiveX通过Java实现的,可以通过观察对象提供反应式编程。学习Java反应式编程有点困难,因为Java在默认情况下是同步编程方式。

在GitHub项目中有RxJava的实际案例。虽然这些案例是针对Android开发的,但Java开发人员也可以将它们轻松应用于非Android开发。

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:unsplash

9. Java8教程

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

Java8是最具颠覆性和创新性的Java之一,因为它引入了“函数式编程”。有了Lambda表达式和流媒体的概念,Java最终实现了函数式编程,还保持了出色的、统一的向后兼容性。

并非所有Java开发人员都充分利用了Java8的新功能。我见过许多有经验的Java开发人员,他们仍然在用传统的开发方法。其中一个原因是,与传统的面向对象编程相比,函数式编程是一种范式转换,开发人员希望留在自己的舒适区。

这个GitHub储存库包含了许多小而有用的函数式编程概念示例(Lambda表达式、流媒体、函数式接口和并行流等),这些示例行文流畅,清晰易懂。如果你是Java函数编程的小白,这个储存库将极大地帮助你。

10.《程序员面试金典》

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

图源:GitHub

无论你是在财富500强公司还是初创公司申请编程工作,都要参加编程面试。备受好评的《程序员面试金典》可以帮助你准备具有挑战性的编码面试。这本书涵盖了所有类型的编码,包括算法复杂性、数学和逻辑难题、动态编程、排序和搜索、多线程等。

本书的出彩之处在于优美、简洁地解释了所有的示例,GitHub储存库包含了该书第六版关于Java的所有示例。即使买不到原版书,浏览GitHub对你下次的面试也有帮助。

“码”海钩沉:面向Java开发人员的十佳GitHub储存库

相关推荐

优化算法 / 0评论 2020-11-13