The Java open source libraries that are worth trying on github

Source: Internet
Author: User

Strman-java-String processing Strmen-java is a string processing tool that you can introduce to your project through MAVEN. In addition to the string handling of Java itself, we can use the StringUtils in Apache Common langs to simplify string manipulation. But these two approaches are still somewhat inadequate for the most easily encountered string handling in our daily programming. Strmen-java provides us with a very complete and powerful solution that can be used to solve almost any string processing scenario.   Here are a few common use examples of Strman-java:  stitching strings  import static Strman. Strman.appendappend ("F", "O", "O", "B", "A", "R")//result = "Foobar" gets the character of a position  import static Strman. Strman.atat ("Foobar", 0)//result = Optional ("F") takes out the contents of a two-character  import static Strman. Strman.betweenbetween ("[Abc][def]", "[", "]") Base64 encoded  import static Strman. Strman.base64encodebase64encode ("Strman")//result = "C3rybwfu" Tablesaw-"big data" talking about big data, we think of always hodoop plus cluster deployment, But is there a more compact way to make it easy for us to implement big data on a single machine? Tablesaw provides us with a high-performance, memory-based big data solution. You can use its API to easily import data from an RDBMS or CSV, and then use the interface provided by Tablesaw to sort, filter, group, Map/reduce, and more.   According to the documentation, you will be able to load a data file of 500,000,000 rows (4 fields per row) into 10G of memory within 22 seconds. And the query speed is to achieve only need 1-2ms.  dex-Data Visualization Dex is a data visualization solution that supports over 50 different types of views, including world maps, timeline,3d graphics, and more. Dex was written using Java/javafx, and you'll be able toIt's easy to integrate it with your other programs (such as Big data analysis programs written in R) to create beautiful charts.    bootique-MicroServices Framework when you used to develop Web applications, we always had to build an application, then package it (War), and then deploy it to a web container such as Tomcat. But with the popularity of microservices architectures, we need a more lightweight, non-container development framework. Springboot is what I have been using, and Bootique is undoubtedly another excellent choice. It allows you to plug in modules with different functions to support functions such as rest Service,web app, scheduled scheduling, data migration, and more. The program used to write it will be packaged as a jar file, and you can start it more flexibly with the command line.   In many ways, it's much like Springboot, freeing you from Java applications from the web containers it relies on, and programmers can have more autonomy to write the main () function of the master program. Even if you don't add any extra modules, you can use BOOTQIUE to implement a Java application directly.  gumshoe-java Program Detection Gumshoe is a Java program Detection tool that can help you track the load and performance of your program. It can help you to analyze the usage of resources by measuring TCP,UDP,CPU usage information, and it also provides the analysis function of the call stack in Java program, such as the number of times, frequency and other information of a method call.   leakcanary-memory leaks monitoring memory leaks has always been a problem for Java programmers, because it is difficult to detect memory leaks in your development phase, and once in production, it can have serious consequences. Leakcanary is a memory leak checking tool that simply joins Leakcanary as follows, and it monitors your app all the way and warns you when a memory leak occurs. Leakcanary supports both Android and Java, and the following examples are used in Android apps.  public class Exampleapplication extends application {   @Override public void OnCreate () {  & nbsp Super.oncreate ();    Leakcanary.install (this); }} awesome-javLarge collection of A-java resources Awesome-java got 7,490 star, and the authors sorted the most common third-party libraries in Java into a list. Contains Ancients (old, but often used), Bean mapping,build,bytecode manipulation,code analysis,command-line Argument parsers, Configuration,continuous integration,csv,database et cetera, it's a jiava. Third-party library, if you are unsure of which library to use in your project, or if you want to select several libraries to compare, Can be consulted on the Awesome-java.   99-problems-Learning Java899-problems is an interesting GitHub project that raises 99 questions for three different languages, Java 8,scala and Haskell, respectively. Allows you to provide an optimal solution by programming in a specific language.   These problems are divided into different difficulty levels, denoted by *, an asterisk to resolve in 15 minutes, 2 asterisks may take 30-69 minutes, and the hardest 3 asterisks, it will take longer (90 minutes or so), if you can use the JAVA8 features within a limited time to solve all problems, That means your mastery of JAVA8 is very strong. It doesn't matter if you can't solve all the problems, you can look at the code examples provided by the author, which is a good way to learn JAVA8.  chronicle Map-efficient key-value pair storage chronicle map is a memory-based key-value pair storage scheme. It is known for its low-latency, high-concurrency features and is used in trading and financial systems. In addition, he supports the ability to persist to disk, as well as multi-key value queries.   Below is an official document for a description of the chronicle map from the Java perspective:  from java Perspective, Chroniclemap is a concurrentmap Implementation which stores the entries off-heap, serializing/deserializing key and Value objects To/from off-heap memory transparently. Chronicle Map Supports key and ValuE Objects caching/reusing for making zero allocations (garbage) on queries. Flyweight values for eliminating serialization/deserialization cost and allowing direct read/write access to Off-heap memo Ry. ND4J-Scientific Computing nd4j is an open-source numerical extension that brings many of the features of the famous NumPy library in Python to Java. ND4J can be used to store and manipulate large multidimensional matrices. It is very fast to compute and process, but it consumes little memory, and programmers can easily use it to interface with other Java or Scala libraries.  nd4j mainly includes: a powerful n-dimensional array object array, more mature function library, practical linear algebra, Fourier transform and random number generation function. It can be used in combination with tools such as Hadoop or spark.   automon-java monitoring Automon is a very flexible Java monitoring tool that combines AOP (AspectJ) with the features of the JDK and other dependent libraries to monitor your Java code declaratively. It can be used in conjunction with Jamon,javasimon,yammer METRICS,STATSD and logging libraries such as perf4j,log4j,sl4j.  automon is most commonly used to track information such as the length of calls to Java methods, the number of exceptions, and to display monitoring results in the tool of your choice. It does not perform any monitoring actions on its own, but it plays a role as a middleman between what I should monitor and how I monitor. It is also very simple to install and can be used simply by configuration.   swiss Java Knife-java toolset SJK (Java Swiss Army knife) is a toolset for JVM monitoring, troubleshooting, and tuning. It's a command-line tool, but it's very handy, and you can use it to query CPU usage, GC real-time information, and basic tuning preferences for threads in the JVM. You can also combine Mbean to export all the information you need in JSON format.    above is just the tip of some of the best open source libraries in GitHub, and as a modern Java programmer, you need to be good at discovering and using the best open source libraries In addition to the excellent programming capabilities that will make you a step further. If you have a good j, too.Ava Open Source Library recommendation, please leave a comment below, I will add this list, so that more Java programmers can benefit from it.
Original link: http://www.jianshu.com/p/ad40e6dd3789


From for notes (Wiz)

The Java open source libraries that are worth trying on github

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.