GitHub 上最火的开源项目 —— Java 篇
cherla
7年前
<p>很多开发者在看到自己感兴趣的项目时会使用 Star 功能,可以说 Star 的数量在一定程度上代表了开源项目的热门程度,本文整理了 Java 语言中 star 数最多的十五款开源项目,这些项目在 GitHub 上的 star 数均超过 15000,排名如下:</p> <h2><a href="/misc/goto?guid=4959751866650001738" rel="nofollow,noindex">Rx 的 Java 实现 RxJava</a></h2> <p>star:26782;fork:4718</p> <p>.Net响应式编程框架 Rx 的Java版本开源实现,有Groovy, Clojure, Scala and JRuby版本的实现。</p> <p><img src="https://simg.open-open.com/show/b2ef3f426b6c80db02272ced34a30589.jpg"></p> <h2><a href="/misc/goto?guid=4959751866751831126" rel="nofollow,noindex">分布式搜索引擎 ElasticSearch</a></h2> <p>star:24646;fork:8723</p> <p>Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。这个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。</p> <p><img src="https://simg.open-open.com/show/14c5a9f1f9fde57bd38d7d3169b9d7d6.png"></p> <h2><a href="/misc/goto?guid=4959751866833478871" rel="nofollow,noindex">REST 客户端 Retrofit</a></h2> <p>star:23443;fork:4731</p> <p>retrofit 是一个类型安全的 REST 客户端,用于 Android 平台。</p> <pre> <code class="language-java">RestAdapter restAdapter = new RestAdapter.Builder() .setServer("https://api.github.com") .build(); GitHubService service = restAdapter.create(GitHubService.class);</code></pre> <h2><a href="/misc/goto?guid=4959751866920298960" rel="nofollow,noindex">HTTP+SPDY 客户端开发包 okhttp</a></h2> <p>star:21981;fork:5311</p> <p>okhttp 是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。</p> <pre> <code class="language-java">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(); } }</code></pre> <h2><a href="/misc/goto?guid=4959751866999911454" rel="nofollow,noindex">Java 设计模式 java-design-patterns</a></h2> <p>star:21456;fork:7162</p> <p>设计模式是程序员在设计应用程序或系统时解决常见问题的最佳实践,重用设计模式有助于防止可能导致重大问题的细微问题,同时熟悉模式的程序员和架构师的代码也更具可读性。</p> <h2><a href="/misc/goto?guid=4959751867088882129" rel="nofollow,noindex">Google的Java常用类库 Guava</a></h2> <p>star:18414;fork:4327</p> <p>Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。</p> <h2><a href="/misc/goto?guid=4959751867170021213" rel="nofollow,noindex">Android 注解工具 ButterKnife</a></h2> <p>star:17845;fork:3662</p> <p>Butter Knife 是 Android 视图字段和方法绑定,使用注解处理来生成样板代码。</p> <p>主要特性:</p> <ul> <li> <p>在字段使用 @FindView消除findViewById调用</p> </li> <li> <p>使用 @FindViews在一个列表中分组多个视图</p> </li> <li> <p>通过注解方法为监听者消除匿名 inner-classes</p> </li> </ul> <h2><a href="/misc/goto?guid=4959751867253745361" rel="nofollow,noindex">Android 图表库 MPAndroidChart</a></h2> <p>star:17758;fork:5133</p> <p>MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。</p> <p><img src="https://simg.open-open.com/show/39e193bcd9c952a0487a19f5c2321ba6.png"></p> <h2><a href="/misc/goto?guid=4959751867342613866" rel="nofollow,noindex">Android 图片加载和缓存库 Glide</a></h2> <p>star:17418;fork:3520</p> <p>Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。</p> <p><img src="https://simg.open-open.com/show/7fcd9f0d30b2314c914de3cc0b7c6e09.png"></p> <h2><a href="/misc/goto?guid=4959751867433932422" rel="nofollow,noindex">Android/Java内存泄露检测框架 LeakCanary</a></h2> <p>star:16531;fork:2761</p> <p>LeakCanary 是 Android 和 Java 内存泄露检测框架。</p> <p><img src="https://simg.open-open.com/show/b8d32e8571aed4eeadf446b96f8e09f7.png"></p> <h2><a href="/misc/goto?guid=4959751867516253212" rel="nofollow,noindex">J2EE框架 Spring</a></h2> <p>star:15850; fork:11326</p> <p>Spring Framework是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的 <a href="/misc/goto?guid=4958186408244838927" rel="nofollow,noindex">移植版本</a> 。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。</p> <p><img src="https://simg.open-open.com/show/9863676efd9da063d557ec8d0163b709.jpg"></p> <h2><a href="/misc/goto?guid=4959751867628751332" rel="nofollow,noindex">Android 开源框架 EventBus Android</a></h2> <p>star:15733; fork:3752</p> <p>如果你学习过设计模式,那么当想通知其他组件某些事情发生时你一定会使用观察者模式。好了,既然能想到这个设计模式,那么就来看一个屌爆天的Android开源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Fragment、Activity、Service、线程之间传递消息。他的最牛逼优点是开销小,代码简洁,解耦代码。</p> <p><img src="https://simg.open-open.com/show/532be5edab6a1c14016a4af0ccecbb9b.png"></p> <h2><a href="/misc/goto?guid=4959751867718879883" rel="nofollow,noindex">Android-Universal-Image-Loader</a></h2> <p>star:15596; fork:6455</p> <p>Android-Universal-Image-Loader (Universal Image Loader for Android) 的目的就是为了实现异步的网络图片加载,支持多线程异步加载。</p> <p><img src="https://simg.open-open.com/show/85ae8a18abe65a22e6b3ccc7a9da66a3.png"></p> <h2><a href="/misc/goto?guid=4959751867798504489" rel="nofollow,noindex">Spring Boot </a></h2> <p>star:15357; fork:13367</p> <p>Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'.</p> <p>下图显示 Spring Boot 在 Spring 生态中的位置:</p> <p><img src="https://simg.open-open.com/show/be0b4d89c0ac641e7aaef92374687403.png"></p> <h2><a href="/misc/goto?guid=4959751867885575272" rel="nofollow,noindex">移动应用动画效果框架 Lottie</a></h2> <p>star:15094; fork:2166</p> <p>Lottie 是 Airbnb 开发的一款能够为原生应用添加动画效果的开源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能够实时渲染 <a href="/misc/goto?guid=4959751867955534550" rel="nofollow,noindex">After Effects</a> 动画特效。</p> <p><img src="https://simg.open-open.com/show/06dc5c3f51576ee9c8895bf0324c6594.gif"></p> <h2><a href="/misc/goto?guid=4959751868049457248" rel="nofollow,noindex">条形码处理类库 ZXing</a></h2> <p>star:15003; fork:6686</p> <p>ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。</p> <p><img src="https://simg.open-open.com/show/e85843bcdbf5328708fb75965ce6a352.png"></p> <p> </p> <p> </p> <p>来自:https://sdk.cn/news/7432</p> <p> </p>