有哪些优秀的Java开源项目最值得阅读?

关注者
730
被浏览
38,261

8 个回答

阅读源码是程序猿们最好的学习方式,给大家分享:

可能是最火的Java开源项目

这些项目在 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 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。



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 生态中的位置:


移动应用动画效果框架 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。



以上内容整理自:可能是最火的开源项目 —— Java 篇


源码的阅读是个逆向的过程,那么该如何阅读源码呢?


源码阅读思维范式 Problem domain→model→architecture&implementation→improvement→best practice

节选自:专访许鹏:谈C程序员修养及大型项目源码阅读与学习


别只收藏呀,觉得有用帮我点个赞呗

优秀的开源项目就像人生道路上的良师益友们,对于我们的学习非常重要。在此给题主推荐4款优秀的Java开源项目,也供大家一起交流学习。


1. 项目名称:基于 Java 的龙果支付系统

项目简介:龙果支付系统是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量、便捷、易用,且集支付、资金对账、资金清结算于一体的支付系统,满足互联网业务系统的收款和业务资金管理需求。

主要特点:

  • 具备支付系统通用的支付、对账、清算、资金账户管理、支付订单管理等功能;
  • 目前已接通“支付宝即时到账”和“微信扫码支付”通道;
  • 支持直连和间连两种支付模式,任君选择;
  • 通过支付网关,业务系统可以轻松实现统一支付接入;
  • 搭配运营后台,支付数据的监控和管理可以兼得;
  • 配套完善的系统使用文档,可轻松嵌入任何需要支付的场景;
  • 龙果支付系统产品技术团队是一支拥有多年第三方支付系统设计研发经验的团队,会为龙果支付系统持续提供商业级的免费开源技术服务支持。

项目地址:RonCoo/roncoo-pay - 码云


2. 项目名称:基于 Java 的信息咨询网站

项目简介:jfinal cms 是一个 java 开发的功能强大的信息咨询网站,采用了简洁强大的 JFinal 作为 web 框架,模板引擎用的是 beetl,数据库用 mysql,前端 bootstrap 框架。 支持 oauth2 认证、帐号注册、密码加密、评论及回复,消息提示,网站访问量统计,文章评论数和浏览量统计,回复管理,支持权限管理。 后台模块包含:栏目管理,栏目公告,栏目滚动图片,文章管理,回复管理,意见反馈,我的相册,相册管理,图片管理,专辑管理、视频管理、缓存更新,友情链接,访问统计,联系人管理,模板管理,组织机构管理,用户管理,角色管理,菜单管理,数据字典管理。

项目地址:Fly的狐狸/jfinal_cms - 码云


3. 项目名称:基于 Java 的在线教育平台

项目简介:通过使用本项目的源代码可以轻松搭建在线教育平台。其主要的技术框架如下所示:

  • 核心框架:Spring Framework;
  • 视图框架:Spring MVC;
  • 持久层框架:MyBatis 3;
  • JS 框架:jQuery;
  • 富文本:kindeditor。

项目地址:因酷/inxedu - 码云


4. 项目名称:客户支持服务平台 UCKeFu

项目简介:本项目是一个多渠道融合的客户支持服务平台,包含 WebIM,微信,电话,邮件,短信等接入渠道,最新的2.2.0版本已支持智能机器人。

项目地址:优客服-多渠道客服系统/UCKeFu - 码云


码云 Gitee.com
发现更多优质开源项目:最新推荐 - 码云 - 开源中国
团队流畅、高效开发:码云企业版 - 码云 - 开源中国