Today we will compile a large batch of Java sample codes and capability demonstration materials full of useful information.
GitHub is a great treasure house for program development. Some materials are worth forking, and some can help us improve our own code or learn programming skills. In any case, it is almost impossible for us to avoid GitHub during development work.
Below, we will share various interesting and practical Java libraries. Please feel free to use whatever you need~
Bootique is a minimalist technology for building container-free Java applications. This project allows you to create REST services, web applications, tasks, database migrations, etc., and everything is based on module implementation. In addition, you can also use it as a simple command.
The goal of this project is to liberate applications from Java containers and allow developers to return to the main() method. It also contains some built-in commands, so even if you don't have a lot of code to deal with or you haven't imported any modules into your application, you can still use Bootique to execute it.
99-problems, you can understand its functions just by looking at the name. Obviously, its role is to help everyone hone specific skills in logic programming. You can choose to use Java 8, Scala or Haskell to solve the problem and finally find the most elegant solution.
If you like solving problems, there are also a variety of different levels of difficulty for you to choose from. In addition, if you solve all 99 puzzles, you can further challenge the Java Deathmatch. If you're stuck, click here to view the puzzle - but please note, it's better to think about it carefully before reading it.
Strman-java library is a set of Java 8 libraries specifically used to process strings. Since it is available for Maven, you only need to add dependencies for the selected build tool to use it.
If you have used Kik and heard about the leftPad problem it encountered, then Strman may be a better choice - it can return a new string of a specific length and automatically fill in the beginning. In addition, there is a comprehensive list of functions, including appending strings to values, extracting characters from a specific directory, using strings to return arrays between start and end, and more.
If you want to interact with data in a cool way, then Dex is definitely not to be missed. It helps us extract, transform and visualize data, along with predictive capabilities. You can publish the visualization results as 3D or other HTML variable forms.
Dex allows us to generate over 50 different visualization modes, including world maps, engagement timelines, network usage, and more. You can also use R to combine it with its running examples to build a complex statistical analysis and predictive analysis system.
Who will win, the Democrats or the Republicans? Use a chord diagram to see what's going on.
Tablesaw is a set of in-memory data tables, which contains a variety of data tools and column-oriented storage formats. The design idea is that no one will perform distributed analysis for small tasks, but everyone can interact with 2 million row-level tables on a single server.
You can use Tablesaw to enforce rules to check display layout, data priority, or provide specific users with extended control over data display and interaction. With its help, we can import data using RDBMS and CSV files, add and delete columns, perform mapping and reduction operations or save tables in compressed columnar storage format.
Chronicle Map is an in-memory key-value storage solution, its design goal is to achieve low latency and / or multi-process applications such as trading and financial markets applications. This library is mainly targeted at medium read and write query latency scenarios, allowing users to write appropriate query mechanisms based on the number of hardware execution threads in the server.
Its main uses include replacing slow key-value storage solutions in a single server (such as Redis), or replacing similar JVM-oriented solutions to achieve speed improvements. You can also move part of the application state out of the Java heap to reduce heap size and GC pressure.
Gumshoeallows everyone to monitor their application performance statistics. With it, we can drill down to specific lines of code and understand statistics related to stack calls and individual stack frames to accurately analyze resource usage (such as TCP, UDP, file system or processor usage).
This library can capture, filter and visualize statistical data when it is generated, so as to realize data conclusion review more intuitively. For more specific use, you can also filter stack frames during data capture and/or visualization and change them on the fly.
SoundSea allows everyone to search and download songs. It has built-in metadata and album information. When you are looking for a specific song, SoundSea will find the relevant metadata and album information on iTunes and display the relevant results. If more than one song matches, you can find the entry you need.
The songs themselves are downloaded from Pleer.com, and you can filter them based on high quality, low quality or VBR bit rate. This is also a mini player that allows us to listen to songs directly without going through other music libraries.
Search and download
LeakCanary is a set of open source libraries , designed to help us solve memory leak problems. You can use it to check memory leaks in Java (and Android). As its GitHub page says, "Thousands of miles away, it collapses in an ant nest."
After setting up LeakCanary, you can use it to automatically check for leaks and provide notifications when problems are found.
ND4J is a set of open source libraries that can introduce a variety of scientific computing tools from the Python community into the JVM. It is designed for production environments, so it runs quickly but does not require high memory capacity. With its help, engineers can easily port algorithms and interfaces to Java and Scala libraries.
The main contribution of this library is to provide a set of general-purpose n-dimensional array objects. Its multi-platform functions include GPU and linear algebra plus signal processing capabilities. It integrates with Hadoop and Spark, and provides an API to simulate Numpy, a popular Python mathematics library.
No matter which monitoring tool you use, Automon can combine it with AOP (AspectJ) to achieve Java code, JDK and dependent library monitoring statements. It can cooperate with other well-known monitoring tools, such as JAMon, JavaSimon, Yammer Metrics and StatsD, etc., and also supports various logging libraries, including perf4j, log4j, sl4j, etc.
Another excellent production monitoring tool is Takipi. It helps you understand when and why your code crashes, view all unexpected conditions and get all the stack, source and status information related to them.
Jvm-tools, or SJK, is a set of tools for JVM troubleshooting, monitoring and configuration . This is a fantastic tool that uses the JVM's standard diagnostic interfaces (such as JMX, JVM attach, and perf counters) while adding more logic to handle a variety of common troubleshooting use cases.
This library allows us to pool the CPU thread usage of the target JVM, while regularly reporting real-time CG information to the console and providing basic sample analysis functions. Here, we can use the command line to perform various basic operations with MBeans, and at the same time dump all MBeans of the target Java process into JSON format.
awesome-java is an excellent collection of Java frameworks, libraries and software. If you're not sure how to choose a specific plan, be sure to refer to this checklist , which even breaks down the items by category.
It also includes some ancient tools that are still in use, including frameworks that simplify mapping, tools that can build application cycles and dependencies, and libraries that handle bytecode programming.
This is of course just the tip of the iceberg on GitHub. There are undoubtedly more projects worthy of everyone's review and use to improve their own code projects. You are also welcome to provide more recommendations in the comments based on your own experience!
The above is the content of 13 Java projects not to be missed. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!