Many developers will use the Star function when they see projects they are interested in. It can be said that the number of Star represents the popularity of open source projects to some extent. In this article, 15 open source projects with the highest number of Stars in the Java language are sorted out. These projects have more than 15,000 stars on GitHub, ranking as follows:

Java implementation of Rx RxJava

star:26782; fork:4718

The Java version of the.NET responsive programming framework Rx is an open source implementation with Groovy, Clojure, Scala and JRuby versions implemented.

Distributed search engine ElasticSearch

star:24646; fork:8723

Elasticsearch is a distributed RESTful search and data analysis engine capable of addressing a growing number of use cases. At the heart of the Elastic Stack, it stores your data centrally, helping you find what you expect and what you don’t expect. This real-time distributed search analytics engine allows you to explore your data at a speed and scale never before possible.

        

REST client Retrofit

star:23443; fork:4731

Retrofit is a type-safe REST client for the Android platform.

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

GitHubService service = restAdapter.create(GitHubService.class);Copy the code

HTTP+SPDY client development package OKHTTP

star:21981; fork:5311

Okhttp is a Java HTTP+SPDY client development package that also supports 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();
      }
    }Copy the code

Java Design patterns Java-design-Patterns

star:21456; fork:7162

Design patterns are best practices for programmers to solve common problems when designing applications or systems. Reusing design patterns helps prevent subtle problems that can cause major problems, and makes the code of programmers and architects familiar with the patterns more readable.

Google’s common Java library, Guava

star:18414; fork:4327

Guava, which means pomegranate in Chinese, is an open source project of Google that contains many of Google’s core Java libraries.

Android annotation tool ButterKnife

star:17845; fork:3662

Butter Knife is an Android view field and method binding that uses annotation processing to generate boilerplate code.

Main features:

  • Using @findView in the field eliminates the findViewById call

  • Use @findViews to group multiple views in a list

  • Eliminate anonymous inner-classes for listeners through annotation methods

Android chart library MPAndroidChart

star:17758; fork:5133

MPAndroidChart is an open source chart library for Android. Line and pie charts are available, with selection, zooming, and drag and drop support.

Android Image loading and caching library Glide

star:17418; fork:3520

Glide is an Image loading and caching library for Android designed for smooth scrolling of image lists.

Android/Java Memory leak detection framework LeakCanary

star:16531; fork:2761

LeakCanary is an Android and Java memory leak detection framework.

J2EE framework Spring

star:15850; fork:11326

The Spring Framework is an open source Java/Java EE full-stack application Framework, distributed under the Apache license, also available. NET platform port. The framework is based on the code in the Expert One-on-One Java EE Design and Development (ISBN 0-7645-4385-7), originally developed by Rod Johnson and Juergen Hoeller, among others. The Spring Framework provides an easy way to develop without the numerous property files and helper classes that can clutter the underlying code.

Android open source framework EventBus Android

star:15733; fork:3752

If you have studied design patterns, you will use observer patterns when you want to notify other components of something happening. Well, with this design pattern in mind, let’s take a look at EventBus, the awesome Android open source framework. It replaces Intent, Handler, and BroadCast to transmit messages between fragments, activities, services, and threads. Its greatest strengths are low overhead, simple code, and decoupled code.

Android-Universal-Image-Loader

star:15596; fork:6455

The purpose of Android-Universal Image-Loader (Android) is to realize asynchronous network Image loading, supporting multi-thread asynchronous loading.

Spring Boot 

star:15357; fork:13367

The Spring Boot project aims to simplify the creation of production-level Spring applications and services. You can use it to select different Spring platforms. Standalone Java and Web applications can be created, and command line tools are provided to allow ‘Spring scripts’.

The following figure shows Spring Boot’s position in the Spring ecosystem:

Mobile application Animation Effects Framework Lottie

star:15094; fork:2166

Lottie is an open source tool developed by Airbnb that animates native apps. Lottie is currently available in iOS, Android, and React Native versions that render After Effects in real time.

Bar code processing library ZXing

star:15003; fork:6686

ZXing is an open source Java class library for parsing 1D/2D barcodes in a variety of formats. The goal is to be able to decode THE 1D barcode of QR code, Data Matrix and UPC. It provides clients on a variety of platforms including J2ME, J2SE and Android.