diff --git a/hello world b/hello world
new file mode 100644
index 00000000..ca5cb81e
--- /dev/null
+++ b/hello world
@@ -0,0 +1,9 @@
+class Test
+{
+ // Your program begins with a call to main().
+ // Prints "Hello World" to the terminal window in Java.
+ public static void main(String args[])
+ {
+ System.out.println("Hello World!");
+ }
+}
diff --git a/helloooo world b/helloooo world
new file mode 100644
index 00000000..1912d379
--- /dev/null
+++ b/helloooo world
@@ -0,0 +1,11 @@
+/* This is a simple Java program.
+FileName : "HelloWorld.java". */
+class HelloWorld
+{
+ // Your program begins with a call to main().
+ // Prints "Hello, World" to the terminal window.
+ public static void main(String args[])
+ {
+ System.out.println("Hello, World");
+ }
+}
diff --git a/helloworlds/1.1-common-frameworks-and-lib/apache-commons-lib/pom.xml b/helloworlds/1.1-common-frameworks-and-lib/apache-commons-lib/pom.xml
index a85170bf..7442636f 100644
--- a/helloworlds/1.1-common-frameworks-and-lib/apache-commons-lib/pom.xml
+++ b/helloworlds/1.1-common-frameworks-and-lib/apache-commons-lib/pom.xml
@@ -27,17 +27,17 @@
com.google.guavaguava
- 18.0
+ 32.0.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7com.goldmansachs
@@ -64,4 +64,4 @@
6.2.0
-
\ No newline at end of file
+
diff --git a/helloworlds/1.1-common-frameworks-and-lib/guava-lib/pom.xml b/helloworlds/1.1-common-frameworks-and-lib/guava-lib/pom.xml
index 8b33dbdc..d5fb8228 100644
--- a/helloworlds/1.1-common-frameworks-and-lib/guava-lib/pom.xml
+++ b/helloworlds/1.1-common-frameworks-and-lib/guava-lib/pom.xml
@@ -27,17 +27,17 @@
com.google.guavaguava
- 18.0
+ 29.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7com.goldmansachs
@@ -64,4 +64,4 @@
6.2.0
-
\ No newline at end of file
+
diff --git a/helloworlds/1.1-common-frameworks-and-lib/quasar/pom.xml b/helloworlds/1.1-common-frameworks-and-lib/quasar/pom.xml
index c0f456dc..82327663 100644
--- a/helloworlds/1.1-common-frameworks-and-lib/quasar/pom.xml
+++ b/helloworlds/1.1-common-frameworks-and-lib/quasar/pom.xml
@@ -27,7 +27,7 @@
junitjunit
- 4.12
+ 4.13.1test
diff --git a/helloworlds/1.1-common-frameworks-and-lib/spring/pom.xml b/helloworlds/1.1-common-frameworks-and-lib/spring/pom.xml
index a5df8164..a1a7d434 100644
--- a/helloworlds/1.1-common-frameworks-and-lib/spring/pom.xml
+++ b/helloworlds/1.1-common-frameworks-and-lib/spring/pom.xml
@@ -27,13 +27,13 @@
org.springframeworkspring-context
- 4.2.2.RELEASE
+ 5.3.19org.springframework.securityspring-security-web
- 4.0.3.RELEASE
+ 5.7.13
diff --git a/helloworlds/1.6-usefull-libraries/collections/apache-commons/pom.xml b/helloworlds/1.6-usefull-libraries/collections/apache-commons/pom.xml
index 38c2ffcb..871f4f70 100644
--- a/helloworlds/1.6-usefull-libraries/collections/apache-commons/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/collections/apache-commons/pom.xml
@@ -27,17 +27,17 @@
com.google.guavaguava
- 18.0
+ 29.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7com.goldmansachs
@@ -64,4 +64,4 @@
6.2.0
-
\ No newline at end of file
+
diff --git a/helloworlds/1.6-usefull-libraries/collections/gs-eclipse/pom.xml b/helloworlds/1.6-usefull-libraries/collections/gs-eclipse/pom.xml
index c4064b0a..196871b7 100644
--- a/helloworlds/1.6-usefull-libraries/collections/gs-eclipse/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/collections/gs-eclipse/pom.xml
@@ -27,17 +27,17 @@
com.google.guavaguava
- 18.0
+ 29.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7com.goldmansachs
@@ -64,4 +64,4 @@
6.2.0
-
\ No newline at end of file
+
diff --git a/helloworlds/1.6-usefull-libraries/collections/guava/pom.xml b/helloworlds/1.6-usefull-libraries/collections/guava/pom.xml
index 2a26110c..e68b4903 100644
--- a/helloworlds/1.6-usefull-libraries/collections/guava/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/collections/guava/pom.xml
@@ -27,17 +27,17 @@
com.google.guavaguava
- 18.0
+ 29.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7com.goldmansachs
@@ -64,4 +64,4 @@
6.2.0
-
\ No newline at end of file
+
diff --git a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger/pom.xml b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger/pom.xml
index a53a87fb..84d69cc4 100644
--- a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger/pom.xml
@@ -49,13 +49,13 @@
org.springframework.securityspring-security-web
- 4.0.3.RELEASE
+ 5.2.10.RELEASEcom.google.guavaguava
- 18.0
+ 29.0-jre
@@ -86,4 +86,4 @@
-
\ No newline at end of file
+
diff --git a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice/pom.xml b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice/pom.xml
index 69bd71a7..94159c31 100644
--- a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice/pom.xml
@@ -33,8 +33,8 @@
com.google.guavaguava
- 18.0
+ 29.0-jre
-
\ No newline at end of file
+
diff --git a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-spring/pom.xml b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-spring/pom.xml
index ed1d7015..c0a976c0 100644
--- a/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-spring/pom.xml
+++ b/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-spring/pom.xml
@@ -33,7 +33,7 @@
org.springframework.securityspring-security-web
- 4.0.3.RELEASE
+ 5.2.10.RELEASE
diff --git a/helloworlds/2.8-natural-language-processing/opennlp/pom.xml b/helloworlds/2.8-natural-language-processing/opennlp/pom.xml
index 321b98db..0860f9be 100644
--- a/helloworlds/2.8-natural-language-processing/opennlp/pom.xml
+++ b/helloworlds/2.8-natural-language-processing/opennlp/pom.xml
@@ -1,7 +1,5 @@
-
+com.github.vedenin0.01
@@ -28,7 +26,7 @@
org.apache.opennlpopennlp-tools
- 1.6.0
+ 1.8.2org.apache.opennlp
@@ -36,4 +34,4 @@
1.6.0
-
+
\ No newline at end of file
diff --git a/helloworlds/2.8-natural-language-processing/stanford-core-nlp/pom.xml b/helloworlds/2.8-natural-language-processing/stanford-core-nlp/pom.xml
index 3d83053d..e3cd0e39 100644
--- a/helloworlds/2.8-natural-language-processing/stanford-core-nlp/pom.xml
+++ b/helloworlds/2.8-natural-language-processing/stanford-core-nlp/pom.xml
@@ -29,12 +29,12 @@
edu.stanford.nlpstanford-corenlp
- 3.6.0
+ 4.4.0edu.stanford.nlpstanford-corenlp
- 3.6.0
+ 4.4.0models
diff --git a/helloworlds/3.7-web-crawling-and-html-parser/Jsoup/pom.xml b/helloworlds/3.7-web-crawling-and-html-parser/Jsoup/pom.xml
index eaa8b992..4162d8ef 100644
--- a/helloworlds/3.7-web-crawling-and-html-parser/Jsoup/pom.xml
+++ b/helloworlds/3.7-web-crawling-and-html-parser/Jsoup/pom.xml
@@ -27,7 +27,7 @@
org.jsoupjsoup
- 1.8.3
+ 1.15.3
\ No newline at end of file
diff --git a/helloworlds/3.8-json/fastjson/pom.xml b/helloworlds/3.8-json/fastjson/pom.xml
index 2582a73c..14600e0d 100644
--- a/helloworlds/3.8-json/fastjson/pom.xml
+++ b/helloworlds/3.8-json/fastjson/pom.xml
@@ -1,7 +1,7 @@
-
+4.0.0fastjsonJson :: fastjson
@@ -12,7 +12,7 @@
com.alibabafastjson
- 1.2.9
+ 1.2.83
\ No newline at end of file
diff --git a/helloworlds/3.8-json/gson/pom.xml b/helloworlds/3.8-json/gson/pom.xml
index 20d5f54b..8ea0cb06 100644
--- a/helloworlds/3.8-json/gson/pom.xml
+++ b/helloworlds/3.8-json/gson/pom.xml
@@ -26,7 +26,7 @@
com.google.code.gsongson
- 2.6.2
+ 2.8.9
\ No newline at end of file
diff --git a/helloworlds/3.8-json/ig_json_parser/pom.xml b/helloworlds/3.8-json/ig_json_parser/pom.xml
index f1abe60a..102fb92a 100644
--- a/helloworlds/3.8-json/ig_json_parser/pom.xml
+++ b/helloworlds/3.8-json/ig_json_parser/pom.xml
@@ -1,7 +1,7 @@
-
+4.0.0ig_json_parserJson :: IQ Json Parser
diff --git a/helloworlds/3.8-json/jackson/pom.xml b/helloworlds/3.8-json/jackson/pom.xml
index 483c1d46..3bf1b7cb 100644
--- a/helloworlds/3.8-json/jackson/pom.xml
+++ b/helloworlds/3.8-json/jackson/pom.xml
@@ -1,28 +1,23 @@
-
+4.0.0jacksonJson :: jacksoncom.github.vedenin0.01
-
-
- 2.7.3
-
-
com.fasterxml.jackson.corejackson-core
- ${jackson.version}
+ [2.10.0.pr1,)com.fasterxml.jackson.corejackson-databind
- ${jackson.version}
+ [2.10.0.pr1,)
\ No newline at end of file
diff --git a/helloworlds/3.8-json/json_schema_validator/pom.xml b/helloworlds/3.8-json/json_schema_validator/pom.xml
index ac9a8f51..57612db5 100644
--- a/helloworlds/3.8-json/json_schema_validator/pom.xml
+++ b/helloworlds/3.8-json/json_schema_validator/pom.xml
@@ -1,28 +1,23 @@
-
+4.0.0json_schema_validatorJson :: Schema Validatorcom.github.vedenin0.01
-
-
- 2.7.3
-
-
com.fasterxml.jackson.corejackson-core
- ${jackson.version}
+ [2.11.1,)com.fasterxml.jackson.corejackson-databind
- ${jackson.version}
+ [2.11.1,)com.github.fge
@@ -30,4 +25,4 @@
2.2.6
-
\ No newline at end of file
+
diff --git a/helloworlds/3.8-json/jsonschema2pojo/pom.xml b/helloworlds/3.8-json/jsonschema2pojo/pom.xml
index 4e06c3a0..f14eabf3 100644
--- a/helloworlds/3.8-json/jsonschema2pojo/pom.xml
+++ b/helloworlds/3.8-json/jsonschema2pojo/pom.xml
@@ -17,7 +17,7 @@
com.google.guavaguava
- 18.0
+ 29.0-jre
@@ -42,4 +42,4 @@
-
\ No newline at end of file
+
diff --git a/helloworlds/3.8-json/logansquare/pom.xml b/helloworlds/3.8-json/logansquare/pom.xml
index a4447e64..d5b17e27 100644
--- a/helloworlds/3.8-json/logansquare/pom.xml
+++ b/helloworlds/3.8-json/logansquare/pom.xml
@@ -1,18 +1,13 @@
-
+4.0.0logansquareJson :: logansquarecom.github.vedenin0.01
-
-
- 2.7.3
-
-
com.bluelinelabs
@@ -32,12 +27,12 @@
com.fasterxml.jackson.corejackson-core
- ${jackson.version}
+ [2.10.0.pr1,)com.fasterxml.jackson.corejackson-databind
- ${jackson.version}
+ [2.10.0.pr1,)
\ No newline at end of file
diff --git a/helloworlds/3.8-json/pom.xml b/helloworlds/3.8-json/pom.xml
index 00cf724d..b50ecd1f 100644
--- a/helloworlds/3.8-json/pom.xml
+++ b/helloworlds/3.8-json/pom.xml
@@ -1,7 +1,7 @@
-
+com.github.vedenin0.01
@@ -17,7 +17,6 @@
json_javajsonschema2pojomoshi
- ig_json_parserjacksonjson_pathjson_schema_validator
diff --git a/helloworlds/4.1-testing/cucumber/pom.xml b/helloworlds/4.1-testing/cucumber/pom.xml
index 2bba3f56..acf1ac29 100644
--- a/helloworlds/4.1-testing/cucumber/pom.xml
+++ b/helloworlds/4.1-testing/cucumber/pom.xml
@@ -10,7 +10,7 @@
1.7
- 4.12
+ 4.13.11.2.43.3
diff --git a/helloworlds/4.1-testing/image-comparison/pom.xml b/helloworlds/4.1-testing/image-comparison/pom.xml
new file mode 100644
index 00000000..1e6707c8
--- /dev/null
+++ b/helloworlds/4.1-testing/image-comparison/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+ 4.1-testing
+ com.github.vedenin
+ 0.01
+
+ 4.0.0
+
+ image-comparison
+
+ This example to using Image-Comparison for testing code.
+
+
+ 3.3
+ 3.1.1
+
+
+
+
+ com.github.romankh3
+ image-comparison
+ ${image.comparison.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven.compiler.version}
+
+ UTF-8
+ ${java.version}
+ ${java.version}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/helloworlds/4.1-testing/image-comparison/src/main/java/com/github/vedenin/imagecomparison/Sample.java b/helloworlds/4.1-testing/image-comparison/src/main/java/com/github/vedenin/imagecomparison/Sample.java
new file mode 100644
index 00000000..c0a154fc
--- /dev/null
+++ b/helloworlds/4.1-testing/image-comparison/src/main/java/com/github/vedenin/imagecomparison/Sample.java
@@ -0,0 +1,72 @@
+package com.github.vedenin.imagecomparison;
+
+
+
+import com.github.romankh3.image.comparison.ImageComparison;
+import com.github.romankh3.image.comparison.ImageComparisonUtil;
+import com.github.romankh3.image.comparison.model.ComparisonResult;
+import com.github.romankh3.image.comparison.model.ComparisonState;
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+/**
+ * Sample of the using Image-Comparison library.
+ */
+public class Sample {
+
+ public static void main(String[] args) throws IOException, URISyntaxException {
+ // load the images to be compared
+ BufferedImage expectedImage = ImageComparisonUtil.readImageFromResources("expected.png");
+ BufferedImage actualImage = ImageComparisonUtil.readImageFromResources("actual.png");
+
+ // where to save the result (leave null if you want to see the result in the UI)
+ File resultDestination = new File("result.png");
+
+ //Create ImageComparison object for it.
+ ImageComparison imageComparison = new ImageComparison(expectedImage, actualImage, resultDestination);
+
+ //Can be used another constructor for it, without destination.
+ new ImageComparison("expected.png", "actual.png");
+ //or
+ new ImageComparison(expectedImage, actualImage);
+
+ //Also can be configured BEFORE comparing next properties:
+
+ //Threshold - it's the max distance between non-equal pixels. By default it's 5.
+ imageComparison.setThreshold(10);
+ imageComparison.getThreshold();
+
+ //RectangleListWidth - Width of the line that is drawn in the rectangle. By default it's 1.
+ imageComparison.setRectangleLineWidth(5);
+ imageComparison.getRectangleLineWidth();
+
+ //Destination. Before comparing also can be added destination file for result image.
+ imageComparison.setDestination(resultDestination);
+ imageComparison.getDestination();
+
+ //MaximalRectangleCount - It means that would get first x biggest rectangles for drawing.
+ // by default all the rectangles would be drawn.
+ imageComparison.setMaximalRectangleCount(10);
+ imageComparison.getMaximalRectangleCount();
+
+ //MinimalRectangleSize - The number of the minimal rectangle size. Count as (width x height).
+ // by default it's 1.
+ imageComparison.setMinimalRectangleSize(100);
+ imageComparison.getMinimalRectangleSize();
+
+ //After configuring the ImageComparison object, can be executed compare() method:
+ ComparisonResult comparisonResult = imageComparison.compareImages();
+
+ //Can be found ComparisonState.
+ ComparisonState comparisonState = comparisonResult.getComparisonState();
+
+ //And Result Image
+ BufferedImage resultImage = comparisonResult.getResult();
+
+ //Image can be saved after comparison, using ImageComparisonUtil.
+ ImageComparisonUtil.saveImage(resultDestination, resultImage);
+ }
+}
diff --git a/helloworlds/4.1-testing/image-comparison/src/main/resources/actual.png b/helloworlds/4.1-testing/image-comparison/src/main/resources/actual.png
new file mode 100644
index 00000000..c6b14aeb
Binary files /dev/null and b/helloworlds/4.1-testing/image-comparison/src/main/resources/actual.png differ
diff --git a/helloworlds/4.1-testing/image-comparison/src/main/resources/expected.png b/helloworlds/4.1-testing/image-comparison/src/main/resources/expected.png
new file mode 100644
index 00000000..8c97865c
Binary files /dev/null and b/helloworlds/4.1-testing/image-comparison/src/main/resources/expected.png differ
diff --git a/helloworlds/4.1-testing/mockito/pom.xml b/helloworlds/4.1-testing/mockito/pom.xml
index a267e5c5..a88da97a 100644
--- a/helloworlds/4.1-testing/mockito/pom.xml
+++ b/helloworlds/4.1-testing/mockito/pom.xml
@@ -15,7 +15,7 @@
1.7
- 4.12
+ 4.13.13.31.9.5
diff --git a/helloworlds/4.1-testing/pom.xml b/helloworlds/4.1-testing/pom.xml
index 99d5376c..c49d65c7 100644
--- a/helloworlds/4.1-testing/pom.xml
+++ b/helloworlds/4.1-testing/pom.xml
@@ -14,5 +14,6 @@
cucumbermockito
+ image-comparison
\ No newline at end of file
diff --git a/helloworlds/5.0-other-examples/pom.xml b/helloworlds/5.0-other-examples/pom.xml
index 172c4d71..e052c59e 100644
--- a/helloworlds/5.0-other-examples/pom.xml
+++ b/helloworlds/5.0-other-examples/pom.xml
@@ -53,17 +53,17 @@
com.google.guavaguava
- 18.0
+ 29.0-jreorg.apache.commonscommons-collections4
- 4.0
+ 4.1commons-iocommons-io
- 2.4
+ 2.7org.apache.commons
diff --git a/helloworlds/contributing.md b/helloworlds/contributing.md
index 3574f08d..9fb0d7f0 100644
--- a/helloworlds/contributing.md
+++ b/helloworlds/contributing.md
@@ -5,3 +5,21 @@ You can see [json sections](https://github.com/Vedenin/useful-java-links/tree/ma
Ideally, if you examples can be build using only maven, and running using only Idea Community or Eclipse.
Thank you for any your suggestions!
+
+ import java.lang.*;
+public class Calulator {
+ double i;
+ double x;
+ void p(){
+ x = Math.sqrt(i);
+ }
+}
+class Demonstration_81{
+ public static void main(String[] args){
+ Calulator a = new Calulator();
+ a.i = 20.0;
+ a.p();
+ System.out.println("Square root of"+a.i+" is "+a.x);
+
+ }
+}
diff --git a/link-rus/readme.md b/link-rus/readme.md
index 9109333a..85154f2f 100644
--- a/link-rus/readme.md
+++ b/link-rus/readme.md
@@ -1,10 +1,10 @@
# Список полезных ссылок для Java программиста
-В данном файле собрано большое количество ссылок по разделам на полезные Java библиотеки и фреймворки и краткое описание, так же указан рейтинг на github (star), лицензия или лицензии под которым выложен код библиотеки и возможно или нет линковать данную библиотеку с коммерческим закрытым ПО (строгость копилефта).
+В данном файле собрано большое количество ссылок по разделам на полезные Java библиотеки и фреймворки и краткое описание, так же указан рейтинг на github (star), лицензия или лицензии под которым выложен код библиотеки и возможно или нет линковать данную библиотеку с коммерческим закрытым ПО (строгость копилефта).
В данный файл включен как перевод [awesome link](https://github.com/akullpp/awesome-java), так и все немобильные проекты github'a c количеством star более 390, более 250 ссылок на русскоязычное видео по разным темам и многое другое. Если хотите посмотреть отдельные файлы, то только проекты github'a [тут](https://github.com/Vedenin/useful-java-links/blob/master/link-rus/github_projects.md), а список видео [здесь](https://github.com/Vedenin/useful-java-links/blob/master/link-rus/video-links.md), но все ссылки можно найти и в этом файле.
-**Обратите внимание:** на проект ["Hello Worlds examples"](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds) - его целью является собирать в одном месте простые примеры использования библиотек и фреймворков для облегчения их изучения и выбора. Буду очень признателен добавлению любых примеров!
+**Обратите внимание:** на проект ["Hello Worlds examples"](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds) - его целью является собирать в одном месте простые примеры использования библиотек и фреймворков для облегчения их изучения и выбора. Буду очень признателен добавлению любых примеров!
Любые дополнения и изменения всячески приветствуются!
@@ -43,8 +43,8 @@
- [8. Машинное обучение и нейроные сети (Machine Learning)](#8-Машинное-обучение-и-нейроные-сети-machine-learning)
- [Semantic Web и Linked Data](#semantic-web-и-linked-data)
- [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver)
- - [Работа с естественными языками (NLP) и распознавние речи](#Работа-с-естественными-языками-nlp-и-распознавние-речи)
-
+ - [Работа с естественными языками (NLP) и распознавание речи](#Работа-с-естественными-языками-nlp-и-распознавание-речи)
+
- [III. Работа с сетью и интеграция](#iii-Работа-с-сетью-и-интеграция)
- [1. Веб сервера и сервера приложений (web server & application server)](#1-Веб-сервера-и-сервера-приложений-web-server--application-server)
- [2. Сеть и сокеты](#2-Сеть-и-сокеты)
@@ -63,7 +63,7 @@
- [15. Работа с нативным API разных ОС](#15-Работа-с-нативным-api-разных-ОС15-native)
- [16. XML и SOAP](#16-xml-и-soup)
- [17. Интеграция с сервисами геопозиционирования](#17-Интеграция-с-сервисами-геопозиционирования)
-
+
- [IV. Тестирование](#iv-Тестирование)
- [1. Тестирование](#1-Тестирование)
- [2. Code Coverage](#2-code-coverage)
@@ -89,18 +89,18 @@
- [4. Фреймворки для создания парсеров, интерпретаторов и компиляторов кода](#4-Фреймворки-для-создания-парсеров-интерпретаторов-и-компиляторов-кода)
- [5. Приложения и готовые продукты написанные на Java](#5-Приложения-и-готовые-продукты-написанные-на-java)
- [6. Игры, написанные Java](#6-Игры-написанные-java)
-
+
- [VII. Прочее](#vii-Прочее)
- [1. Примеры исходного кода на java](#1-Примеры-исходного-кода-на-java)
- [2. Результаты сравнения производительности кода на Java (benchmark)](#2-Результаты-сравнения-производительности-кода-на-java-benchmark)
- [3. Работа с git & github](#3-Работа-с-git--github)
-
+
- [VIII. Resources](#viii-resources)
- [1. Communities](#1-communities)
- [2. Influential Books](#2-influential-books)
- [3. Websites](#3-websites)
-- [IX Видео доклады и лекции о Java](#ix-Видео-доклады-и-лекции-о-java)
-
+- [IX Видео доклады и лекции о Java](#ix-Видео-доклады-и-лекции-о-java)
+
## I. Фреймворки и библиотеки
### 1. Фреймворки и библиотеки общего назначения
@@ -156,6 +156,8 @@
1. [Apache Turbine](http://turbine.apache.org) Turbine это основанный на сервлетах фреймворк, который позволяет Java developers быстро разрабатывать веб-приложения. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache OODT](http://oodt.apache.org) Apache OODT это компонентный веб-фреймворк. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [VRaptor](https://github.com/caelum/vraptor4) VRaptor 4 это производтельный открытый MVC вебфреймворк на основе CDI, github's star - 278. http://www.vraptor.org . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
+1. [CUBA Platform](https://github.com/cuba-platform/cuba) - Высокоуровневая Java платформа с открытым кодом
+для создания корпоративных информационных систем и RIA, на базе Spring, EclipseLink и Vaadin, рейтинг github'а - 215. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
#### Библиотеки для Web разработки
1. [Tobie ua-parser](https://github.com/tobie/ua-parser) много языковое портирование библиотеки для парсенга параметров user agent браузера. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache)/[MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT)/Perl, рейтинг github'а - 1497. 
@@ -268,13 +270,13 @@
*Бибилиотеки и фреймворки, которые реализуют парадигму [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control).*
1. [Spring Framework](https://github.com/spring-projects/spring-framew ork) Spring — наверное, самый распространенный фреймворк Java в мире, который в том числе реализует Dependency Injection. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 5921. 
-1. [Dagger и Dagger2](https://github.com/square/dagger) Быстрый и легковесный фреймворк для реализации dependency injector для Android и Java, работающий во время компиляции, а не во времени выполнения, и не использующий рефлексию. Реализует Java спецификацию JSR-330, описывающую dependency injection. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 3607, на stackoverflow - [800 вопросов](http://stackoverflow.com/questions/tagged/dagger). 
+1. [Dagger и Dagger2](https://github.com/square/dagger) Быстрый и легковесный фреймворк для реализации dependency injector для Android и Java, работающий во время компиляции, а не во времени выполнения, и не использующий рефлексию. Реализует Java спецификацию JSR-330, описывающую dependency injection. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 3607, на stackoverflow - [800 вопросов](http://stackoverflow.com/questions/tagged/dagger). 
1. [Google Guice](https://github.com/google/guice) - Guice (произносится 'juice') это легковесный dependency injection фреймворк для Java 6 и выше, созданный Google. Легкий, но мощный фреймворк, из которого получился Dagger. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache), рейтинг github'а - 1881. 
1. [Apache DeltaSpike](https://deltaspike.apache.org/) - фреймворк расширяющий CDI, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) 
1. [HK2](https://hk2.java.net) - Легкий и динамичный dependency injection фреймворк, [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)/ [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
1. [AspectJ](https://eclipse.org/aspectj/) - Аспектно-ориентированное расширение, легко встраиваемое в существующие приложения, Лицензия: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html)
-#### Работа с консолью и командной строкой
+#### Работа с консолью и командной строкой
1. [jcommander](https://github.com/cbeust/jcommander) Библиотека для парсинга параметров командных строк. http://jcommander.org/ Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 445. 
1. [Jline](https://github.com/jline/jline2) это java библиотека для работы с консолью (ввод, редактирование в emacs и vi режимах), также как библиотеки Readline и Editline, однако при этом так как Jline почти полностью написана на Java является полностью платформонезависимой. Лицензия: [BSD 4](https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29), рейтинг github'а - 396. 
1. [args4j](http://args4j.kohsuke.org/) - Парсер командной строки. Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT)
@@ -318,7 +320,7 @@
1. [Keycloak](http://keycloak.jboss.org/) - Интеграция с SSO и IDM, как для приложений, работающих в браузере, так и для RESTful веб сервисов. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [PicketLink](http://picketlink.org/) - Umbrella проект для обеспечения безопасности и индентификации пользователей, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Santuario](http://santuario.apache.org) Библиотека реализующая XML Digital Signature спецификацию и XML Encryption спецификацию. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-1. [Apache Oltu](https://oltu.apache.org/) Реализация OAuth протокола для Java. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
+1. [Apache Oltu](https://oltu.apache.org/) ( *больше не поддерживается* ) Реализация OAuth протокола для Java. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache Syncope](http://syncope.apache.org) Apache Syncope это открытая система для управления цифровыми идентификторами в enterprise приложениях. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
#### Высокая производительность
@@ -361,7 +363,7 @@
1. [tinylog](http://www.tinylog.org/) - Легкий фреймворк логирования со статическими классами логирования, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-#### Bean Mapping and Validation
+#### Bean Mapping and Validation
*Фреймворки, упрощающие маппинг одних типов данных в другие (или bean validation).*
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
@@ -474,6 +476,7 @@
1. [Apache Derby](https://db.apache.org/derby/) - Apache Derby, это Apache DB подпроект, это open source реляционная база данных, реализованная полностью на . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache Empire-db](http://empire-db.apache.org/) Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache Ignite](http://ignite.apache.org) Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
+1. [Tarantool](https://github.com/tarantool/tarantool) — открытая система управления базой данных с неблокирующим сервером приложений на Lua. База данных обладает высокой скоростью работы по сравнению с традиционными СУБД, обладая теми же свойствами: персистентности, транзакционности ACID, репликации master-slave, master-master. Лицензия: [BSD licenses](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_BSD). 
*Распределенные базы данных.*
@@ -539,7 +542,8 @@
1. [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Добавляет метрики и отказоустойчивые стратегии для наиболее популярных пулов соединией с базами данных, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [LightAdmin](http://lightadmin.org/) - Легко настраиваемя CRUD UI библиотека для быстрой разработки приложений, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Jaybird JCA/JDBC driver](http://www.firebirdsql.org/en/jdbc-driver/) - JCA-JDBC драйвер для Firebird базы данных, [github](https://github.com/FirebirdSQL/jaybird), github's star - 19. Лицензия: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), 
-1. [dbeaver](https://github.com/serge-rider/dbeaver) - Инструмент для доступа к базе данных для разработчиков, SQL программистов, администраторов баз данных и аналитиков . http://dbeaver.jkiss.org. , github's star - 473. Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
+1. [dbeaver](https://github.com/serge-rider/dbeaver) - Инструмент для доступа к базе данных для разработчиков, SQL программистов, администраторов баз данных и аналитиков . http://dbeaver.jkiss.org. , github's star - 473. Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
+1. [tarantool-java](https://github.com/tarantool/tarantool-java) Коннектор для работы по бинарному протоколу с Tarantool. Лицензия: [BSD licenses](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_BSD). 
### 5. Маппинг объектов в базы данных (ORM и т. п.)
@@ -557,13 +561,13 @@
1. [Vibur DBCP](http://www.vibur.org/) - Библиотека реализующая JDBC пул соединений с дополнительными средствами мониторинга производительности, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Ebean](http://ebean-orm.github.io/) - Предоставляет простой и быстрой доступ к данным, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [EclipseLink](https://www.eclipse.org/eclipselink/) - Поддерживает большое количество стандартов ORM: JPA, JAXB, JCA и SDO, Лицензия: [Eclipse Public License v1.0](https://ru.wikipedia.org/wiki/Eclipse_Public_License) и [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses). 
-1. [OrmLite](http://ormlite.com/) - Легковесный пакет избегающий усложнений и перерасхода ресурсов других ORM решений,
+1. [OrmLite](http://ormlite.com/) - Легковесный пакет избегающий усложнений и перерасхода ресурсов других ORM решений,
, Лицензия: [ISC](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC). 
1. [Apache Cayenne](http://cayenne.apache.org/) Простая в использовании Java ORM. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache OpenJPA](http://openjpa.apache.org) Реализация Java Persistence API спецификации. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache MetaModel]( http://metamodel.apache.org) Apache MetaModel это универсальный способ делать запросы и получать данные из различных источнико включая: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM и даже коллекции из обычных Java объектов (POJOs). Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-### 6. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)
+### 6. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Storm](https://github.com/nathanmarz/storm) - распределенная и устойчивая к ошибкам обработка данных в реальном времени: потоковая обработка, непрерывные вычисления, распределенный RPC и другое. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 8636. 
@@ -577,7 +581,7 @@
1. [Suro: Netflix's Data Pipeline](https://github.com/Netflix/suro) — это сервис для сбора, агрегации и управления большим количеством разнообразных событий, включая данные логов. . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 405. 
1. [Apache UIMA](http://uima.apache.org) Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-### 7. Большие данные (big data)
+### 7. Большие данные (big data)
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
#### Фреймворки и библиотеки
@@ -604,7 +608,7 @@
1. [Apache REEF](http://reef.apache.org/) Apache REEF (Retainable Evaluator Execution Framework) это маштабируемый фреймворк, который облегчает разработку Big Data приложений на основе менеджеров ресурсов таких как Apache YARN или Mesos. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Pig](http://pig.apache.org) Apache Pig это платформа для анализа больших наборов данных в Hadoop. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-#### Хранилища, базы данных, Sql-подобные движки, поисковые система для big data
+#### Хранилища, базы данных, Sql-подобные движки, поисковые система для big data
1. [Druid](https://github.com/druid-io/druid) это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 1846. 
1. [Apache Hive](https://github.com/apache/hive) - зеркало Apache Hive. Фреймворк для созданий SQL подобного языка запросов для Hadoop. https://hive.apache.org/ .Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 619. 
1. [Apache Kylin](https://github.com/KylinOLAP/Kylin) это открытая распределенная аналитическая система, которая обеспечивает SQL интерфейс и OLAP отчеты для Hadoop.. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 504. 
@@ -675,12 +679,12 @@
1. [Sat4J](http://www.sat4j.org/) - Наиболее продвинутый SAT решатель для логических (? boolean) и оптимизационых проблем, Лицензия: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) и [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
-#### Работа с естественными языками (NLP) и распознавние речи
+#### Работа с естественными языками (NLP) и распознавание речи
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Stanfordnlp CoreNLP](https://github.com/stanfordnlp/CoreNLP) Stanford CoreNLP: Java библиотека для работы с Stanford NLP (инструментами для анализа и работы с текстом на естественных языках, например английским). [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/stanford-core-nlp). Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 871. 
1. [Apache OpenNLP](https://opennlp.apache.org/) - Набор инструментов для типовых задач таких как tokenization. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/opennlp). Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-1. [LingPipe](http://alias-i.com/lingpipe/) - Набор инструментов для различных видов задач от POS tagging до анализа предложений, Лицензия: [AGPL](https://www.gnu.org/licenses/agpl-3.0.html) и ***платная лицензия, проприетарная***.  ИЛИ 
+1. [LingPipe](http://alias-i.com/lingpipe/) - Набор инструментов для различных видов задач от POS tagging до анализа предложений, Лицензия: [AGPL](https://www.gnu.org/licenses/agpl-3.0.html) и ***платная лицензия, проприетарная***.  ИЛИ 
1. [Mallet](http://mallet.cs.umass.edu/) - Статистическая обработка естественных языков, классификация документов, кластеризация, topic modeling и многое другое, Лицензия: [Eclipse Public License v1.0](https://ru.wikipedia.org/wiki/Eclipse_Public_License). 
1. [Twitter Text Libraries](https://github.com/twitter/twitter-text) - Коллекция библиотек и тестов для парсинга текста твитов(tweet). Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [NLP4J](https://github.com/emorynlp/nlp4j) NLP4J проект (старое название ClearNLP) предоставляет набор NLP инструментов для JVM языков. Этот проект разрабатывается в NLP Research Group из Emory University. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
@@ -688,7 +692,7 @@
1. [Z-MERT](http://cs.jhu.edu/~ozaidan/zmert/) Z-MERT - система машинного перевода. Лицензия: [GNU Lesser General Public License (LGPL)](http://www.gnu.org/licenses/lgpl-3.0.en.html). 
1. [ClearTK](http://cleartk.github.io/cleartk/) - ClearTK - фреймворк для разработки систем machine learning и natural language processing которые реализаует Apache Unstructured Information Management Architecture, github star: 34. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache cTAKES](http://ctakes.apache.org/) - Apache cTAKES™ это NLP система для получения данных из медицинской документации. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-1. [The Stanford Natural Language Processing Group](http://nlp.stanford.edu/software/) - Набор различных NLP инструментов, написанных на Java. Подпроекты: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
+1. [The Stanford Natural Language Processing Group](http://nlp.stanford.edu/software/) - Набор различных NLP инструментов, написанных на Java. Подпроекты: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
[Word Segmenter](http://nlp.stanford.edu/software/segmenter.html),[Classifier](http://nlp.stanford.edu/software/classifier.html),[EnglishTokenizer](http://nlp.stanford.edu/software/tokenizer.html),[TokensRegex](http://nlp.stanford.edu/software/tokensregex.html),[Temporal Tagger](http://nlp.stanford.edu/software/sutime.html),[Pattern-based Information Extraction and Diagnostics](http://nlp.stanford.edu/software/patternslearning.html),[Stanford Relation Extractor](http://nlp.stanford.edu/software/relationExtractor.html). Лицензия: [GNU 2/3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
1. [Apache Tika](http://tika.apache.org) The Apache Tika это набор инструмнтов для получение метаданных и структурированого теста из различных видом документов, используя разные парсеры (Apache cTAKES,OpenNLP и т.п.). Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [CMU Sphinx](http://cmusphinx.sourceforge.net/) - Библиотека для распознавания речи. Лицензия: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
@@ -712,7 +716,7 @@
1. [Apache James](http://james.apache.org) Apache Java Enterprise Mail Server (или Apache James) это 100% чистый Java SMTP и POP3 постовый сервер и NNTP News сервер. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-### 2. Сеть и сокеты
+### 2. Сеть и сокеты
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Netty](https://github.com/netty/netty) низкоуровневый асинхроно-событийный фреймворк для быстрого создания высокопроизводительных клиент-серверных соединений. Более удобный аналог ассинхронным сокетам из модуля java.nio из JDK. . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 4847. 
@@ -723,7 +727,7 @@
1. [EsotericSoftware Kryonet](https://github.com/EsotericSoftware/kryonet) TCP/UDP клиентская и серверная библиотека для Java, основанная на Kryo. Лицензия: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), рейтинг github'а - 539. 
1. [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Ассинхронная HTTP и вебсокет клиентская библиотека, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Comsat](https://github.com/puniverse/comsat) - Интегрирует стандартный Java веб API c Quasar fibers и actors, Лицензия: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
-1. [Grizzly](https://grizzly.java.net/) - NIO фреймворк. Использует как сетевой слой в Glassfish, Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) и [CDDL 1.1](https://ru.wikipedia.org/wiki/CDDL).
+1. [Grizzly](https://grizzly.java.net/) - NIO фреймворк. Использует как сетевой слой в Glassfish, Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) и [CDDL 1.1](https://ru.wikipedia.org/wiki/CDDL).
1. [OkHttp](http://square.github.io/okhttp/) - HTTP+SPDY клиент, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Undertow](http://undertow.io/) - Вебсервер, предоставляющий блокирующий и неблокирующий API, основанный на NIO. Используется как сетевой слой в WildFly, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache MINA](http://mina.apache.org/) Apache MINA это фреймворк для создания быстрых сетевых приложений используя Java NIO. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
@@ -752,7 +756,7 @@
1. [Apache Synapse](http://synapse.apache.org) Apache Synapse это легковестных ESB движок (сервисной шина предприятия) и XML router. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache ServiceMix](http://servicemix.apache.org) Apache ServiceMix это гибкий, открытый интеграционный контейнер для общего интерфейса к возможностям и функциональности Apache ActiveMQ, Camel, CXF и Karaf для создания полнофункционального ESB решения основнанного на OSGi. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-### 4. Работа с http и ssh
+### 4. Работа с http и ssh
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Square Okhttp](https://github.com/square/okhttp) HTTP & SPDY (новый формат HTTP от гугла) клиент для Android и Java. . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 5022. 
@@ -807,7 +811,7 @@
1. [Apache Nutch](http://nutch.apache.org/) - Хорошо расширяемый, хорошо маштабированный вебпаук с рабочей экосистемой, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Crawler4j](https://github.com/yasserg/crawler4j) - Простой и легковесный вебпаук, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-### 8. Работа с Json
+### 8. Работа с Json
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
##### JSON парсеры
@@ -827,7 +831,7 @@
1. [Jayway JsonPath](https://github.com/jayway/JsonPath) Java JsonPath — реализация аналога XPATH только для Json, а не XML, рейтинг github'а - 849. [User guide](https://github.com/jayway/JsonPath#getting-started) и [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_path). Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Alibaba Fastjson](https://github.com/alibaba/fastjson) Быстрый JSON обработчик, рейтинг github'а - 4851. [User guide](https://github.com/alibaba/fastjson) и [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/fastjson). Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-##### Генерация Java классов из JSON или JSON схемы и JSON валидация
+##### Генерация Java классов из JSON или JSON схемы и JSON валидация
1. [Jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo) Генерация Java классов из JSON схемы (или примера JSON) с аннотациями для data-binding для Jackson 1.x or 2.x, Gson и т. п.., рейтинг github'а - 1664. [User guide](https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started) и [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/jsonschema2pojo). Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Json schema validator](https://github.com/fge/json-schema-validator) Валидация JSON схемы, реализована на чистой Java, создана с целью проверки Json файлов, используя Json схемы., так же может генерировать Java классы из схемы и наоборот, рейтинг github'а - 547. [User guide](https://github.com/fge/json-schema-validator#read-me-first) и [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_schema_validator). Лицензия: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License)/[Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -878,7 +882,7 @@
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Apache Aurora](http://aurora.apache.org/) - Apache Aurora это Apache Mesos фреймворк для длительных сервисов и cron jobs, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-1. [Singularity](http://getsingularity.com/) - Singularity это Apache Mesos фреймворк, который делает разработку и обслуживание проще. Он поддерживает вебсервисы, фоновое выполнение, запуск задач по расписанию и выполнение одноразовых задач, Лицензия: **неизвесна, на сайте не найдена!**.
+1. [Singularity](http://getsingularity.com/) - Singularity это Apache Mesos фреймворк, который делает разработку и обслуживание проще. Он поддерживает вебсервисы, фоновое выполнение, запуск задач по расписанию и выполнение одноразовых задач, Лицензия: **неизвесна, на сайте не найдена!**.
1. [Apache Helix](http://helix.apache.org/) Это фреймворк управления кластером. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Apache Airavata](http://airavata.apache.org/) Apache Airavata это фреймворк выполнения и управления заданиями в распределенных ресурсах, таких как кластеры, суперкомпьютеры, national grids, академические и комерческие облака. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
@@ -926,7 +930,7 @@
1. [Geo](https://github.com/davidmoten/geo/) - GeoHash утилиты для Java. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Geotoolkit.org](http://www.geotoolkit.org/) - Библиотека для разработки приложений геопозиционирования. Работает на основе Apache SIS проекта. Лицензия: [GNU Lesser 2.1](http://www.geotoolkit.org/license.html). 
1. [GeoTools](http://geotools.org/) - Библиотека предоставляющая инструменты для получения данных геопозиционирования. Лицензия: [GNU Lesser 2.1](http://www.gnu.org/licenses/lgpl-2.1.html). 
-1. [H2GIS](http://www.h2gis.org/) - Геопозиционированое расширение для базы данных H2. Лицензия: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
+1. [H2GIS](http://www.h2gis.org/) - Геопозиционированое расширение для базы данных H2. Лицензия: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
1. [Jgeohash](http://astrapi69.github.io/jgeohash/) - Библиотека, помогающая Java разработчикам в использовании GeoHash алгоритмов. Лицензия: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JTS Topology Suite](http://www.vividsolutions.com/jts/JTSHome.htm) - API для 2D геопозиционирования. Лицензия: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
1. [Mapsforge](https://github.com/mapsforge/mapsforge/) - Продукт для геопозиционирования на карте, основанной на OpenStreetMap данных. Лицензия: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
@@ -940,6 +944,7 @@
1. [Mockito](https://github.com/mockito/mockito) Mocking фреймворк для unit тестов, написанных на Java. Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT) , рейтинг github'а - 1307. 
1. [Selenium](https://github.com/SeleniumHQ/selenium) Фреймворк для автоматического тестирования в браузере . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 1305. 
1. [Cucumber jvm](https://github.com/cucumber/cucumber-jvm) Портирование Cucumber фреймворка для JVM. Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT) , рейтинг github'а - 1047. 
+1. [JBehave](https://github.com/jbehave/jbehave-core) BDD фреймворк, обладающий широкими возможностями по конфигурации. BDD является эволюцией подходов к разработке через тестирование (англ. test-driven development, TDD) и через приемочное тестирование (англ. acceptance-test driven design, ATDD), а также предназначен для того, чтобы сделать эти практики более доступными и интуитивно понятными в одинаковой степени новичкам и экспертам. Лицензия: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), рейтинг github'а - 208. 
1. [Spock](https://github.com/spockframework/spock) Spock это фреймворк тестирования и создания спецификаций для Java и Groovy приложений . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 669. 
1. [Google Firing range](https://github.com/google/firing-range) Google Firing Range это тестовый вебсервер для приложений-сканеров уязвимостей вебсайтов. Firing Range создает широкий спектр синтетических уязвимостей. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 650. 
1. [Fitnesse](https://github.com/unclebob/fitnesse) FitNesse это система тестирования, вебсервер и вики. Лицензия: [CPL-1.0](https://opensource.org/licenses/cpl1.0.php), рейтинг github'а - 618.
@@ -954,7 +959,6 @@
1. [Arquillian](http://arquillian.org/) - Интеграционная и функциональная платформа тестирования Java EE контейнеров, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Awaitility](https://github.com/jayway/awaitility) - DSL для синхронизации ассинхроных операций, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
1. [Citrus](http://citrusframework.org/) - Фреймворк интеграционного тестирования, которой фокусируется на тестировании клиент-серверного обмена сообщениями, Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-1. [Cucumber](https://github.com/cucumber/cucumber-jvm) - BDD фреймворк тестирования. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/4.1-testing/cucumber). Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT). 
1. [Gatling](http://gatling.io/) - Содержит инструменты тестирования разработанные для легкого использования, легкого сопровождения и высокой производительности, Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT). 
1. [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email сервер для интеграционного тестирования, поддерживает SMTP, POP3 и IMAP включая SSL, Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT). 
1. [JGiven](http://jgiven.org) - Удобный для разработчиков BDD фреймворк тестирования совместимый с JUnit и TestNG, Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT). 
@@ -973,7 +977,7 @@
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [JaCoCo](http://eclemma.org/jacoco/) - Фреймворк, который позволяет собирать метрики покрытия кода тестами, используя как offline, так и runtime байткод инструменты, используется в EclEmma, плагине Eclipse для определения степени покрытия тестами, Лицензия: [Eclipse Public License v1.0](https://ru.wikipedia.org/wiki/Eclipse_Public_License), [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache), [BSD](https://en.wikipedia.org/wiki/BSD_licenses). 
-1. [Clover](https://www.atlassian.com/software/clover/overview) - Проприетарный инструмент для определения степени покрытия кода тестами от Atlassian, который основан на анализе исходного кода вместо анализа байткода, ***Лицензия: платная, проприетарная*** 
+1. [Clover](https://www.atlassian.com/software/clover/overview) - Проприетарный инструмент для определения степени покрытия кода тестами от Atlassian, который основан на анализе исходного кода вместо анализа байткода, ***Лицензия: платная, проприетарная*** 
1. [Cobertura](http://cobertura.github.io/cobertura) - Использует автономный (или статическый) инструментарий анализа байткода и class loading'a для получения метрик покрытия кода тестами, Лицензия: [GNU 2](https://ru.wikipedia.org/wiki/GNU_General_Public_License). 
1. [JCov](https://wiki.openjdk.java.net/display/CodeTools/jcov) - Набор инструментов для анализа покрытия кода тестами, который используется при разработке OpenJDK проекта, Лицензия: [GNU 2](https://ru.wikipedia.org/wiki/GNU_General_Public_License). 
@@ -1114,7 +1118,7 @@
1. [Google J2ObjC:](https://github.com/google/j2objc) Java to Objective-C Translator and Runtime — конвертация языка Java (включая Android) в Objective-C.. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 2940. 
1. [Bytecode viewer](https://github.com/Konloch/bytecode-viewer) Система для реверс-инженеринга Java и Android (декомпилятор, редактор, отладчик и т. д.). Лицензия: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 617. 
-1. [Reflections](https://github.com/ronmamo/reflections) сканирует ваш classpath, индексирует метаданные и позволяет строить запросы во время выполнения к метаданным, может сохранять информацию о метаданных вашего проекта. Лицензия: [WTFPL](https://en.wikipedia.org/wiki/WTFPL), рейтинг github'а - 514. 
+1. [Reflections](https://github.com/ronmamo/reflections) сканирует ваш classpath, индексирует метаданные и позволяет строить запросы во время выполнения к метаданным, может сохранять информацию о метаданных вашего проекта. Лицензия: [WTFPL](https://en.wikipedia.org/wiki/WTFPL), рейтинг github'а - 514. 
*Current implementations of the JVM/JDK.*
@@ -1142,7 +1146,7 @@
1. [Processing js](https://github.com/jeresig/processing-js) Портирование Processing библиотеку для работы с видео и изображениями в JavaScript.. Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT) , рейтинг github'а - 1696. 
1. [Pysonar2](https://github.com/yinwang0/pysonar2) PySonar2 это система индексирования и получения типов в Python, которая проводить сложный анализ с помощью Sourcegraph сотен тысяч открытых Python репозиториев. Лицензия: [GNU](http://www.gnu.org/licenses/agpl-3.0.en.html) [GNU AGPLv3](http://www.gnu.org/licenses/agpl-3.0.en.html), рейтинг github'а - 1654. 
-### 3. Javascript
+### 3. Javascript
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Yuicompressor](https://github.com/yui/yuicompressor) YUI Compressor — это система сжатия JavaScript и CSS файлов, которая удаляет лишние пробелы, безопасно обфуцирует локальные переменные до минимального возможного имени и т. д.. Лицензия: [BSD](https://en.wikipedia.org/wiki/BSD_licenses), рейтинг github'а - 1840. 
@@ -1177,7 +1181,7 @@
1. [Languagetool](https://github.com/languagetool-org/languagetool) - система стилистической и грамматической проверки текста более чем на 25 разных языках (английский, франц узкий, немецкий, русский, польский и т. д.). Лицензия: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), рейтинг github'а - 416. 
1. [Apache OpenMeetings](http://openmeetings.apache.org) - система с открытым кодом для создания видеоконференций, обмена сообщениями и документами компании. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache). 
-### 6. Игры, написанные Java
+### 6. Игры, написанные Java
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Bukkit](https://github.com/Bukkit/Bukkit) Мод для Minecraft API. Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 1600. 
@@ -1190,12 +1194,12 @@
1. [WorldEdit](https://github.com/sk89q/WorldEdit) Редактор игровых карт для Minecraft. Лицензия: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), рейтинг github'а - 715. 
1. [Essentials](https://github.com/essentials/Essentials) Essentials - Minecraft серверный командный мод — добавлени более 100 команд для использования в игре . Лицензия: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 423. 
1. [GlowstoneMC Glowstone](https://github.com/GlowstoneMC/Glowstone) Сервер для Bukkit Minecraft. Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT) , рейтинг github'а - 421. 
-1. [Tribal Trouble](https://github.com/sunenielsen/tribaltrouble) - Стратегия в реальном времени на Java. Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 50. 
+1. [Tribal Trouble](https://github.com/sunenielsen/tribaltrouble) - Стратегия в реальном времени на Java. Лицензия: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), рейтинг github'а - 50. 
## VII. Прочее
-### 1. Примеры исходного кода на java
+### 1. Примеры исходного кода на java
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Java design patterns](https://github.com/iluwatar/java-design-patterns) Очень хорошие примеры и справочник по паттернам разработки. . Лицензия: [MIT](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT) , рейтинг github'а - 6341. 
@@ -1212,13 +1216,13 @@
1. [Spring projects Spring data jpa examples](https://github.com/spring-projects/spring-data-jpa-examples) Примеры использования разных возможностей Spring Data JPA . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 400. 
1. [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Популярный Java 8 гайд. Лицензия: [MIT](https://opensource.org/licenses/MIT). 
-### 2. Результаты сравнения производительности кода на Java (benchmark)
+### 2. Результаты сравнения производительности кода на Java (benchmark)
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Jvm serializers](https://github.com/eishay/jvm-serializers) - бенчмарки и сравнения производительности разных библиотек сериализации в JVM . Лицензия: ?, рейтинг github'а - 970.
1. [YCSB (Yahoo! Cloud Serving Benchmark)](https://github.com/brianfrankcooper/YCSB) - бэнчмарки (тесты производительности) различных облачных сервисов. Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 869. 
-### 3. Работа с git & github
+### 3. Работа с git & github
[К оглавлению](#Список-полезных-ссылок-для-java-программиста)
1. [Gitblit](https://github.com/gitblit/gitblit) Gitblit это свободный Java Git клиент для управления, просмотр и обслуживания Git репозиторий . Лицензия: [Apache 2](https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_Apache) , рейтинг github'а - 787. 
@@ -1307,7 +1311,7 @@
- [7.2 Архитектура, бизнес правила, бизнес модель и примеры приложений](#72-Архитектура-бизнес-правила-бизнес-модель-и-примеры-приложений)
- [7.3 Тестирование приложений](#73-Тестирование-приложений)
- [8. Прочее](#8-Прочее)
-
+
## **1\. Вопросы оптимизации и производительности**
### 1.1 Производительность и оптимизация
diff --git a/link-rus/video-links.md b/link-rus/video-links.md
index 2c177b75..55cd8857 100644
--- a/link-rus/video-links.md
+++ b/link-rus/video-links.md
@@ -35,6 +35,7 @@
- [6.8 Рефлексия и Invokedynamic](#68-Рефлексия-и-invokedynamic)
- [6.9 Работа с нативными библиотеками и кодом (JNI/JNA)](#69-Работа-с-нативными-библиотеками-и-кодом-jnijna)
- [6.10 Особенности языка Java](#610-Особенности-языка-java)
+ - [6.11 Реактивное программирование на Java](#611-Реактивное-программирование-на-java)
- [7. Качество кода и вопросы архитектуры](#7-Качество-кода-и-вопросы-архитектуры)
- [7.1 Рефакторинги, качество кода, методики программирования](#71-Рефакторинги-качество-кода-методики-программирования)
- [7.2 Архитектура, бизнес правила, бизнес модель и примеры приложений](#72-Архитектура-бизнес-правила-бизнес-модель-и-примеры-приложений)
@@ -378,6 +379,12 @@
2. [Алексей Рагозин — Структуры данных в Java, изобретаем заново](https://www.youtube.com/watch?v=mLqjySOrjOw) - описание реализации коллекций в Java и возможные методы их улучшения,
3. [Светлана Исакова — Простыми словами про вывод типов](https://www.youtube.com/watch?v=8K6sNWvqrW8)
+### 6.11 Реактивное программирование на Java
+
+1. [Кирилл Толкачёв и Егений Борисов — Reactive или не reactive, вот в чем вопрос](https://www.youtube.com/watch?v=mX19FWX2_Hs) - рефакторинг системы в реактивном стиле,
+2. [Олег Докука — Протокол RSocket — будущее реактивных приложений](https://www.youtube.com/watch?v=tSVjUKZ8Eg8) - обзор RSocket — новаторское решение для межсервисных взаимодействий,
+3. [Сергей Егоров — Не будь Гомером Симпсоном для своего Reactor-а!](https://www.youtube.com/watch?v=MU4wjB5CE-c) - обзор фреймворка Project Reactor
+
## **7\. Качество кода и вопросы архитектуры**
### 7.1 Рефакторинги, качество кода, методики программирования
@@ -390,6 +397,7 @@
6. [Николай Алименков — Парадигмы ООП](https://www.youtube.com/watch?v=G6LJkWwZGuc)
7. [Михаил Ершов — Разработка совместимого API](https://www.youtube.com/watch?v=EgOZSr-Uc3w)
8. [Nikolay Chashnikov - Write code faster with fewer errors: is it possible?](https://www.youtube.com/watch?v=_VhIBu8_4TE&list=PLYj3Bx1JM6Y6KJyi0TL3BJLRzgZJ4cWmL&index=57) - как избегать ошибок при написании кода,
+9. [Тагир Валеев — Атомарный рефакторинг в IntelliJ IDEA: прогибаем IDE под себя](https://www.youtube.com/watch?v=C5eD-K8AO3o)
### 7.2 Архитектура, бизнес правила, бизнес модель и примеры приложений
diff --git a/readme.md b/readme.md
index d16bf6f2..08412fb5 100644
--- a/readme.md
+++ b/readme.md
@@ -1,4 +1,4 @@
-# Useful Java links
+# Useful Java links
This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with new structure, additional license info and github's star info for every link, with a lot of new links (all non-mobile github projects with 390 or more star) and so on. **The russian version is [in this place](https://github.com/Vedenin/useful-java-links/tree/master/link-rus)**.
**The "Hello Worlds examples" project is [in this place](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds)**.
@@ -10,7 +10,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
- [3. GUI](#3-gui)
- [4. Business](#4-business)
- [5. Game Development](#5-game-development)
- - [6. Usefull libraries](#6-usefull-libraries)
+ - [6. Useful libraries](#6-useful-libraries)
- [Collections](#collections)
- [Date and Time](#date-and-time)
- [Dependency Injection and AOP](#dependency-injection-and-aop-frameworks)
@@ -41,7 +41,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
- [Semantic Web and Linked Data](#semantic-web-and-linked-data)
- [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver)
- [Natural Language Processing (NLP) and Speech Recognition](#natural-language-processing-nlp-and-speech-recognition)
-
+
- [III. Network and Integration](#iii-network-and-integration)
- [1. Servers (Web Server and Application Server))](#1-servers-web-server-and-application-server)
- [2. Networking](#2-networking)
@@ -81,13 +81,13 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
- [7. Documentation](#7-documentation)
- [8. Other](#8-other)
-- [VI. Program languages and applications, that was written with Java](#vi-program-languages-and-applications-that-was-written-with-java)
- - [1. Program languages, that was written with Java](#1--program-languages-that-was-written-with-java)
- - [2. Other program languages tools, that was written with Java](#2-other-program-languages-tools-that-was-written-with-java)
+- [VI. Program languages and applications that were written with Java](#vi-program-languages-and-applications-that-was-written-with-java)
+ - [1. Program languages that were written with Java](#1--program-languages-that-was-written-with-java)
+ - [2. Other program languages tools that were written with Java](#2-other-program-languages-tools-that-was-written-with-java)
- [3. Javascript](#3-javascript)
- [4. Frameworks that help to create parsers, interpreters or compilers](#4-frameworks-that-help-to-create-parsers-interpreters-or-compilers)
- - [5. Opensource applications, that was written with Java](#5-opensource-applications-that-was-written-with-java)
- - [6. Opensource games, that was written with Java](#6-opensource-games-that-was-written-with-java)
+ - [5. Opensource applications that were written with Java](#5-opensource-applications-that-was-written-with-java)
+ - [6. Opensource games that were written with Java](#6-opensource-games-that-was-written-with-java)
- [VII. Other](#vii-other)
- [1. Source code examples](#1-source-code-examples)
@@ -98,7 +98,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
- [1. Communities](#1-communities)
- [2. Influential Books](#2-influential-books)
- [3. Websites](#3-websites)
-
+
## I. Development
### 1. Common frameworks and libraries
@@ -119,14 +119,15 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Kilim](https://github.com/kilim/kilim) Lightweight threads for Java, with message passing, nio, http and scheduling support. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/kilim/kilim). 
1. [Apache Isis](http://isis.apache.org) Apache Isis is a framework for rapidly developing domain-driven apps in Java. Write your business logic in entities, domain services and repositories, and the framework dynamically (at runtime) generates a representation of that domain model as a webapp or as a RESTful API. For prototyping or production. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Zest](https://zest.apache.org/) Apache Zest is a community based effort exploring Composite Oriented Programming for domain centric application development. This includes evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Embedchain-JS](https://github.com/embedchain/embedchainjs) Framework to easily create LLM powered bots over any dataset. [](https://github.com/embedchain/embedchainjs)
### 2. Web development
[Up](#useful-java-links)
-#### Web Frameworks
+#### Web Frameworks
1. [Play Framework](https://github.com/playframework/playframework) The Play Framework combines productivity and performance making it easy to build scalable web applications with Java and Scala. https://www.playframework.com/ . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/playframework/playframework). 
1. [Spark](https://github.com/perwendel/spark) Spark - a Sinatra inspired web framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/perwendel/spark). 
-1. [Blade](https://github.com/biezhi/blade) a simple, elegant java web framework! http://bladejava.com. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/biezhi/blade). 
+1. [Blade](https://github.com/biezhi/blade) a simple, elegant java web framework! License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/biezhi/blade). 
1. [Atmosphere](https://github.com/Atmosphere/atmosphere) - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Atmosphere/atmosphere). 
1. [Grails](https://github.com/grails/grails-core) - Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features. https://grails.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/grails/grails-core). 
1. [Ninja](https://github.com/ninjaframework/ninja) Ninja is a full stack web framework for Java. Rock solid, fast and super productive. .http://www.ninjaframework.org. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ninjaframework/ninja). 
@@ -139,8 +140,8 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Google Web Toolkit](http://www.gwtproject.org/) - GWT is used by many products at Google, including Google AdWords and Google Wallet. It's open source, completely free, and used by thousands of enthusiastic developers around the world. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Pippo](http://www.pippo.ro/) - It's an open source micro web framework in Java, with minimal dependencies and a quick learning curve.The goal of this project is to create a micro web framework in Java that should be easy to use and hack. Pippo can be used in small and medium applications and also in applications based on micro services architecture. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Spring MVC](http://projects.spring.io/spring-framework/) - Spring MVC web application and RESTful web service framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [JavaServer Faces](https://javaserverfaces.java.net/) - JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](https://opensource.org/licenses/CDDL-1.0)
-1. [JavaServer Pages](https://jsp.java.net/) - This project provides a container independent implementation of JSP 2.1. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
+1. [JavaServer Faces](https://javaserverfaces.java.net/) - JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](https://opensource.org/licenses/CDDL-1.0)
+1. [JavaServer Pages](https://jsp.java.net/) - This project provides a container independent implementation of JSP 2.1. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
1. [Apache Cocoon](http://cocoon.apache.org/) Web development framework: separation of concerns, component-based. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Struts](http://struts.apache.org) Apache Struts is a free open-source framework for creating Java web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Sling](http://sling.apache.org/) Innovative Web framework based on JCR and OSGi. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -150,12 +151,14 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Apache OODT](http://oodt.apache.org) Apache OODT software is component based, and offers a software architecture beyond simple science applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [VRaptor](https://github.com/caelum/vraptor4) VRaptor 4 delivers high productivity to your Java Web applications on top of CDI. VRaptor is an opensource MVC framework with a large developers and users community, [](https://github.com/caelum/vraptor4). http://www.vraptor.org . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Jooby](https://github.com/jooby-project/jooby) Scalable, fast and modular micro web framework for Java , [](https://github.com/cjooby-project/jooby). http://jooby.org/ . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [CUBA Platform](https://github.com/cuba-platform/cuba) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. https://cuba-platform.com [](https://github.com/cuba-platform/cuba). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Jersey](https://jersey.github.io/) - Jersey RESTful Web Services framework is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation.
#### Libraries for web development
1. [Tobie ua-parser](https://github.com/tobie/ua-parser) A multi-language port of Browserscope's user agent parser. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0)/[MIT](https://opensource.org/licenses/MIT)/Perl, [](https://github.com/tobie/ua-parser). 
1. [Ghost Driver](https://github.com/detro/ghostdriver) Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-end. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29), [](https://github.com/detro/ghostdriver). 
1. [B3log Solo](https://github.com/b3log/solo) - A blogging system written in Java, feel free to create your or your team own blog. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/b3log/solo). 
-1. [Nasher](https://github.com/ghaseminya/nasher-mvc-spring-security-blog-angular) - A Spring Project with spring security support with angular admin panel. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [![GitHub stars]
+1. [Nasher](https://github.com/ghaseminya/nasher-mvc-spring-security-blog-angular) - A Spring Project with spring security support with angular admin panel. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ghaseminya/nasher-mvc-spring-security-blog-angular). 
1. [Baasbox](https://github.com/baasbox/baasbox) BaasBox is an Open Source project that aims to provide a backend for mobile and web apps. License: ?, [](https://github.com/baasbox/baasbox).
1. [Kolorobot Spring MVC 4 Quickstart Maven Archetype](https://github.com/kolorobot/spring-mvc-quickstart-archetype) — The project is a Maven archetype for Spring MVC 4 web application. License: ?, [](https://github.com/kolorobot/spring-mvc-quickstart-archetype).
1. [Gargl](https://github.com/jodoglevy/gargl) - Record web requests as they happen and turn them into reusable code in any programming language. Gargl - Generic API Recorder and Generator Lite. Pronounced "Gargle." Automate any website. Record web requests as they happen and turn them into reusable code in any programming language. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/jodoglevy/gargl). 
@@ -185,16 +188,18 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Apache Portals](http://portals.apache.org) The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Roller](http://roller.apache.org/) Apache Roller is a full-featured, multi-user and group blog server suitable for blog sites large and small. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Chemistry](http://chemistry.apache.org/) Apache Chemistry provides open source implementations of the Content Management Interoperability Services (CMIS) specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Jease](http://jease.org/) Jease eases the development of content- & database-driven web-applications with Java. License: [GPL v3](https://www.gnu.org/licenses/gpl-3.0). 
### 3. GUI
1. [JavaFX](http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html) - JavaFX is the next step in the evolution of Java as a rich client platform. It is designed to provide a lightweight, hardware-accelerated Java UI platform for enterprise business applications. License: [Oracle, proprietary](http://www.oracle.com/technetwork/java/javase/terms/license/index.html). 
1. [Scene Builder](http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html) - JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components to a work area, modify their properties, apply style sheets, and the FXML code for the layout that they are creating is automatically generated in the background. The result is an FXML file that can then be combined with a Java project by binding the UI to the application’s logic. License: [Oracle, proprietary](http://www.oracle.com/technetwork/java/javase/terms/license/index.html). , but see Gluon Scene Builder.
-1. [Gluon Scene Builder] - Scene Builder is free and open source JavaFX Scene Builder, but is backed by Gluon. Commercial support offerings are available, including training and custom consultancy services. License: [BSD](https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjE5vqD-Y3MAhVH2ywKHe5BBXgQFggkMAI&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBSD_licenses&usg=AFQjCNEADwPS776rXl5O9ofavy4xaW2yYw&sig2=FypX35BAWf3icOci5pQd3w&bvm=bv.119408272,d.bGg). 
-1. [SWT](http://www.eclipse.org/swt/) -SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
+1. [Gluon Scene Builder](https://bitbucket.org/gluon-oss/scenebuilder) - Scene Builder is free and open source JavaFX Scene Builder, but is backed by Gluon. Commercial support offerings are available, including training and custom consultancy services. License: [BSD](https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjE5vqD-Y3MAhVH2ywKHe5BBXgQFggkMAI&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBSD_licenses&usg=AFQjCNEADwPS776rXl5O9ofavy4xaW2yYw&sig2=FypX35BAWf3icOci5pQd3w&bvm=bv.119408272,d.bGg). 
+1. [SWT](http://www.eclipse.org/swt/) - SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
1. [Lanterna](https://code.google.com/archive/p/lanterna) - Lanterna is a Java library allowing you to write easy semi-graphical user interfaces in a text-only environment, very similar to the C library curses but with more functionality. License: [LGPL 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
-1. [Gephi](https://github.com/gephi/gephi/) - Gephi is an award-winning open-source platform for visualizing and manipulating large graphs. It runs on Windows, Mac OS X and Linux. Localization is available in French, Spanish, Japanese, Russian, Brazilian Portuguese, Chinese and Czech. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
+1. [Gephi](https://github.com/gephi/gephi/) - Gephi is an award-winning open-source platform for visualizing and manipulating large graphs. It runs on Windows, Mac OS X and Linux. Localization is available in French, Spanish, Japanese, Russian, Brazilian Portuguese, Chinese and Czech. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
+1. [Codename One](https://www.codenameone.com/) - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
### 4. Business
[Up](#useful-java-links)
@@ -203,7 +208,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Killbill](https://github.com/killbill/killbill) - Open-Source Subscription Billing & Payment Platform . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/killbill/killbill). 
1. [Activiti](https://github.com/Activiti/Activiti) Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Activiti/Activiti). 
1. [Liferay Portal](https://github.com/liferay/liferay-portal) Liferay Portal is an open source enterprise web platform for building business solutions that deliver immediate results and long-term value. Liferay Portal started out as a personal development project in 2000 and was open sourced in 2001. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/liferay/liferay-portal). 
-1. [Broadleaf Commerce](https://github.com/BroadleafCommerce/BroadleafCommerce) - Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/BroadleafCommerce/BroadleafCommerce). 
+1. [Broadleaf Commerce](https://github.com/BroadleafCommerce/BroadleafCommerce) - Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: [Broadleaf Fair Use](https://www.broadleafcommerce.com/license/community) , [](https://github.com/BroadleafCommerce/BroadleafCommerce). 
1. [Droolsjbpm Drools](https://github.com/droolsjbpm/drools) Drools Expert is the rule engine and Drools Fusion does complex event processing (CEP). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/droolsjbpm/drools). 
1. [Spring Roo](https://github.com/spring-projects/spring-roo) — Spring Roo is a next-generation rapid application development tool for Java developers. It focuses on higher productivity, stock-standard Java APIs, high usability, avoiding engineering trade-offs and facilitating easy Roo removal. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-roo). 
1. [Apache OFBiz](http://ofbiz.apache.org) Apache OFBiz (The Apache Open For Business Project) is an open source enterprise automation software project. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -262,40 +267,43 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Dagger and Dagger2](https://github.com/square/dagger) A fast dependency injector for Android and Java. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/dagger), stackoverflow - [800 questions](http://stackoverflow.com/questions/tagged/dagger). 
1. [Google Guice](https://github.com/google/guice) - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/google/guice). 
1. [Apache DeltaSpike](https://deltaspike.apache.org/) - DeltaSpike consists of a number of portable CDI extensions that provide useful features for Java application developers. We will also ensure true portability! We are testing DeltaSpike on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java EE servers like Apache Tomcat and TomEE, JBoss AS7, WildFly 8.x and 9.x, Oracle GlassFish 3.1+ and 4.x+, IBM WebSphere 8.x, Oracle WebLogic Server 12c, Jetty, and others. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
-1. [HK2](https://hk2.java.net) - A light-weight and dynamic dependency injection framework. [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)/ [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
+1. [HK2](https://hk2.java.net) - A light-weight and dynamic dependency injection framework. [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)/ [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
1. [Eclipse AspectJ](https://eclipse.org/aspectj/) - AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible, easy to learn and use. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
-#### Console and Command line
+#### Console and Command line
1. [jcommander](https://github.com/cbeust/jcommander) Command line parsing framework for Java. http://jcommander.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cbeust/jcommander). 
1. [Jline](https://github.com/jline/jline2) JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar. License: [BSD 4](https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29), [](https://github.com/jline/jline2). 
1. [args4j](http://args4j.kohsuke.org/) - args4j is a small Java class library that makes it easy to parse command line options/arguments in your CUI application. License: [MIT](https://opensource.org/licenses/MIT) 
1. [CRaSH](http://www.crashub.org) - The shell for the Java Platform Open source and open minde. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) 
+1. [picocli](http://picocli.info) - Annotation based command line parser with strong typing for both options and positional args and support for git-like subcommands. Usage help with ANSI colors. Easily included as source to avoid external dependencies. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0)
#### Functional Programming
*Libraries that facilitate functional programming.*
1. [Retrolambda](https://github.com/orfjackal/retrolambda) Backport of Java 8's lambda expressions to Java 7, 6 and 5. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/orfjackal/retrolambda). 
-1. [Javaslang](https://github.com/javaslang/javaslang) - Javaslang core is a functional library for Java 8+. It helps to reduce the amount of code and to increase the robustness. A first step towards functional programming is to start thinking in immutable values. Javaslang provides immutable collections and the necessary functions and control structures to operate on these values, [](https://github.com/javaslang/javaslang). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Vavr](https://github.com/vavr-io/vavr) - Vavr (formerly called Javaslang) is a functional library for Java 8+. It helps to reduce the amount of code and to increase the robustness. A first step towards functional programming is to start thinking in immutable values. Vavr provides immutable collections and the necessary functions and control structures to operate on these values, [](https://github.com/vavr-io/vavr). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [jOOλ](https://github.com/jOOQ/jOOL) - jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams, [](https://github.com/jOOQ/jOOL). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Functional Java](https://github.com/functionaljava/functionaljava) - Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. http://www.functionaljava.org License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/functionaljava/functionaljava). 
1. [Cyclops react](https://github.com/aol/cyclops-react) - A comprehensive functional reactive platform for JDK8. Future & functional based programming via JDK compatible extensions for Java 8 and above, [](https://github.com/aol/cyclops-react). License: [MIT](https://opensource.org/licenses/MIT) 
1. [Fugue](https://bitbucket.org/atlassian/fugue) -Java 8 has standardised some of the basic function interfaces, but does not include quite a few more tools that a functional programmer may expect to be available. This library attempts to fill in some of the gaps when using Java 8. In particular it provides Option and Either types as well as a Pair. There also additional helper classes for common Function, Supplier, and Iterable operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [TotallyLazy](https://github.com/bodar/totallylazy/) Another functional library for Java , License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/bodar/totallylazy/). 
-1. [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses), [](https://github.com/derive4j/derive4j). License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License).
+1. [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses), [](https://github.com/derive4j/derive4j). License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License).
#### Reactive Programming
*Libraries for developing reactive applications.*
1. [ReactiveX RxJava](https://github.com/ReactiveX/RxJava) RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ReactiveX/RxJava), stackoverflow - [1814 questions](http://stackoverflow.com/search?q=RxJava). 
1. [Eclipse Vert.x](https://github.com/eclipse/vert.x) Vert.x is a tool-kit for building reactive applications on the JVM . License: Eclipse Public 1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/eclipse/vert.x), stackoverflow - [728 questions](http://stackoverflow.com/search?q=Vert.x). 
-1. [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm/) - The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. License: [Public Domain (CC0)](https://en.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons#CC0), [](https://github.com/reactive-streams/reactive-streams-jvm/). 
+1. [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm/) - The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. License: [Public Domain (CC0)](http://creativecommons.org/publicdomain/zero/1.0/), [](https://github.com/reactive-streams/reactive-streams-jvm/). 
1. [Reactor](http://projectreactor.io/) - Reactor is a second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [RSocket](http://rsocket.io) - RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. License: [Apache 2](https://github.com/rsocket/rsocket/blob/master/LICENSE),[](https://github.com/rsocket/rsocket) 
#### Security and Authentication
*Libraries that handle security, authentication, authorization or session management.*
[Up](#useful-java-links)
+1. [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - A small one-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). [MIT](https://opensource.org/licenses/MIT)
1. [Scribe Java](https://github.com/scribejava/scribejava) - Simple OAuth library for Java. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/scribejava/scribejava). 
1. [Spring security oauth](https://github.com/spring-projects/spring-security-oauth) - Support for adding OAuth1(a) and OAuth2 features (consumer and provider) for Spring web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-security-oauth). 
1. [Jasig CAS (Central Authentication Service)](https://github.com/Jasig/cas) - Apereo CAS - Single Sign On for the Web.The Central Authentication Service (CAS) is the standard mechanism by which web applications should authenticate users. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Jasig/cas). 
@@ -308,9 +316,10 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services. Built on top of the OAuth 2.0, Open ID Connect, JSON Web Token (JWT) and SAML 2.0 specifications. Keycloak has tight integration with a variety of platforms and has a HTTP security proxy service where we don't have tight integration. Options are to deploy it with an existing app server, as a black-box appliance, or as an Openshift cloud service and/or cartridge. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [PicketLink](http://picketlink.org/) - Simplified Security and Identity management for Java Applications PicketLink is an umbrella project for security and identity management for Java Applications. It is licensed under a friendly Apache v2 license. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Santuario](http://santuario.apache.org) Library implementing XML Digital Signature Specification & XML Encryption Specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [Apache Oltu](https://oltu.apache.org/) Apache Oltu is an OAuth protocol implementation in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Apache Oltu](https://oltu.apache.org/) ( *has retired* ) Apache Oltu is an OAuth protocol implementation in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Syncope](http://syncope.apache.org) Apache Syncope is an Open Source system for managing digital identities in enterprise environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
+1. [JObfuscator](https://www.pelock.com/products/jobfuscator) - JObfuscator is a source code obfuscator for the Java language to protect Java source code & algorithms from hacking, cracking, reverse engineering, decompilation & technology theft. License: 
+1. [OpenAM](https://www.pelock.com/products/jobfuscator) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. License: [CDDL](https://opensource.org/license/cddl-1-0), [](https://github.com/OpenIdentityPlatform/OpenAM). 
#### High Performance
*Everything about high performance computation, from collections to specific libraries.*
@@ -325,6 +334,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Koloboke](https://github.com/OpenHFT/Koloboke) - Hash sets and hash maps. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Trove](http://trove.starlight-systems.com/) - Primitive collections. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
+1. [JUnion](https://github.com/TehLeo/junion) - Delivers struct types for Java programming language. 64 bit addressable struct arrays. [https://tehleo.github.io/junion/](https://tehleo.github.io/junion/) License: [License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
#### Serialization and I/O
@@ -355,7 +365,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [tinylog](http://www.tinylog.org/) - Lightweight logging framework with static logger class. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-#### Bean Mapping and Validation
+#### Bean Mapping and Validation
*Frameworks that ease bean mapping or bean validation.*
[Up](#useful-java-links)
@@ -365,6 +375,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Orika](https://github.com/orika-mapper/orika) - Simpler, better and faster Java bean mapping framework. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/orika). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/orika-mapper/orika). 
1. [Selma](https://github.com/xebia-france/selma) - Stupid Simple Statically Linked Mapper. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/selma). Selma Java bean mapping that compiles. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/xebia-france/selma). 
1. [Apache BVal](http://bval.apache.org/) Apache BVal delivers an implementation of the Java Bean Validation (JSR303) Specification which is TCK compliant, works on Java SE 5 or later. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [OVal](http://oval.sourceforge.net/) – is a pragmatic and extensible validation framework for any kind of Java objects. Not JSR303/JSR380 compliant but supports Bean Validation constraints. It's pretty old flexible and reliable. License: [EPL v2.0](https://www.eclipse.org/legal/epl-2.0). [](https://github.com/sebthom/oval) 
@@ -392,7 +403,6 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Byteman](http://byteman.jboss.org/) - Byteman is a tool which makes it easy to trace, monitor and test the behaviour of Java application and JDK runtime code. It injects Java code into your application methods or into Java runtime methods without the need for you to recompile, repackage or even redeploy your application. License: [LGPL 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.ru.html). 
1. [Javassist](http://jboss-javassist.github.io/javassist/) -Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) or [LGPL or later 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.ru.html) or [Mozilla Public License 1.1.](https://en.wikipedia.org/wiki/Mozilla_Public_License). 
1. [ADT4J](https://github.com/sviperll/adt4j) - This library implements Algebraic Data Types for Java. ADT4J provides annotation processor for @GenerateValueClassForVisitor annotation. ADT4J generates new class for each @GenerateValueClassForVisitor annotation. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
-1. [Auto](https://github.com/google/auto) - A collection of source code generators for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JHipster](https://github.com/jhipster/generator-jhipster) - Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [cglib](https://github.com/cglib/cglib) - cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -410,8 +420,8 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Hazelcast](http://hazelcast.org/) - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Netflix Hystrix](https://github.com/Netflix/Hystrix) - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable, [](https://github.com/Netflix/Hystrix). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JGroups](http://www.jgroups.org/) - JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [Orbit](http://orbit.bioware.com/) - Orbit is a modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services. It was developed by BioWare, a division of Electronic Arts. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
-1. [Quasar](http://www.paralleluniverse.co/quasar/) - Quasar is an open source JVM library that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License) or [LGPL 3.0](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
+1. [Orbit](https://github.com/orbit-legacy/orbit1) - Orbit is a modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services. It was developed by BioWare, a division of Electronic Arts. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
+1. [Quasar](https://docs.paralleluniverse.co/quasar/) - Quasar is an open source JVM library that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License) or [LGPL 3.0](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
1. [Storm contrib](https://github.com/nathanmarz/storm-contrib) A collection of spouts, bolts, serializers, DSLs, and other goodies to use with Storm. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html), [](https://github.com/nathanmarz/storm-contrib). 
1. [JADE](http://jade.tilab.com/) - JADE (Java Agent DEvelopment Framework) is a software Framework fully implemented in the Java language. It simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of graphical tools that support the debugging and deployment phases. License: [GNU Lesser 2.0](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
1. [Apache River](http://river.apache.org) Apache River software provides a standards-compilani JINI service. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -471,6 +481,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Apache Derby](https://db.apache.org/derby/) - Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Empire-db](http://empire-db.apache.org/) Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Ignite](http://ignite.apache.org) Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Tarantool](https://github.com/tarantool/tarantool) — is an open-source NoSQL database management system and Lua application server. It maintains databases in memory and ensures crash resistance with write-ahead logging. It includes a Lua interpreter and interactive console but also accepts connections from programs in several other languages. License: [BSD licenses](https://en.wikipedia.org/wiki/BSD_licenses). 
#### **Distributed Databases.**
*Databases in a distributed system that appear to applications as a single data source.*
@@ -535,7 +546,8 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [LightAdmin](http://lightadmin.org/) - Pluggable data administration UI library for Java web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Jaybird JCA/JDBC driver](https://github.com/FirebirdSQL/jaybird) - JCA-JDBC Driver for Firebird database. http://www.firebirdsql.org/en/jdbc-driver/, [](https://github.com/FirebirdSQL/jaybird). License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
-1. [dbeaver](https://github.com/serge-rider/dbeaver) - Free universal database manager and SQL client. http://dbeaver.jkiss.org. , [](https://github.com/serge-rider/dbeaver). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
+1. [dbeaver](https://github.com/serge-rider/dbeaver) - Free universal database manager and SQL client. http://dbeaver.jkiss.org. , [](https://github.com/serge-rider/dbeaver). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
+1. [tarantool-java](https://github.com/tarantool/tarantool-java) A Java client for Tarantool. License: [BSD licenses](https://en.wikipedia.org/wiki/BSD_licenses). 
### 5. ORM
*APIs which handle the persistence of objects.*
@@ -572,7 +584,7 @@ This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with n
1. [Suro: Netflix's Data Pipeline](https://github.com/Netflix/suro) — Suro: Netflix's Data Pipeline. Suro is a data pipeline service for collecting, aggregating, and dispatching large volume of application events including log data. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Netflix/suro). 
1. [Apache UIMA](http://uima.apache.org) Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-### 7. Big data
+### 7. Big data
[Up](#useful-java-links)
#### Frameworks and libraries for big data
@@ -684,7 +696,7 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Stanfordnlp CoreNLP](https://github.com/stanfordnlp/CoreNLP) Stanford CoreNLP provides a set of natural language analysis tools written in Java. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/stanford-core-nlp). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/stanfordnlp/CoreNLP). 
1. [Apache OpenNLP](https://opennlp.apache.org/) - The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/opennlp). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [LingPipe](http://alias-i.com/lingpipe/) - LingPipe is tool kit for processing text using computational linguistics. License: [AGPL](https://www.gnu.org/licenses/agpl-3.0.html) or ***License: proprietary***.  or 
+1. [LingPipe](http://alias-i.com/lingpipe/) - LingPipe is tool kit for processing text using computational linguistics. License: [AGPL](https://www.gnu.org/licenses/agpl-3.0.html) or ***License: proprietary***.  or 
1. [Mallet](http://mallet.cs.umass.edu/) - MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
1. [Twitter Text Libraries](https://github.com/twitter/twitter-text) - This repo is a collection of libraries and conformance tests to standardize parsing of tweet text. It synchronizes development, testing, creating issues, and pull requests for twitter-text's implementations and specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [NLP4J](https://github.com/emorynlp/nlp4j) The NLP4J project (formerly known as ClearNLP) provides a NLP toolkit for JVM languages. This project is currently developed by the NLP Research Group at Emory University. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -692,11 +704,12 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Z-MERT](http://cs.jhu.edu/~ozaidan/zmert/) Z-MERT is a software tool for minimum error rate training of machine translation systems. License: [GNU Lesser General Public License (LGPL)](http://www.gnu.org/licenses/lgpl-3.0.en.html). 
1. [ClearTK](https://github.com/ClearTK/cleartk) - ClearTK is a framework for developing machine learning and natural language processing components within the Apache Unstructured Information Management Architecture, http://cleartk.github.io/cleartk/ . [](https://github.com/ClearTK/cleartk) License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache cTAKES](http://ctakes.apache.org/) - Apache cTAKES™ is a natural language processing system for extraction of information from electronic medical record clinical free-text. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [The Stanford Natural Language Processing Group](http://nlp.stanford.edu/software/) - A Natural Language Processing Java software tools. Subproject: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
+1. [The Stanford Natural Language Processing Group](http://nlp.stanford.edu/software/) - A Natural Language Processing Java software tools. Subproject: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
[Word Segmenter](http://nlp.stanford.edu/software/segmenter.html),[Classifier](http://nlp.stanford.edu/software/classifier.html),[EnglishTokenizer](http://nlp.stanford.edu/software/tokenizer.html),[TokensRegex](http://nlp.stanford.edu/software/tokensregex.html),[Temporal Tagger](http://nlp.stanford.edu/software/sutime.html),[Pattern-based Information Extraction and Diagnostics](http://nlp.stanford.edu/software/patternslearning.html),[Stanford Relation Extractor](http://nlp.stanford.edu/software/relationExtractor.html). License: [GNU 2/3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
1. [Apache Tika](http://tika.apache.org) The Apache Tika toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [CMU Sphinx](http://cmusphinx.sourceforge.net/) - Open Source Speech Recognition Toolkit. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). 
1. [ARK Twitter NLP](https://github.com/brendano/ark-tweet-nlp) - CMU ARK Twitter Part-of-Speech Tagger. http://www.ark.cs.cmu.edu/TweetNLP/ License: [GNU 2/3](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/brendano/ark-tweet-nlp). 
+1. [lc4j](https://github.com/olivomarco/lc4j) - Language Categorization for Java: an Open Source library for finding out in which language a text has been written. License: [MIT](https://en.wikipedia.org/wiki/MIT_License). 
## III. Network and Integration
@@ -705,16 +718,16 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
[Up](#useful-java-links)
1. [Wildfly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/wildfly/wildfly). 
-1. [Undertow io Undertow](https://github.com/undertow-io/undertow) - High performance non-blocking webserver. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/undertow-io/undertow). 
+1. [Undertow](https://github.com/undertow-io/undertow) - High performance non-blocking webserver. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/undertow-io/undertow). 
1. [Apache Tomcat](https://github.com/apache/tomcat) - Robust all-round server for Servlet and JSP. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/apache/tomcat). 
1. [Nginx clojure](https://github.com/nginx-clojure/nginx-clojure) - Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29) , [](https://github.com/nginx-clojure/nginx-clojure). 
-1. [Eclipse Jetty.project](https://github.com/eclipse/jetty.project) - Lightweight, small server, often embedded in projects. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html) / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0).0, [](https://github.com/eclipse/jetty.project). 
+1. [Jetty](https://github.com/eclipse/jetty.project) - Lightweight, small server, often embedded in projects. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html) / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0).0, [](https://github.com/eclipse/jetty.project). 
1. [Apache TomEE](http://tomee.apache.org/) - Tomcat plus Java EE. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [WebSphere Liberty](https://developer.ibm.com/wasdev/) - Lightweight, modular server developed by IBM. ***License: proprietary*** 
-1. [GlassFish](https://glassfish.java.net/) - GlassFish - World's first Java EE 7 Application Server. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) Or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
+1. [GlassFish](https://glassfish.java.net/) - GlassFish - World's first Java EE 7 Application Server. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) Or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
1. [Apache Geronimo](http://geronimo.apache.org/) Java EE Application Server. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache James](http://james.apache.org) The Apache Java Enterprise Mail Server (a.k.a. Apache James) is a 100% pure Java SMTP and POP3 Mail server and NNTP News server. We have designed James to be a complete and portable enterprise mail engine solution based on currently available open protocols. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
+1. [Payara](https://github.com/payara/Payara) Payara Server is an open source middleware platform that supports reliable and secure deployments of Java EE (Jakarta EE) and MicroProfile applications in any environment: on premise, in the cloud or hybrid.[CDDL 1.1](https://github.com/payara/Payara/blob/master/LICENSE.txt)
### 2. Networking
*Libraries for network programming.*
@@ -728,7 +741,7 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [EsotericSoftware Kryonet](https://github.com/EsotericSoftware/kryonet) TCP/UDP client/server library for Java, based on Kryo. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/EsotericSoftware/kryonet). 
1. [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
-1. [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
+1. [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
1. [OkHttp](http://square.github.io/okhttp/) - HTTP+SPDY client. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Undertow](http://undertow.io/) - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache MINA](http://mina.apache.org/) Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract, event-driven, asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -882,13 +895,13 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Apache CloudStack](http://cloudstack.apache.org/) Apache CloudStack is an IaaS (“Infrastracture as a Service”) cloud orchestration platform. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Stratos](http://stratos.apache.org) Apache Stratos is a highly-extensible Platform-as-a-Service (PaaS) framework that helps run Apache Tomcat, PHP, and MySQL applications and can be extended to support many more environments on all major cloud infrastructures. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Airavata](http://airavata.apache.org/) Apache Airavata is a software framework for executing and managing computational jobs and workflows on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata is dominantly used to build Web-based science gateways and assist to compose, manage, execute, and monitor large scale applications (wrapped as Web based services) and workflows composed of these services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
-## 13. Cluster Management
+1. [Quarkus](https://github.com/quarkusio/quarkus) Quarkus is a Cloud Native, (Linux) Container First framework for writing Java applications. [](https://github.com/quarkusio/quarkus/blob/master/LICENSE.txt)
+### 13. Cluster Management
*Frameworks which can dynamically manage applications inside of a cluster.*
[Up](#useful-java-links)
1. [Apache Aurora](http://aurora.apache.org/) - Apache Aurora is a Mesos framework for long-running services and cron jobs. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [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. License: **?**.
+1. [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. License: **?**.
1. [Apache Helix](http://helix.apache.org/) A cluster management framework for partitioned and replicated distributed resources. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Airavata](http://airavata.apache.org/) Apache Airavata is a software framework for executing and managing computational jobs and workflows on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata is dominantly used to build Web-based science gateways and assist to compose, manage, execute, and monitor large scale applications (wrapped as Web based services) and workflows composed of these services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -937,7 +950,7 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Geo](https://github.com/davidmoten/geo/) - GeoHash utilities in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Geotoolkit.org](http://www.geotoolkit.org/) - Library for developing geospatial applications. Built on top of the Apache SIS project. License: [GNU Lesser 2.1](http://www.geotoolkit.org/license.html). 
1. [GeoTools](http://geotools.org/) - Library that provides tools for geospatial data. License: [GNU Lesser 2.1](http://www.gnu.org/licenses/lgpl-2.1.html). 
-1. [H2GIS](http://www.h2gis.org/) - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
+1. [H2GIS](http://www.h2gis.org/) - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
1. [Jgeohash](http://astrapi69.github.io/jgeohash/) - Library that can assist Java developers in using the GeoHash algorithm. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JTS Topology Suite](http://www.vividsolutions.com/jts/JTSHome.htm) - An API of 2D spatial predicates and functions. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
1. [Mapsforge](https://github.com/mapsforge/mapsforge/) - Software for the rendering of maps based on OpenStreetMap data. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
@@ -953,17 +966,19 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
*Tools that test from model to the view.*
[Up](#useful-java-links)
+1. [ArchUnit](https://github.com/TNG/ArchUnit) is a free, simple and extensible library for checking the architecture of your Java code. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/TNG/ArchUnit). 
1. [Junit](https://github.com/junit-team/junit4) Common testing framework. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html) , [](https://github.com/junit-team/junit4). 
1. [Mockito](https://github.com/mockito/mockito) Creation of test double objects in automated unit tests for the purpose of TDD or BDD. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/mockito/mockito). 
1. [Selenium](https://github.com/SeleniumHQ/selenium) Portable software testing framework for web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/SeleniumHQ/selenium). 
-1. [Cucumber jvm](https://github.com/cucumber/cucumber-jvm) Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/cucumber/cucumber-jvm). 
+1. [Cucumber jvm](https://github.com/cucumber/cucumber-jvm) - BDD testing framework. Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/4.1-testing/cucumber). License: [MIT](https://opensource.org/licenses/MIT), [](https://github.com/cucumber/cucumber-jvm). 
+1. [JBehave](https://github.com/jbehave/jbehave-core) - extensively configurable framework for Behavior-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/jbehave/jbehave-core). 
1. [Spock](https://github.com/spockframework/spock) JUnit-compatible framework featuring an expressive Groovy-derived specification language. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spockframework/spock). 
1. [Google Firing range](https://github.com/google/firing-range) Firing Range is a test bed for web application security scanners, providing synthetic, wide coverage for an array of vulnerabilities. It can be deployed as a Google App Engine application. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/firing-range). 
1. [Fitnesse](https://github.com/unclebob/fitnesse) FitNesse is the fully integrated stand-alone acceptance testing framework and wiki.. License: [CPL-1.0](https://opensource.org/licenses/cpl1.0.php), [](https://github.com/unclebob/fitnesse).
1. [Sikuli](https://github.com/sikuli/sikuli) Sikuli is a visual technology to automate graphical user interfaces (GUI) using images (screenshots). The current release of Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/sikuli/sikuli). 
1. [JavaHamcrest](https://github.com/hamcrest/JavaHamcrest) Matchers that can be combined to create flexible expressions of intent. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/hamcrest/JavaHamcrest). 
1. [Wiremock](https://github.com/tomakehurst/wiremock) Stubbs and mocks web services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/tomakehurst/wiremock). 
-1. [Testng](https://github.com/cbeust/testng) Testing framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cbeust/testng). 
+1. [TestNG](https://github.com/cbeust/testng) Testing framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cbeust/testng). 
1. [Galenframework Galen](https://github.com/galenframework/galen) Layout and functional testing framework for websites. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/galenframework/galen). 
1. [AssertJ](https://github.com/joel-costigliola/assertj-core) Fluent assertions that improve readability. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/joel-costigliola/assertj-core). 
1. [Google truth](https://github.com/google/truth) Google's assertion and proposition framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/truth). 
@@ -971,7 +986,6 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Arquillian](http://arquillian.org/) - Integration and functional testing platform for Java EE containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Citrus](http://citrusframework.org/) - Integration testing framework with focus on client- and serverside messaging. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [Cucumber](https://github.com/cucumber/cucumber-jvm) - BDD testing framework. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/4.1-testing/cucumber). License: [MIT](https://opensource.org/licenses/MIT). 
1. [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance. License: [MIT](https://opensource.org/licenses/MIT). 
1. [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
1. [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG. License: [MIT](https://opensource.org/licenses/MIT). 
@@ -984,13 +998,16 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Selenide](http://selenide.org/) -Concise API around Selenium to write stable and readable UI tests. License: [MIT](https://opensource.org/licenses/MIT). 
1. [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [SeLion](https://github.com/paypal/SeLion) - Enabling Test Automation in Java. SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with WebDriver in a short time. It can be used for testing web and mobile applications, [](https://github.com/paypal/SeLion). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [cdp4j](https://github.com/webfolderio/cdp4j) - Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. [](https://github.com/webfolderio/cdp4j) License: [MIT](https://opensource.org/licenses/MIT). 
+1. [Image-Comparison](https://github.com/romankh3/image-comparison) - Published on Maven Central Java Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison. [](https://github.com/romankh3/image-comparison) License: [The Unlicense](https://unlicense.org)
+1. [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Hakky54/log-captor). 
### 2. Code Coverage
*Frameworks and tools that enable collection of code coverage metrics for test suites.*
[Up](#useful-java-links)
1. [JaCoCo](http://eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation; prominently used by EclEmma, the Eclipse code-coverage plugin. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License), [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [BSD](https://en.wikipedia.org/wiki/BSD_licenses). 
-1. [Clover](https://www.atlassian.com/software/clover/overview) - Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. ***License: proprietary*** 
+1. [Clover](https://www.atlassian.com/software/clover/overview) - Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. ***License: proprietary*** 
1. [Cobertura](http://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
1. [JCov](https://wiki.openjdk.java.net/display/CodeTools/jcov) - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
@@ -1003,10 +1020,10 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
1. [Codeship](https://codeship.com/features) - Hosted services with a limited free plan. 
1. [fabric8](http://fabric8.io/) - Integration platform for containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Go](https://www.thoughtworks.com/go/) - ThoughtWork's open-source solution. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-1. [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. License: [MIT](https://opensource.org/licenses/MIT). 
+1. [Jenkins](http://jenkins.io/) - Provides server-based deployment services. License: [MIT](https://opensource.org/licenses/MIT). 
1. [TeamCity](http://www.jetbrains.com/teamcity/) - JetBrain's CI solution with a free version. **License: proprietary** 
1. [Travis](https://travis-ci.org) - Hosted service often used for open-source projects. License: ?
-1. [Hudson](http://hudson-ci.org/) - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
+1. [Hudson](https://www.eclipse.org/hudson/) - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
1. [Apache Continuum](http://continuum.apache.org/) Apache Continuum software is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -1070,10 +1087,10 @@ of Apache Hadoop. https://hive.apache.org/ .License: [Apache 2](http://www.apach
[Up](#useful-java-links)
1. [Bintray](https://bintray.com/) - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans. **License: proprietary** 
-1. [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids or a "Docker for Java" that supports JVM-optimized containers. http://www.capsule.io/ [](https://github.com/puniverse/capsule). License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
+1. [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids or a "Docker for Java" that supports JVM-optimized containers. [](https://github.com/puniverse/capsule). License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
1. [Central Repository](http://search.maven.org/) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven and available in all other build tools. **License: proprietary** 
-1. [IzPack](https://github.com/izpack/izpack) - Setup authoring tool for cross-platform deployments. http://izpack.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/izpack/izpack)). 
-1. [JitPack](https://github.com/jitpack/jitpack.io/) - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. https://jitpack.io/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/jitpack/jitpack.io)). 
+1. [IzPack](https://github.com/izpack/izpack) - Setup authoring tool for cross-platform deployments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/izpack/izpack)). 
+1. [JitPack](https://github.com/jitpack/jitpack.io/) - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/jitpack/jitpack.io)). 
1. [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses) or [MIT](https://opensource.org/licenses/MIT). 
1. [Nexus](http://www.sonatype.com/nexus-repository-sonatype) - Binary management with proxy and caching capabilities. **License: proprietary** 
1. [packr](https://github.com/libgdx/packr/) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
@@ -1119,10 +1136,11 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [AppDynamics](https://www.appdynamics.com/) - Commercial performance monitor. **License: proprietary** 
1. [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [jmxtrans](https://github.com/jmxtrans/jmxtrans/) - Tool to connect to multiple JVMs and to query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVMs attributes. Likewise, this tool supports different output writes, including Graphite, Ganglia, StatsD, among others. License: [MIT](https://opensource.org/licenses/MIT). 
-1. [Kamon](http://www.kamon.io/) - Tool for monitoring applications running on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Kamon](https://www.kamon.io/) - Tool for monitoring applications running on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
+1. [Glowroot](https://glowroot.org/) - Open source Java APM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [New Relic](http://newrelic.com/) - Commercial performance monitor. **License: proprietary** 
1. [SPM](https://sematext.com/spm/) - Commercial performance monitor with distributing transaction tracing for JVM apps. **License: proprietary**
-1. [Takipi](https://www.takipi.com/) - Commercial in-production error monitoring and debugging. **License: proprietary** 
+1. [OverOps](https://www.overops.com/) - Root cause automation in production. **License: proprietary** 
#### 6. Redefinition of classes at runtime
[Up](#useful-java-links)
@@ -1145,6 +1163,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [Bytecode viewer](https://github.com/Konloch/bytecode-viewer) A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More). License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/Konloch/bytecode-viewer). 
1. [Reflections](https://github.com/ronmamo/reflections) Java runtime metadata analysis, in the spirit of Scannotations. Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. License: [WTFPL](https://en.wikipedia.org/wiki/WTFPL), [](https://github.com/ronmamo/reflections). 
1. [Jabba:](https://github.com/shyiko/jabba) Java Version Manager inspired by [nvm](https://github.com/creationix/nvm) (Node.js). The goal is to provide unified pain-free experience of installing (and switching between different versions of) JDK. License [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/shyiko/jabba). 
+1. [Chocotea:](https://github.com/cleopatra27) Generates postman collection, environment and integration tests from java code. License [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cleopatra27/chocotea).
*Current implementations of the JVM/JDK.*
@@ -1153,8 +1172,8 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [Zulu OpenJDK](http://www.azul.com/downloads/zulu/) - OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
1. [Zulu OpenJDK 9](http://zulu.org/zulu-9-pre-release-downloads/) - Early access OpenJDK 9 builds for Windows, Linux, and Mac OS X. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-## VI. Program languages and applications, that was written with Java
-### 1. Program languages, that was written with Java
+## VI. Program languages and applications that were written with Java
+### 1. Program languages that were written with Java
[Up](#useful-java-links)
1. [Clojure](https://github.com/clojure/clojure) The Clojure programming language. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/clojure/clojure). 
@@ -1165,14 +1184,14 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [Trifork Erjang](https://github.com/trifork/erjang) A JVM-based Erlang VM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/trifork/erjang). 
-### 2. Other program languages tools, that was written with Java
+### 2. Other program languages tools that were written with Java
[Up](#useful-java-links)
1. [Go lang idea plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Google Go language IDE built using the IntelliJ Platform. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/go-lang-plugin-org/go-lang-idea-plugin). 
1. [Processing js](https://github.com/jeresig/processing-js) A port of the Processing visualization language to JavaScript. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/jeresig/processing-js). 
1. [Pysonar2](https://github.com/yinwang0/pysonar2) PySonar2 is a type inferencer and indexer for Python, which performs sophisticated interprocedural analysis to infer types. License: [GNU](http://www.gnu.org/licenses/agpl-3.0.en.html) [GNU AGPLv3](http://www.gnu.org/licenses/agpl-3.0.en.html), [](https://github.com/yinwang0/pysonar2). 
-### 3. Javascript
+### 3. Javascript
[Up](#useful-java-links)
1. [Yuicompressor](https://github.com/yui/yuicompressor) The YUI Compressor is a JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. License: [BSD](https://en.wikipedia.org/wiki/BSD_licenses), [](https://github.com/yui/yuicompressor). 
@@ -1188,7 +1207,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [JavaCC](https://javacc.java.net/) -More specific and slightly easier to learn. Has syntactic lookahead. License: [BSD ](https://en.wikipedia.org/wiki/BSD_licenses). 
-### 5. Opensource applications, that was written with Java
+### 5. Opensource applications that were written with Java
[Up](#useful-java-links)
1. [Square Keywhiz](https://github.com/square/keywhiz) - A system for distributing and managing secrets. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/keywhiz). 
@@ -1208,7 +1227,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [Languagetool](https://github.com/languagetool-org/languagetool) - Style and Grammar Checker for 25+ Languages. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/languagetool-org/languagetool). 
1. [Apache OpenMeetings](http://openmeetings.apache.org) Video conferencing, instant messaging, white board and collaborative document editing application. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-### 6. Opensource games, that was written with Java
+### 6. Opensource games that were written with Java
[Up](#useful-java-links)
1. [Bukkit](https://github.com/Bukkit/Bukkit) The Minecraft Mod API. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/Bukkit/Bukkit). 
@@ -1224,7 +1243,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [Tribal Trouble](https://github.com/sunenielsen/tribaltrouble) - Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/sunenielsen/tribaltrouble). 
-
+
## VII. Other
### 1. Source code examples
[Up](#useful-java-links)
@@ -1242,6 +1261,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
1. [7guis](https://github.com/eugenkiss/7guis) 7GUIs is a GUI programming usability benchmark. License: ?, [](https://github.com/eugenkiss/7guis).
1. [Spring projects Spring data jpa examples](https://github.com/spring-projects/spring-data-examples) Spring Data Example Projects. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-data-examples). 
1. [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Modern Java - A Guide to Java 8. License: [MIT](https://opensource.org/licenses/MIT). 
+1. [Java Micro code pieces](https://onelinerhub.com/java) - community library of micro Java code solutions for popular issues.
### 2. Benchmark results
[Up](#useful-java-links)
@@ -1264,13 +1284,15 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
* [r/java](https://www.reddit.com/r/java) - Subreddit for the Java community.
* [stackoverflow](http://stackoverflow.com/questions/tagged/java) - Question/answer platform.
* [vJUG](http://virtualjug.com/) - Virtual Java User Group.
+* [DevProjects](https://www.codementor.io/projects/java) - Community to discuss Java projects and share solutions.
+
### 2. Influential Books
*Books that had a high impact and are still worth reading.*
[Up](#useful-java-links)
-* [Effective Java (2nd Edition)](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683)
-* [Java 8 in Action](http://www.amazon.com/Java-Action-Lambdas-functional-style-programming/dp/1617291994/)
+* [Effective Java (3nd Edition)](https://www.amazon.com/Effective-Java-Joshua-Bloch/dp/0134685997)
+* [Modern Java in Action](https://www.amazon.com/Modern-Java-Action-functional-programming/dp/1617293563)
* [Java Concurrency in Practice](http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601)
* [Thinking in Java](http://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486)
@@ -1281,10 +1303,11 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
* [Android Arsenal](https://android-arsenal.com)
* [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html)
+* [Hackr.io](https://hackr.io/tutorials/learn-java)
* [InfoQ](http://www.infoq.com/)
* [Java, SQL, and jOOQ](https://blog.jooq.org/)
-* [Java.net](https://home.java.net/)
* [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news)
+* [Java tutorial](https://hackr.io/tutorials/learn-java)
* [JavaWorld](http://www.javaworld.com/)
* [JAXenter](https://jaxenter.com/)
* [RebelLabs](http://zeroturnaround.com/rebellabs/)
@@ -1295,3 +1318,7 @@ Teamware, ClearCase, Perforce, Monotone and Bazaar. License: [CDDL 1.0](http://o
* [Vanilla Java](http://vanillajava.blogspot.ch/)
* [Vlad Mihalcea on Hibernate](https://vladmihalcea.com/)
* [Voxxed](https://www.voxxed.com/)
+* [OverOps Blog](https://blog.takipi.com/)
+* [Bookmarks.dev](https://www.bookmarks.dev/tagged/java)
+* [Baeldung](https://www.baeldung.com/full_archive)
+* [InterviewBit](https://www.interviewbit.com/courses/fast-track-java/)