Heim > Java > javaLernprogramm > Hauptteil

Ausführliche Erklärung der Java-Open-Source-Bibliotheken auf GitHub (Bild)

黄舟
Freigeben: 2017-03-25 10:58:25
Original
1711 Leute haben es durchsucht

Als Programmierer verwenden Sie fast täglich die berühmten Java-Bibliotheken von Drittanbietern auf GitHub, wie z. B. Apache Commons, Spring, Hibernate usw. Darüber hinaus können Sie auch fork oder Star einige andere Open-Source-Bibliotheken verwenden, aber es gibt so viele Bibliotheken auf GitHub, dass es für eine Einzelperson schwierig ist, Zeit zu haben, diese neuen Bibliotheken zu entdecken und zu verstehen Es kommen ständig neue hinzu und sie können Ihnen oft in einigen neuen Bereichen weiterhelfen.

Ich habe JAVA zum Schreiben von Back-End-Anwendungen verwendet und verfolge normalerweise die Blogs einiger ausländischer Technologieexperten (von Technologieblogs wie Tapki, DZone, Google Developer usw.) und bin daher auf einige aufmerksam geworden neue und interessanteJava Open Source-Bibliotheken, einige davon können Ihnen bei Ihren Projekten helfen, andere in Form von Spielen, die Ihnen dabei helfen, Ihr Java-Programmierniveau zu verbessern, und andere können Ihnen helfen Identifizieren Sie JAVA-Programme FAQ in . Unter den 330.000 JAVA-Open-Source-Bibliotheken habe ich die folgenden Java-Open-Source-Bibliotheken zusammengestellt, die einen Versuch wert sein könnten.

Strman-java – StringVerarbeitung

Strmen-java ist ein String-Verarbeitungstool, das Sie über Maven in das Projekt einführen können. Zusätzlich zu Javas eigenen String-Verarbeitungsmethoden können wir auch die StringUtils in Apache Common Langs verwenden, um String-Operationen zu vereinfachen. Allerdings sind die beiden oben genannten Methoden für die String-Verarbeitung, die wir am wahrscheinlichsten in unserer täglichen Programmierung antreffen, immer noch etwas unzureichend. Strmen-Java bietet uns eine sehr vollständige und leistungsstarke Lösung, mit der nahezu alle String-Verarbeitungsszenarien gelöst werden können.

Im Folgenden sind einige häufige Anwendungsbeispiele von Strman-Java aufgeführt:

Strings zusammenfügen

import static strman.Strman.append
append("f", "o", "o", "b", "a", "r")
// result => "foobar"
Nach dem Login kopieren

Zeichen an einer bestimmten Position abrufen

import static strman.Strman.at
at("foobar", 0)
// result => Optional("f")
Nach dem Login kopieren

Holen Sie sich den Inhalt, der in bestimmten zwei Zeichen enthalten ist

import static strman.Strman.between
between("[abc][def]", "[", "]")
Nach dem Login kopieren

Base64-Kodierung

import static strman.Strman.base64Encode
base64Encode("strman")
// result => "c3RybWFu"
Nach dem Login kopieren

Tablesaw – „Big Data“

Wenn es um Big Data geht, was wir Stellen Sie sich vor, es ist immer Hodoop plus Cluster-Bereitstellung, aber gibt es eine kleinere Möglichkeit, die es uns ermöglicht, die Funktionen von Big Data einfach auf einer einzelnen Maschine zu implementieren? Tablesaw bietet uns eine leistungsstarke speicherbasierte Big-Data-Lösung. Sie können die API verwenden, um Daten einfach aus RDBMS oder CSV zu importieren und dann die von Tablesaw bereitgestellten Schnittstellen zum Sortieren, Filtern, Gruppieren, Zuordnen/Reduzieren und für andere Vorgänge an den Daten zu verwenden.

Gemäß den Anweisungen im Dokument können Sie eine Datendatei mit 500.000.000 Zeilen (4 Felder pro Zeile) in 22 Sekunden in 10 GB Speicher laden. Die Abfragegeschwindigkeit beträgt nur 1-2ms.

Dex – Datenvisualisierung

Dex ist eine Datenvisualisierungslösung, die über 50 verschiedene Ansichtstypen unterstützt, darunter Weltkarten, Zeitleisten, 3D-Grafiken und mehr. Dex ist in Java/JavaFX geschrieben und Sie können es problemlos in Ihre anderen Programme (z. B. in der R-Sprache geschriebene Big-Data-Analyseprogramme) integrieren, um schöne Diagramme zu erstellen.

Bootique – Microservice Framework

Bei der Entwicklung von Webanwendungen mussten wir in der Vergangenheit immer zuerst eine Anwendung erstellen Dann verpacken Sie es (war) und stellen Sie es in einem Webcontainer wie Tomcat bereit. Aber mit der Popularität der Microservices-Architektur benötigen wir ein leichteres, nicht-Container-Entwicklungsframework. SpringBoot ist das, was ich verwendet habe, und Bootique ist definitiv eine weitere ausgezeichnete Wahl. Sie können Module mit unterschiedlichen Funktionen einfügen, um Funktionen wie REST-Service, Web-App, geplante Planung, Datenmigration usw. zu unterstützen. Damit geschriebene Programme werden als Jar-Datei gepackt und können flexibler über die Befehlszeile gestartet werden.

