文档章节

可能是最火的开源项目 —— Java 篇

编辑部的故事
 编辑部的故事
发布于 2017/08/28 18:38
字数 1210
阅读 29755
收藏 743

很多开发者在看到自己感兴趣的项目时会使用 Star 功能,可以说 Star 的数量在一定程度上代表了开源项目的热门程度,本文整理了 Java 语言中 star 数最多的十五款开源项目,这些项目在 GitHub 上的 star 数均超过 15000,排名如下:

Rx 的 Java 实现 RxJava

star:26782;fork:4718

.Net响应式编程框架 Rx 的Java版本开源实现,有Groovy, Clojure, Scala and JRuby版本的实现。

分布式搜索引擎 ElasticSearch

star:24646;fork:8723

Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。这个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 

        

REST 客户端 Retrofit

star:23443;fork:4731

retrofit 是一个类型安全的 REST 客户端,用于 Android 平台。

RestAdapter restAdapter = new RestAdapter.Builder()
    .setServer("https://api.github.com")
    .build();

GitHubService service = restAdapter.create(GitHubService.class);

HTTP+SPDY 客户端开发包 okhttp

star:21981;fork:5311

okhttp 是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。

OkHttpClient client = new OkHttpClient();

    String get(URL url) throws IOException {
      HttpURLConnection connection = client.open(url);
      InputStream in = null;
      try {
        // Read the response.
        in = connection.getInputStream();
        byte[] response = readFully(in);
        return new String(response, "UTF-8");
      } finally {
        if (in != null) in.close();
      }
    }

Java 设计模式 java-design-patterns

star:21456;fork:7162

设计模式是程序员在设计应用程序或系统时解决常见问题的最佳实践,重用设计模式有助于防止可能导致重大问题的细微问题,同时熟悉模式的程序员和架构师的代码也更具可读性。

Google的Java常用类库 Guava

star:18414;fork:4327

Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。

Android 注解工具 ButterKnife

star:17845;fork:3662

Butter Knife 是 Android 视图字段和方法绑定,使用注解处理来生成样板代码。

主要特性:

  • 在字段使用 @FindView消除findViewById调用

  • 使用 @FindViews在一个列表中分组多个视图

  • 通过注解方法为监听者消除匿名 inner-classes

Android 图表库 MPAndroidChart

star:17758;fork:5133

MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。

alt tag

Android 图片加载和缓存库 Glide

star:17418;fork:3520

Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。

Android/Java内存泄露检测框架 LeakCanary

star:16531;fork:2761

LeakCanary 是 Android 和 Java 内存泄露检测框架。

J2EE框架 Spring

star:15850; fork:11326

Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

Android 开源框架 EventBus Android

star:15733; fork:3752

如果你学习过设计模式,那么当想通知其他组件某些事情发生时你一定会使用观察者模式。好了,既然能想到这个设计模式,那么就来看一个屌爆天的Android开源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Fragment、Activity、Service、线程之间传递消息。他的最牛逼优点是开销小,代码简洁,解耦代码。

这里写图片描述

Android-Universal-Image-Loader

star:15596; fork:6455

Android-Universal-Image-Loader (Universal Image Loader for Android) 的目的就是为了实现异步的网络图片加载,支持多线程异步加载。

Spring Boot 

star:15357; fork:13367

Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'.

下图显示 Spring Boot 在 Spring 生态中的位置:

Spring Boot in Context

移动应用动画效果框架 Lottie

star:15094; fork:2166

Lottie 是 Airbnb 开发的一款能够为原生应用添加动画效果的开源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能够实时渲染 After Effects 动画特效。

条形码处理类库 ZXing

star:15003; fork:6686

ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。

© 著作权归作者所有

共有 人打赏支持
编辑部的故事

编辑部的故事

粉丝 1204
博文 253
码字总数 449375
作品 0
深圳
运营/编辑
私信 提问
加载中

评论(31)

TGVvbmFyZA
TGVvbmFyZA
是不是應該區分Java和Android???
H
HallenSocifield
我做的工具,导航,免费API导航网址。http://www.zhaotool.com
Caelebs
Caelebs
😐
mengjoey
mengjoey

引用来自“之渊”的评论

不是吧,这么多安卓用的,感觉Java的天下都是 靠 安卓 应用 打下去的一样。。。
孩子, 你听过hadoop么?
昵称必须填
昵称必须填
安卓的很多啊
谷粑糖
谷粑糖
mark
dimdim
dimdim
黄油刀和iml也在列。。。
每周精粹
每周精粹
瞎说
80000
80000
说了这么多,我只认识rxjava elasticsearch spring
青春不再
青春不再
`EventBus` 和 `UniversalImageLoader` 这种过时了的东西就不用拿出来了吧。。
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
11/15
131
0
Java 10大优点—Part3—开源

感谢大家对这个系列文章的关注和意见,你们的观点也印证了我的关于Java很好很强大的结论。这里是第三篇,我将要谈谈关于开源的那些事。 欢迎大家向我分享你们的经验和发现,我非常乐于了解大...

foxlee
2013/12/09
146
0
从Java到JVM到OS线程睡眠

前言 Java 中有时需要将线程进入睡眠状态,这时一般我们就会通过使线程进入睡眠状态,接下去就看看执行该语句在 JVM 中做了什么。 简单例子 以下是一个简单的例子,使主线程睡眠5秒钟。 JVM ...

超人汪小建
08/20
0
0
【目录导航】JAVA零基础进阶之路

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出...

MFrank
06/21
0
0
论Java程序猿的自我价值提升,BATJ资深架构体系助你飞跃瓶颈区!

Java那句广为人知的口号“一次编写,处处运行”也体现出Java价值的关键所在—强大的Java虚拟机使得Java具有跨平台兼容性。 目前流行的Java职业路径包括后端开发员、大数据开发员,嵌入式系统...

Java填坑之路
10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
42分钟前
14
4
[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
6
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
28
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
19
0
my.ini

1

architect刘源源
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部