近几个月Github上最热门的Java项目一览

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

Github
今天逛了逛Github,顺手精选出了一下近几个月以来Github上最热门的12个Java项目。如果遇到自己感兴趣的开源项目,不妨去学习一下哦!

1. java-design-patterns(Star:36k)

Github地址:

https://github.com/iluwatar/java-design-patterns

介绍:

设计模式是形式化的最佳实践,程序员可以在设计应用程序或系统时使用它来解决常见问题。

设计模式可以通过提供经过验证的经过验证的开发范例来加速开发过程。

重用设计模式有助于防止可能导致重大问题的细微问题,并且还可以提高熟悉模式的编码人员和架构师的代码可读性。

2. Elasticsearch(Star:32k)

Github地址:

https://github.com/elastic/elasticsearch

介绍:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题及可能出现的更多其它问题。

3. Interview-Notebook(Start:28k)

Github地址:

https://github.com/CyC2018/Interview-Notebook

介绍:

这个仓库是作者的一个学习笔记,主要总结一些比较重要的知识点。

4. okhttp(Start:27k)

Github地址:

https://github.com/square/okhttp

介绍:

适用于Android和Java应用程序的HTTP + HTTP / 2客户端。

5. spring-boot(Star:26k)

Github地址:

https://github.com/spring-projects/spring-boot

介绍:

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的(需要大量XML配置),不过Spring Boot 让这一切成为了过去。

关于Spring Boot官方的介绍:

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”…Most Spring Boot applications need very little Spring configuration.(Spring Boot可以轻松创建独立的生产级基于Spring的应用程序,只要通过 “just run”(可能是run ‘Application’或java -jar 或 tomcat 或 maven插件run 或 shell脚本)便可以运行项目。大部分Spring Boot项目只需要少量的配置即可)

6. guava(Star:25k)

Github地址:

https://github.com/google/guava

介绍:

Guava是一组核心库,包括新的集合类型(例如multimap和multiset),不可变集合,图形库,函数类型,内存缓存以及用于并发,I / O,散列,API /实用程序 ,反射,字符串处理等等!

7. incubator-dubbo(Star:20k)

Github地址:

https://github.com/apache/incubator-dubbo

介绍:

Apache Dubbo(孵化)是阿里开源的一个基于Java的高性能开源RPC框架。

8. proxyee-down(Star:11k)

Github地址:

https://github.com/proxyee-down-org/proxyee-down

介绍:

http下载工具,基于http代理,支持多连接分块下载

9. weixin-java-tools(Star:8.4k)

Github地址

https://github.com/Wechat-Group/weixin-java-tools

介绍

可能是目前最好最全的微信Java开发工具包,支持包括微信支付、开放平台、小程序、企业号和公众号等的开发

10. Java-Interview(Star:7k)

多数是一些 Java 基础知识、底层原理、算法详解。也有上层应用设计,其中不乏一些大厂面试真题。

Github地址:

https://github.com/crossoverJie/Java-Interview

介绍:

多数是一些 Java 基础知识、底层原理、算法详解。也有上层应用设计,其中不乏一些大厂面试真题。

11. apollo(Star:6.5k)

Github地址

https://github.com/ctripcorp/apollo

介绍

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

12. jib(Star:3.4k)

Github地址:

https://github.com/GoogleContainerTools/jib

介绍:

Google 最近开源一款新的 Java 工具 Jib ,旨在让开发者使用他们熟悉的工具更轻松地将 Java 应用程序容器化。

容器使 Java 开发者比以往任何时候都更靠近“一次编写,随处运行” 的工作流程,但容器化 Java 应用却并非易事:你必须先编写 Dockerfile ,root 后运行 Docker 守护进程,等待构建完成,最后将镜像推送至远程注册表。Jib 将处理将应用打包到容器镜像过程中的所有步骤,它直接与 Maven 和 Gradle Java 开发环境集成,不需要你编写 Dockerfile 或安装 Docker ,只需将其作为插件添加到你的构建中,就可以立即将 Java 应用容器化。

相关阅读:《Google 正式开源 Jib ,帮助 Java 应用快速容器化》:https://www.oschina.net/news/97892/google-opensource-jib

未来可能会上热门TOP的项目

13. Java-Guide(Star:650star)

Github地址:

https://github.com/Snailclimb/Java-Guide

介绍:

哈哈 ,皮一下很开心。这是我自己开源的一份文档,目前仍在完善中,欢迎各位英雄好汉一起完善。

该文档主要是笔主在学习Java的过程中的一些学习笔记,但是为了能够设计到大部分后端面试所需的技术知识点我也会引用别人的优秀文章。 该文档设计的主要内容包括: Java、 数据结构与算法、计算机网络与数据通信、 操作系统、主流框架、数据存储、架构、面试必备知识点等等。相信不论你是前端还是后端都能在这份文档中收获到东西。

如果想要获取更多我的原创文章,欢迎关注我的微信公众号:"Java面试通关手册" 。无套路,希望能与您共同进步,互相学习。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
52 1
|
3月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
99 3
|
6天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
2天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
38 17
|
24天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
117 26
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
61 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
2月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
49 4
|
2月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
50 3
|
2月前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
69 1