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.