Aus vielerlei Hinsicht ist es SpringBoot sehr ähnlich und befreit Sie von der Java-Anwendung vom Web-Container, von dem sie abhängig ist. Programmierer können mehr Autonomie beim Schreiben des Hauptprogramms habenmain(). Funktion. Auch wenn Sie keine zusätzlichen Module hinzufügen, können Sie Bootqiue direkt zum Implementieren einer Java-Anwendung verwenden.

Gumshoe – Java-Programmerkennung

Gumshoe ist ein JAVA-Programmerkennungstool, mit dem Sie die Auslastung und Leistung Ihres Programms verfolgen können. Es kann Ihnen bei der Analyse der Ressourcennutzung helfen, indem es TCP, UDP, CPU-Auslastung und andere Informationen misst. Gleichzeitig bietet es auch die Analysefunktion des Aufrufstapels in Java-Programmen, z. B. die Bereitstellung der Anzahl und Häufigkeit von Aufrufen an einen bestimmten Ort Verfahren.

LeakCanary – 内存泄漏监控

内存泄漏一直是令Java程序员苦恼的问题,因为在你开发阶段很难察觉内存泄漏问题,而一旦到了生产环境,则可能因为它而造成严重的后果。LeakCanary是一个内存泄漏检查工具,只需要像下面这样简单加入LeakCanary,它便能全程监控你的应用,并在出现内存泄漏时给你发出警告。LeakCanary同时支持Android和Java,下面是在Android应用中使用的例子。

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    LeakCanary.install(this);
  }
}
Nach dem Login kopieren

awesome-java – JAVA资源大集合

Awesome-java得到了7490个Star,作者将JAVA中那些最常用的第三方库按照分类整理成了一个列表。包含Ancients(古老,但常用的),Bean Mapping,Build,Bytecode Manipulation,Code Analysis,Command-line Argument Parsers,Configuration,Continuous Integration,CSV,Database等等,简直是一本jiava第三方库大全,如果你对项目中应该使用哪一个库不确定,或希望选择几个库来做比较,都可以到awesome-java上进行参考。

99-Problems – 学习JAVA8

99-Problems是一个很有意思的GitHub项目,它对三种不同的语言Java 8,Scala和Haskell分别提出了99个问题,让你通过使用特定语言编程来提供一个最优的解决方案。

这些问题分为不同的难度等级,用*表示,一个星号表示在15分钟内解决,2个星号可能需要30-69分钟,而最难的3个星号,则需要更长时间(90分钟左右),如果你能在限定的时间内使用JAVA8的特性解决所有的问题,那说明你对JAVA8的掌握程度已经非常牢固了。如果你没办法解决所有问题也没关系,你可以查看作者提供的代码示例,这也是你学习JAVA8很好的途径。

Chronicle Map – 高效键值对存储

Chronicle Map是一个基于内存的键值对存储方案。以其低延迟、高并发的特性著称,并在交易及金融系统中得到应用。另外,他还支持持久化到磁盘,以及多键值查询的功能。

下面是官方文档中一段对于从JAVA角度描述Chronicle Map的说明:

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 memory.

ND4J – 科学计算

ND4J是一个开源的数值计算扩展 ,它将 Python中著名的numpy库的很多特性带到了Java中。ND4J可以用来存储和处理大型多维矩阵。它的计算和处理速度很快,但占用的内存却很少,程序员们可以很容易地使用它来与其他JAVA或Scala库作接口。

ND4J主要包括了:一个强大的N维数组对象Array,比较成熟的函数库;实用的线性代数、傅里叶变换和随机数生成函数等。它可以与Hadoop或者Spark这样的工具整合使用。

Automon – Java监控

Automon是一个非常灵活的JAVA监控工具,它结合了AOP(AspectJ)以及JDK和其他依赖库的功能特性,以声明方式去监控你的Java代码。它可以与JAMon,JavaSimon,Yammer Metrics,StatsD和像 perf4j,log4j,sl4j这样的logging库结合使用。

Automon最常被用于跟踪Java方法的调用时长,异常次数等信息,并在你选择的工具中显示监控结果。它并不自己进行任何监控动作,但却很好地扮演了“我应该监控什么”以及“我如何进行监控”这两者之间中间人的角色。而且它的安装也非常简单,只需要简单进行配置便可使用。

Swiss Java Knife – JAVA Toolset

SJK (Java Swiss Army Knife) ist ein Toolset für JVM-Überwachung, Debugging und Tuning. Es handelt sich um ein Befehlszeilentool, das jedoch sehr benutzerfreundlich ist. Sie können damit die CPU-Auslastung von Threads in der JVM, GC-Echtzeitinformationen und grundlegende Optimierungsoptionen abfragen. Sie können es auch mit MBean kombinieren, um alle benötigten Informationen im JSON-Format zu exportieren.

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der Java-Open-Source-Bibliotheken auf GitHub (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!