2018 Top100 ranking of Java class libraries, JUnit third Hadoop second

Time like water, over the past year, can be said to be crazy year. SpaceX successfully launched its Falcon Heavy rocket, Apple became the first to break a trillion dollars in market value of listed companies.

2018, in IT circles as well as many events and wedding, SpringBoot 2 release, Java has released two versions of 1011 and, GitHub marry MicroSoft, IBM married RedHat, etc., and in previous years, we analyzed the 2018 ranking Top 100 Java class libraries.

The purpose is to show you the FY 2018 Java class libraries, hope you can give some help and inspiration are using Java. We can not say that the list of libraries are the best, but at least is more popular.

The top 20 most popular Java class libraries

This year, Top 100 Java class libraries ranking has a dramatic change in the top substitutions, before this, JUnit has won a three-time winner. This year, the championship was fasterXML / Jackson occupied. And this library in 2016 ranked No. 14, ranked No. 18 in 2017.

 

2018 Top100 ranking of Java class libraries, JUnit third Hadoop second

 

 

Jackson is a JSON library can easily be converted into JSON Java object model, as well as to convert the Java object model into a string of JSON. In the last year's list, Jackson JSON library is all in the highest ranked.

Jackson rely less jar package, easy to use and performance should be relatively higher, and the Jackson community is relatively active, the speed is faster. It has the following characteristics:

  • Easy to use - jackson API provides a high-level look to simplify common use cases.
  • No need to create a map - API provides a default mapping of most of the target sequence.
  • High performance - Fast, low memory footprint, for large object graph or system.
  • Clean JSON - jackson create a clean and compact JSON result, this way, people are very easy to read.
  • Do not rely - the library does not require any other libraries, in addition to JDK.
  • Open Source - jackson is open source, free to use.

Last year, before taking the top three of the three members of the family JUnit JUnit, JUnit Runner and junit.framework were ranked third this year, fourth and fifth.

It ranked second this year is Apache Hadoop, is a support for data-intensive distributed applications and open-source software framework to Apache 2.0 license issued. It supports applications running on large clusters of commodity hardware build. The core design of Hadoop framework is: HDFS and MapReduce. HDFS provides storage of vast amounts of data, while the data provided MapReduce mass was calculated.

In the library before our top 20, we can find the Eclipse Foundation Jetty, Apache Foundation Shiro, Netty and Google's Guice libraries.

Jetty

Jetty is a pure Java-based web server and Java Servlet container. Although the web server is usually used for people to render the document, but Jetty is usually used for communication between computers and computer software in a larger framework.

Shiro

Apache Shiro is an open source security framework that provides authentication, authorization, cryptography, and session management. Shiro framework intuitive, easy to use, while also providing robust security.

Netty

Netty is a NIO-based client, server-side programming framework, to ensure that you can use Netty quick and easy to develop a network application, for example, achieved a protocol client, the server application. Netty corresponds to simplify and streamline the process of programming the development of network applications, such as: socket service development based on TCP and UDP.

Guice

Guice is a lightweight developed by Google, based on Java5 (mainly using generics and annotations properties) dependency injection framework (IOC). Guice is very small and fast. Guice is type-safe, it is possible to constructors, properties, methods (including the method of any of any parameters, not just the setter method) for injection.

In addition, the list of the top 20, it is worth as well as open-source logging component --ch.qos.logback attention devoted to the code kit --org.openjdk.jmh micro benchmarks,

In addition, we are more familiar with apache's many commonly used libraries, such as apache.commons.lang, org.apache.ibatis, org.apache.maven, org.apache.http.client, apache.commons.lang3 etc. also in the top 20 in the list.

Before being extruded in the Java class library 20

In order to analyze changes in the list, we compared this year's class libraries and library list of 2017 top20. We found that, in addition to reducing the use of JUnit outside, and some libraries ranking in decline, some even in the past twenty being squeezed.

The first reason is last year ranked fourth and fifth place Mockito and slf4j, this year have been mercilessly thrown the top 20, respectively ranked 23 and 25.

Last year we focused on praise, ranked No. 6, to help write software testing framework for the Java language --Hamcrest plunged to 37th this year.

Later, those who concern

We see in this year's results the most important thing is that everything can change. The library at the bottom of the list may be among the best in the coming year. This is why we view the chart in 2018 in some of the less popular library, and tracking them in 2019, such as:

#85 org.objectweb.asm – A simple API for decomposing, modifying, and recomposing binary Java classes
#86 com.google.common.primitives – Google Guava Primitive Types
#87 com.datastax.driver – DataStax Java Driver for Apache Cassandra
#88 org.json – The data interchange format
#89 org.apache.commons.math3 – The Apache Commons Mathematics Library
#90 com.netflix.hystrix – A latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries.

Those contributions larger organizations

Each year we will extract the top Java library from GitHub, and then start processing the data. Due to the need to distinguish between different files under a folder owner, so most of the work of this process is done by hand. This is why there are many com.google.common libraries, and so on org.springframework and org.apache in our list.

This year, we decided to top Java library for more extensive research to see who is the top "owner." We merged org.eclipse.XX, org.codehaus.YY, io.nedy.ZZ and similar library located under the same organization, and then we put together this list of the following:

2018 Top100 ranking of Java class libraries, JUnit third Hadoop second

 

 

Topping the list is that we are all familiar with, but also the first 20 apche Foundation list of frequently occurring.

Second: springframework

Third: google

Fourth: junit

Fifth: eclipse

This list this year, it is worth noting that there is a contribution from China's organization of the total number of libraries into the top 20, that is, the above figure ranked 15th in Alibaba.

In the Top 100 Java class libraries, com.alibaba.otter ranked 85th. otter incremental database is based on a log analysis, quasi-real-time synchronization to the present room or remote room mysql / oracle database a distributed database synchronization system.

As an Internet company Alibaba, in the past few years he has made many outstanding contributions in the field of open source. In recent years, Alibaba donated several items to the heavyweight open source Apache Foundation. As JStorm, RocketMQ, Dubbo, Weex, I believe these projects will grow at a more robust nourish the open source community!

Guess you like

Origin www.cnblogs.com/CQqf2019/p/11224441.html