From 02ed5b2eb134fed86c671602417613f8ae7fb737 Mon Sep 17 00:00:00 2001 From: "Marco, Sanfilippo Frittola" Date: Tue, 29 Aug 2023 13:35:44 +0100 Subject: [PATCH] Add back to top in Java_Resources.md --- java/Java_Resources.md | 118 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 113 insertions(+), 5 deletions(-) diff --git a/java/Java_Resources.md b/java/Java_Resources.md index 95b06c51..60799896 100644 --- a/java/Java_Resources.md +++ b/java/Java_Resources.md @@ -63,6 +63,8 @@ category: Languages - [Contributing](#contributing) +[⬆ Back to Top](#table-of-contents) + ### Build Tool *Tools which handle the buildcycle of an application.* @@ -71,6 +73,8 @@ category: Languages * [Gradle](http://www.gradle.org/) - Incremental builds which are programmed via Groovy instead of declaring XML. Works well with Maven's dependency management and treats Ant scripts as first-class citizens. +[⬆ Back to Top](#table-of-contents) + ### Bytecode Manipulation *Libraries to manipulate Java bytecode programmatically.* @@ -80,6 +84,8 @@ category: Languages * [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode. +[⬆ Back to Top](#table-of-contents) + ### Cluster Management *Frameworks which can dynamically manage applications inside of a cluster.* @@ -88,6 +94,8 @@ category: Languages * [Singularity](http://getsingularity.com/) - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks. +[⬆ Back to Top](#table-of-contents) + ### Code Analysis *Tools that provide metrics and quality measurements.* @@ -99,6 +107,8 @@ category: Languages * [SonarQube](http://www.sonarqube.org/) - Integrates other analysis components via plugins and provides an overview of the metrics over time. +[⬆ Back to Top](#table-of-contents) + ### Compiler-compiler *Frameworks that help to create parsers, interpreters or compilers.* @@ -107,6 +117,8 @@ category: Languages * [JavaCC](https://javacc.java.net/) - More specific and slightly easier to learn. Has syntactic lookahead. +[⬆ Back to Top](#table-of-contents) + ### Configuration *Libraries that provide external configuration.* @@ -114,6 +126,8 @@ category: Languages * [config](https://github.com/typesafehub/config) - Configuration library for JVM languages. +[⬆ Back to Top](#table-of-contents) + ### Constraint Satisfaction Problem Solver *Libraries that help on implementing optimization and satisfiability problems.* @@ -124,6 +138,8 @@ category: Languages * [Sat4J](http://www.sat4j.org/) - A state-of-the-art SAT solver for boolean and optimization problems in Java. +[⬆ Back to Top](#table-of-contents) + ### Continuous Integration *Tools which support continuously building, testing and releasing applications.* @@ -137,6 +153,8 @@ category: Languages * [Travis](https://travis-ci.org) - Hosted service often used for open source projects. +[⬆ Back to Top](#table-of-contents) + ### CSV *Frameworks and libraries that simplify reading/writing CSV data.* @@ -144,6 +162,8 @@ category: Languages * [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete CSV parsers for Java. Also comes with parsers for TSV and fixed width records. +[⬆ Back to Top](#table-of-contents) + ### Database *Everything which simplifies interactions with the database.* @@ -160,11 +180,15 @@ category: Languages * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java. +[⬆ Back to Top](#table-of-contents) + ### Data structures * [Apache Parquet](https://parquet.incubator.apache.org/) - A columnar storage format based on assembly algorithms from the Dremel paper by Google. +[⬆ Back to Top](#table-of-contents) + ### Date and Time *Libraries related to handling date and time.* @@ -173,6 +197,8 @@ category: Languages * [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library for Java. +[⬆ Back to Top](#table-of-contents) + ### Dependency Injection *Libraries that help to realize the [Inversion of Control](http://en.wikipedia.org/wiki/Inversion_of_control) paradigm.* @@ -182,6 +208,8 @@ category: Languages * [HK2](https://hk2.java.net) - A light-weight and dynamic dependency injection framework. +[⬆ Back to Top](#table-of-contents) + ### Development *Augmentation of the development process at a fundamental level.* @@ -199,6 +227,8 @@ category: Languages * [vert.x](http://vertx.io/) - Polyglot event-driven application framework for the JVM. +[⬆ Back to Top](#table-of-contents) + ### Distributed Applications *Libraries and frameworks for writing distributed and fault-tolerant applications.* @@ -213,6 +243,8 @@ category: Languages * [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +[⬆ Back to Top](#table-of-contents) + ### Distributed Databases *Databases in a distributed system that appear to applications as a single data source.* @@ -222,6 +254,8 @@ category: Languages * [Infinispan](http://infinispan.org/) - Distributed and highly concurrent key/value datastore used for caching. +[⬆ Back to Top](#table-of-contents) + ### Distribution *Tools which handle the distribution of Java applications in native formats.* @@ -235,6 +269,8 @@ category: Languages * [packr](https://github.com/libgdx/packr/) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. +[⬆ Back to Top](#table-of-contents) + ### Document Processing *Libraries that assist with processing office document formats.* @@ -244,6 +280,8 @@ category: Languages * [documents4j](http://documents4j.com) - Java API for document format conversion using third-party converters such as MS Word. +[⬆ Back to Top](#table-of-contents) + ### Functional Programming *Libraries that facilitate functional programming in Java.* @@ -253,6 +291,8 @@ category: Languages * [jOOλ](https://github.com/jOOQ/jOOL) - An extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions. +[⬆ Back to Top](#table-of-contents) + ### Game Development *Frameworks that support the development of games.* @@ -262,6 +302,8 @@ category: Languages * [LWJGL](http://lwjgl.org/) - Robust framework that abstracts libraries like OpenGL/CL/AL. +[⬆ Back to Top](#table-of-contents) + ### GUI *Libraries to create modern graphical user interfaces.* @@ -270,6 +312,8 @@ category: Languages * [Scene Builder](http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html) - Visual layout tool for JavaFX applications. +[⬆ Back to Top](#table-of-contents) + ### High Performance *Everything about high performance computation, from collections to specific libraries.* @@ -284,6 +328,8 @@ category: Languages * [Trove](http://trove.starlight-systems.com/) - Primitive collections. +[⬆ Back to Top](#table-of-contents) + ### IDE *Integrated development environments that try to simplify several aspects of development.* @@ -293,6 +339,8 @@ category: Languages * [NetBeans](https://netbeans.org/) - Provides integration for several Java SE and EE features starting with database access and servers to HTML5 and AngularJS. +[⬆ Back to Top](#table-of-contents) + ### Imagery *Libraries that assist with the creation, evaluation or manipulation of graphical images.* @@ -303,6 +351,8 @@ category: Languages * [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. +[⬆ Back to Top](#table-of-contents) + ### JSON *Libraries that simplify JSON processing.* @@ -313,6 +363,8 @@ category: Languages * [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outpeforms GSON & Jackson's library. +[⬆ Back to Top](#table-of-contents) + ### JVM and JDK *Current implementations of the JVM/JDK.* @@ -321,6 +373,8 @@ category: Languages * [OpenJDK](http://openjdk.java.net/) - Open source implementation. +[⬆ Back to Top](#table-of-contents) + ### Logging *Libraries that log the behavior of an application.* @@ -332,6 +386,8 @@ category: Languages * [SLF4J](http://www.slf4j.org/) - Abstraction layer which is to be used with an implementation. +[⬆ Back to Top](#table-of-contents) + ### Machine Learning *Tools that provide specific statistical algorithms which allow to learn from data.* @@ -344,6 +400,8 @@ category: Languages * [Weka](http://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. +[⬆ Back to Top](#table-of-contents) + ### Messaging *Tools that help on sending messages between clients to ensure protocol independency.* @@ -357,6 +415,8 @@ category: Languages * [Smack](https://github.com/igniterealtime/Smack/) - A cross-platform [XMPP](http://en.wikipedia.org/wiki/XMPP) client library for Java and Android. +[⬆ Back to Top](#table-of-contents) + ### Miscellaneous *Everything else.* @@ -371,6 +431,8 @@ category: Languages * [RoboVM](http://www.robovm.org/) - Commercial framework with a free trial to write native iOS apps in Java. +[⬆ Back to Top](#table-of-contents) + ### Monitoring *Tools that monitor applications in production.* @@ -381,12 +443,16 @@ category: Languages * [JavaMelody](https://github.com/javamelody/javamelody) - Open-source performance monitoring and profiling. +[⬆ Back to Top](#table-of-contents) + ### Native *For working with platform-specific native libraries.* * [JNA](https://github.com/twall/jna) - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. +[⬆ Back to Top](#table-of-contents) + ### Natural Language Processing *Libraries that specialize on processing text.* @@ -397,6 +463,8 @@ category: Languages * [Mallet](http://mallet.cs.umass.edu/) - Statistical natural language processing, document classification, clustering, topic modeling and more. +[⬆ Back to Top](#table-of-contents) + ### Networking *Libraries for network programming.* @@ -408,6 +476,8 @@ category: Languages * [Undertow](http://undertow.io/) - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. +[⬆ Back to Top](#table-of-contents) + ### ORM *APIs which handle the persistence of objects.* @@ -419,6 +489,8 @@ category: Languages * [OrmLite](http://ormlite.com/) - Lightweight ORM package avoiding the complexity and overhead of other ORM products. +[⬆ Back to Top](#table-of-contents) + ### PDF *Everything that helps with the creation of PDF files.* @@ -431,6 +503,8 @@ category: Languages * [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer in pure Java. +[⬆ Back to Top](#table-of-contents) + ### Performance analysis *Tools for performance optimization and dynamic program analysis.* @@ -440,6 +514,8 @@ category: Languages * [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications. +[⬆ Back to Top](#table-of-contents) + ### REST Frameworks *Frameworks specifically for creating RESTful services.* @@ -454,6 +530,8 @@ category: Languages * [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. +[⬆ Back to Top](#table-of-contents) + ### Science *Libraries for scientific computing and analysis.* @@ -461,6 +539,8 @@ category: Languages * [SCaVis](http://jwork.org/scavis/) - Environment for scientific computation, data analysis and data visualization. +[⬆ Back to Top](#table-of-contents) + ### Search *Engines which index documents for search and analysis.* @@ -470,6 +550,8 @@ category: Languages * [Terrier](http://www.terrier.org/) - Highly flexible, efficient, and effective open source search engine, readily deployable on large-scale collections of documents. Terrier implements state-of-the-art indexing and retrieval functionalities, and provides an ideal platform for the rapid development and evaluation of large-scale retrieval applications. +[⬆ Back to Top](#table-of-contents) + ### Security *Libraries that handle security, authentication, authorization or session management.* @@ -482,6 +564,8 @@ category: Languages * [Spring Security](http://projects.spring.io/spring-security/) - Focuses on authentication/authorization and protects against several attack vectors. +[⬆ Back to Top](#table-of-contents) + ### Serialization *Libraries that handle serialization with high efficiency.* @@ -491,6 +575,8 @@ category: Languages * [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. +[⬆ Back to Top](#table-of-contents) + ### Server *Servers which are specifically used to deploy applications.* @@ -503,6 +589,8 @@ category: Languages * [WildFly](http://www.wildfly.org/) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. +[⬆ Back to Top](#table-of-contents) + ### Template Engine *Tools which substitute expressions in a template.* @@ -514,6 +602,8 @@ category: Languages * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. +[⬆ Back to Top](#table-of-contents) + ### Testing *Tools that test from object to interface level including performance and other benchmarks.* @@ -538,6 +628,8 @@ category: Languages * [WireMock](http://wiremock.org/) - Testing library for stubbing and mocking web services. +[⬆ Back to Top](#table-of-contents) + ### Utility *Libraries which provide general utility functions.* @@ -553,6 +645,8 @@ category: Languages * [Protégé](http://protege.stanford.edu/) - Provides an ontology editor and a framework to build knowledge-based systems. +[⬆ Back to Top](#table-of-contents) + ### Web Crawling *Libraries that analyze the content of websites.* @@ -562,6 +656,8 @@ category: Languages * [JSoup](http://jsoup.org/) - Scrapes, parses, manipulates and cleans HTML. +[⬆ Back to Top](#table-of-contents) + ### Web Frameworks *Frameworks that handle the communication between the layers of an web application.* @@ -580,9 +676,13 @@ category: Languages * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. +[⬆ Back to Top](#table-of-contents) + ### Resources -#### Communities +[⬆ Back to Top](#table-of-contents) + +### Communities *Active discussions.* @@ -590,7 +690,9 @@ category: Languages * [stackoverflow](http://stackoverflow.com/questions/tagged/java) - Question/answer platform. * [vJUG](http://virtualjug.com/) - Online Java user group. -#### Influential Books +[⬆ Back to Top](#table-of-contents) + +### Influential Books *Books about Java that had a high impact and are still worth reading.* @@ -599,14 +701,18 @@ category: Languages * [Java 8 in Action](http://www.amazon.com/Java-Action-Lambdas-functional-style-programming/dp/1617291994/) * [Thinking in Java](http://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) -#### Podcasts +[⬆ Back to Top](#table-of-contents) + +### Podcasts *Something to listen to while programming.* * [The Java Posse](http://www.javaposse.com/) (discontinued as of 02/2015) * [The Java Council](http://virtualjug.com/podcast/) -#### Twitter +[⬆ Back to Top](#table-of-contents) + +### Twitter *Active accounts to follow.* @@ -636,7 +742,9 @@ category: Languages * [Tim Boudreau](https://twitter.com/kablosna) - Author and NetBeans guru. * [Trisha Gee](https://twitter.com/trisha_gee) - Java Champion and speaker. -#### Websites +[⬆ Back to Top](#table-of-contents) + +### Websites *Sites to read.*