diff --git a/core-java-concurrency/README.md b/core-java-concurrency/README.md
index 2db7b91cde..e8693a0231 100644
--- a/core-java-concurrency/README.md
+++ b/core-java-concurrency/README.md
@@ -31,3 +31,6 @@
- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield)
- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads)
- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch)
+- [Guide to the Fork/Join Framework in Java](http://www.baeldung.com/java-fork-join)
+- [A Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random)
+- [The Thread.join() Method in Java](http://www.baeldung.com/java-thread-join)
\ No newline at end of file
diff --git a/core-java-concurrency/pom.xml b/core-java-concurrency/pom.xml
index bd22253c2c..5dde4d5820 100644
--- a/core-java-concurrency/pom.xml
+++ b/core-java-concurrency/pom.xml
@@ -47,6 +47,16 @@
${avaitility.version}
test
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh-core.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh-generator-annprocess.version}
+
@@ -69,6 +79,8 @@
3.6.1
1.7.0
+ 1.19
+ 1.19
diff --git a/core-java/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java b/core-java-concurrency/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java
rename to core-java-concurrency/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java
diff --git a/core-java/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java b/core-java-concurrency/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java
rename to core-java-concurrency/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java
diff --git a/core-java/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java b/core-java-concurrency/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java
rename to core-java-concurrency/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java
diff --git a/core-java/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java b/core-java-concurrency/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java
rename to core-java-concurrency/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java
diff --git a/core-java/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java b/core-java-concurrency/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java
rename to core-java-concurrency/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java
diff --git a/core-java/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java b/core-java-concurrency/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java
rename to core-java-concurrency/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java
diff --git a/core-java/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java b/core-java-concurrency/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java
rename to core-java-concurrency/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java b/core-java-concurrency/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java
rename to core-java-concurrency/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java
diff --git a/core-java-lang-syntax/.gitignore b/core-java-lang-syntax/.gitignore
new file mode 100644
index 0000000000..374c8bf907
--- /dev/null
+++ b/core-java-lang-syntax/.gitignore
@@ -0,0 +1,25 @@
+*.class
+
+0.*
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+.resourceCache
+
+# Packaged files #
+*.jar
+*.war
+*.ear
+
+# Files generated by integration tests
+backup-pom.xml
+/bin/
+/temp
+
+#IntelliJ specific
+.idea/
+*.iml
\ No newline at end of file
diff --git a/core-java-lang-syntax/README.md b/core-java-lang-syntax/README.md
new file mode 100644
index 0000000000..a7c1b7cc4a
--- /dev/null
+++ b/core-java-lang-syntax/README.md
@@ -0,0 +1,19 @@
+=========
+
+## Core Java Lang Syntax Cookbooks and Examples
+
+### Relevant Articles:
+- [Introduction to Java Generics](http://www.baeldung.com/java-generics)
+- [Java Primitive Conversions](http://www.baeldung.com/java-primitive-conversions)
+- [Java Double Brace Initialization](http://www.baeldung.com/java-double-brace-initialization)
+- [Guide to the Diamond Operator in Java](http://www.baeldung.com/java-diamond-operator)
+- [The Java continue and break Keywords](http://www.baeldung.com/java-continue-and-break)
+- [A Guide to Java Initialization](http://www.baeldung.com/java-initialization)
+- [A Guide to Java Loops](http://www.baeldung.com/java-loops)
+- [Varargs in Java](http://www.baeldung.com/java-varargs)
+- [A Guide to Java Enums](http://www.baeldung.com/a-guide-to-java-enums)
+- [Infinite Loops in Java](http://www.baeldung.com/infinite-loops-java)
+- [Quick Guide to java.lang.System](http://www.baeldung.com/java-lang-system)
+- [Java Switch Statement](https://www.baeldung.com/java-switch)
+- [The Modulo Operator in Java](https://www.baeldung.com/modulo-java)
+- [Ternary Operator In Java](https://www.baeldung.com/java-ternary-operator)
\ No newline at end of file
diff --git a/core-java-lang-syntax/pom.xml b/core-java-lang-syntax/pom.xml
new file mode 100644
index 0000000000..9481f29459
--- /dev/null
+++ b/core-java-lang-syntax/pom.xml
@@ -0,0 +1,53 @@
+
+ 4.0.0
+ com.baeldung
+ core-java-lang-syntax
+ 0.1.0-SNAPSHOT
+ jar
+ core-java-lang-syntax
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+ org.slf4j
+ log4j-over-slf4j
+ ${org.slf4j.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+
+ core-java-lang-syntax
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+ 3.10.0
+
+
+
diff --git a/core-java-lang/src/main/java/com/baeldung/breakcontinue/BreakContinue.java b/core-java-lang-syntax/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
diff --git a/core-java-lang/src/main/java/com/baeldung/enums/Pizza.java b/core-java-lang-syntax/src/main/java/com/baeldung/enums/Pizza.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/enums/Pizza.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/enums/Pizza.java
diff --git a/core-java-lang/src/main/java/com/baeldung/enums/PizzaDeliveryStrategy.java b/core-java-lang-syntax/src/main/java/com/baeldung/enums/PizzaDeliveryStrategy.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/enums/PizzaDeliveryStrategy.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/enums/PizzaDeliveryStrategy.java
diff --git a/core-java-lang/src/main/java/com/baeldung/enums/PizzaDeliverySystemConfiguration.java b/core-java-lang-syntax/src/main/java/com/baeldung/enums/PizzaDeliverySystemConfiguration.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/enums/PizzaDeliverySystemConfiguration.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/enums/PizzaDeliverySystemConfiguration.java
diff --git a/core-java-lang/src/main/java/com/baeldung/enums/README.md b/core-java-lang-syntax/src/main/java/com/baeldung/enums/README.md
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/enums/README.md
rename to core-java-lang-syntax/src/main/java/com/baeldung/enums/README.md
diff --git a/core-java-lang/src/main/java/com/baeldung/generics/Building.java b/core-java-lang-syntax/src/main/java/com/baeldung/generics/Building.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/generics/Building.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/generics/Building.java
diff --git a/core-java-lang/src/main/java/com/baeldung/generics/Generics.java b/core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/generics/Generics.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/generics/Generics.java
diff --git a/core-java-lang/src/main/java/com/baeldung/generics/House.java b/core-java-lang-syntax/src/main/java/com/baeldung/generics/House.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/generics/House.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/generics/House.java
diff --git a/core-java-lang-syntax/src/main/java/com/baeldung/initializationguide/User.java b/core-java-lang-syntax/src/main/java/com/baeldung/initializationguide/User.java
new file mode 100644
index 0000000000..e2e3f051dd
--- /dev/null
+++ b/core-java-lang-syntax/src/main/java/com/baeldung/initializationguide/User.java
@@ -0,0 +1,53 @@
+package com.baeldung.initializationguide;
+
+import java.io.Serializable;
+
+public class User implements Serializable, Cloneable {
+ private static final long serialVersionUID = 1L;
+ static String forum;
+ private String name;
+ private int id;
+
+ {
+ id = 0;
+ System.out.println("Instance Initializer");
+ }
+
+ static {
+ forum = "Java";
+ System.out.println("Static Initializer");
+ }
+
+ public User(String name, int id) {
+ super();
+ this.name = name;
+ this.id = id;
+ }
+
+ public User() {
+ System.out.println("Constructor");
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Override
+ protected Object clone() throws CloneNotSupportedException {
+ return this;
+ }
+
+}
+
diff --git a/core-java-lang/src/main/java/com/baeldung/loops/InfiniteLoops.java b/core-java-lang-syntax/src/main/java/com/baeldung/loops/InfiniteLoops.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/loops/InfiniteLoops.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/loops/InfiniteLoops.java
diff --git a/core-java-lang/src/main/java/com/baeldung/loops/LoopsInJava.java b/core-java-lang-syntax/src/main/java/com/baeldung/loops/LoopsInJava.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/loops/LoopsInJava.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/loops/LoopsInJava.java
diff --git a/core-java-lang/src/main/java/com/baeldung/switchstatement/SwitchStatement.java b/core-java-lang-syntax/src/main/java/com/baeldung/switchstatement/SwitchStatement.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/switchstatement/SwitchStatement.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/switchstatement/SwitchStatement.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/ChatWindow.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/ChatWindow.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/ChatWindow.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/ChatWindow.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/DateTimeService.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/DateTimeService.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/DateTimeService.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/DateTimeService.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/EnvironmentVariables.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/EnvironmentVariables.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/EnvironmentVariables.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/EnvironmentVariables.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/SystemErrDemo.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemErrDemo.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/SystemErrDemo.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/SystemErrDemo.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/SystemExitDemo.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemExitDemo.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/SystemExitDemo.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/SystemExitDemo.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/SystemOutDemo.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/SystemOutDemo.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/SystemOutDemo.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/SystemOutDemo.java
diff --git a/core-java-lang/src/main/java/com/baeldung/system/UserCredentials.java b/core-java-lang-syntax/src/main/java/com/baeldung/system/UserCredentials.java
similarity index 100%
rename from core-java-lang/src/main/java/com/baeldung/system/UserCredentials.java
rename to core-java-lang-syntax/src/main/java/com/baeldung/system/UserCredentials.java
diff --git a/core-java-lang/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/enums/PizzaUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/enums/PizzaUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/enums/PizzaUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/enums/PizzaUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/generics/GenericsUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/generics/GenericsUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/generics/GenericsUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/generics/GenericsUnitTest.java
diff --git a/core-java-lang-syntax/src/test/java/com/baeldung/initializationguide/UserUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/initializationguide/UserUnitTest.java
new file mode 100644
index 0000000000..f74384e6f7
--- /dev/null
+++ b/core-java-lang-syntax/src/test/java/com/baeldung/initializationguide/UserUnitTest.java
@@ -0,0 +1,37 @@
+package com.baeldung.initializationguide;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.lang.reflect.InvocationTargetException;
+
+public class UserUnitTest {
+
+ @Test
+ public void givenUserInstance_whenIntializedWithNew_thenInstanceIsNotNull() {
+ User user = new User("Alice", 1);
+ assertThat(user).isNotNull();
+ }
+
+ @Test
+ public void givenUserInstance_whenInitializedWithReflection_thenInstanceIsNotNull() throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
+ User user = User.class.getConstructor(String.class, int.class)
+ .newInstance("Alice", 2);
+ assertThat(user).isNotNull();
+ }
+
+ @Test
+ public void givenUserInstance_whenCopiedWithClone_thenExactMatchIsCreated() throws CloneNotSupportedException {
+ User user = new User("Alice", 3);
+ User clonedUser = (User) user.clone();
+ assertThat(clonedUser).isEqualTo(user);
+ }
+
+ @Test
+ public void givenUserInstance_whenValuesAreNotInitialized_thenUserNameAndIdReturnDefault() {
+ User user = new User();
+ assertThat(user.getName()).isNull();
+ assertThat(user.getId() == 0);
+ }
+}
diff --git a/core-java-lang/src/test/java/com/baeldung/java/diamond/Car.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Car.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/diamond/Car.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Car.java
diff --git a/core-java-lang/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/java/diamond/Diesel.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Diesel.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/diamond/Diesel.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Diesel.java
diff --git a/core-java-lang/src/test/java/com/baeldung/java/diamond/Engine.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Engine.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/diamond/Engine.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Engine.java
diff --git a/core-java-lang/src/test/java/com/baeldung/java/diamond/Vehicle.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Vehicle.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/diamond/Vehicle.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/diamond/Vehicle.java
diff --git a/core-java-lang/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/loops/WhenUsingLoops.java b/core-java-lang-syntax/src/test/java/com/baeldung/loops/WhenUsingLoops.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/loops/WhenUsingLoops.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/loops/WhenUsingLoops.java
diff --git a/core-java-lang/src/test/java/com/baeldung/modulo/ModuloUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/modulo/ModuloUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/modulo/ModuloUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/modulo/ModuloUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/switchstatement/SwitchStatementUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/switchstatement/SwitchStatementUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/switchstatement/SwitchStatementUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/switchstatement/SwitchStatementUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/system/DateTimeServiceUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/system/EnvironmentVariablesUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/system/SystemArrayCopyUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/system/SystemNanoUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemNanoUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/system/SystemNanoUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/system/SystemNanoUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/system/SystemPropertiesUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/ternaryoperator/TernaryOperatorUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/ternaryoperator/TernaryOperatorUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/ternaryoperator/TernaryOperatorUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/ternaryoperator/TernaryOperatorUnitTest.java
diff --git a/core-java-lang/src/test/java/com/baeldung/varargs/FormatterUnitTest.java b/core-java-lang-syntax/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
similarity index 100%
rename from core-java-lang/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
rename to core-java-lang-syntax/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
diff --git a/core-java-lang/README.md b/core-java-lang/README.md
index 68cd7ce452..52dfe708a3 100644
--- a/core-java-lang/README.md
+++ b/core-java-lang/README.md
@@ -4,9 +4,8 @@
### Relevant Articles:
- [Guide to Java Reflection](http://www.baeldung.com/java-reflection)
-- [Introduction to Java Generics](http://www.baeldung.com/java-generics)
+- [Generate equals() and hashCode() with Eclipse](http://www.baeldung.com/java-eclipse-equals-and-hashcode)
- [Chained Exceptions in Java](http://www.baeldung.com/java-chained-exceptions)
-- [Java Primitive Conversions](http://www.baeldung.com/java-primitive-conversions)
- [Call Methods at Runtime Using Java Reflection](http://www.baeldung.com/java-method-reflection)
- [Iterating Over Enum Values in Java](http://www.baeldung.com/java-enum-iteration)
- [Changing Annotation Parameters At Runtime](http://www.baeldung.com/java-reflection-change-annotation-params)
@@ -16,8 +15,6 @@
- [Quick Example - Comparator vs Comparable in Java](http://www.baeldung.com/java-comparator-comparable)
- [The Java continue and break Keywords](http://www.baeldung.com/java-continue-and-break)
- [Nested Classes in Java](http://www.baeldung.com/java-nested-classes)
-- [A Guide to Java Loops](http://www.baeldung.com/java-loops)
-- [Varargs in Java](http://www.baeldung.com/java-varargs)
- [A Guide to Inner Interfaces in Java](http://www.baeldung.com/java-inner-interfaces)
- [Recursion In Java](http://www.baeldung.com/java-recursion)
- [A Guide to the finalize Method in Java](http://www.baeldung.com/java-finalize)
@@ -33,9 +30,6 @@
- [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding)
- [Difference Between Throw and Throws in Java](https://www.baeldung.com/java-throw-throws)
- [Synthetic Constructs in Java](https://www.baeldung.com/java-synthetic)
-- [Java Switch Statement](https://www.baeldung.com/java-switch)
-- [The Modulo Operator in Java](https://www.baeldung.com/modulo-java)
-- [Ternary Operator In Java](https://www.baeldung.com/java-ternary-operator)
- [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts)
- [“Sneaky Throws” in Java](http://www.baeldung.com/java-sneaky-throws)
- [Retrieving a Class Name in Java](https://www.baeldung.com/java-class-name)
diff --git a/core-java-networking/README.md b/core-java-networking/README.md
index 626ea794e6..4b77aa3c1f 100644
--- a/core-java-networking/README.md
+++ b/core-java-networking/README.md
@@ -5,3 +5,9 @@
### Relevant Articles
- [Connecting Through Proxy Servers in Core Java](https://www.baeldung.com/java-connect-via-proxy-server)
+- [Broadcasting and Multicasting in Java](http://www.baeldung.com/java-broadcast-multicast)
+- [A Guide To UDP In Java](http://www.baeldung.com/udp-in-java)
+- [Sending Emails with Java](http://www.baeldung.com/java-email)
+- [A Guide To HTTP Cookies In Java](http://www.baeldung.com/cookies-java)
+- [A Guide to the Java URL](http://www.baeldung.com/java-url)
+- [Working with Network Interfaces in Java](http://www.baeldung.com/java-network-interfaces)
diff --git a/core-java-networking/pom.xml b/core-java-networking/pom.xml
index 178295e1ec..c7fa2af180 100644
--- a/core-java-networking/pom.xml
+++ b/core-java-networking/pom.xml
@@ -13,7 +13,25 @@
../parent-java
+
+
+ javax.mail
+ mail
+ ${javax.mail.version}
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+
core-java-networking
+
+
+ 1.5.0-b01
+ 2.5
+
diff --git a/core-java/src/main/java/com/baeldung/mail/EmailService.java b/core-java-networking/src/main/java/com/baeldung/mail/EmailService.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/mail/EmailService.java
rename to core-java-networking/src/main/java/com/baeldung/mail/EmailService.java
diff --git a/core-java/src/main/java/com/baeldung/networking/cookies/PersistentCookieStore.java b/core-java-networking/src/main/java/com/baeldung/networking/cookies/PersistentCookieStore.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/cookies/PersistentCookieStore.java
rename to core-java-networking/src/main/java/com/baeldung/networking/cookies/PersistentCookieStore.java
diff --git a/core-java/src/main/java/com/baeldung/networking/cookies/ProxyAcceptCookiePolicy.java b/core-java-networking/src/main/java/com/baeldung/networking/cookies/ProxyAcceptCookiePolicy.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/cookies/ProxyAcceptCookiePolicy.java
rename to core-java-networking/src/main/java/com/baeldung/networking/cookies/ProxyAcceptCookiePolicy.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/EchoClient.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/EchoClient.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/EchoClient.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/EchoClient.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/EchoServer.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/EchoServer.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/EchoServer.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/EchoServer.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingClient.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingClient.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingClient.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingClient.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingEchoServer.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingEchoServer.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingEchoServer.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/broadcast/BroadcastingEchoServer.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/multicast/MulticastEchoServer.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/multicast/MulticastEchoServer.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/multicast/MulticastEchoServer.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/multicast/MulticastEchoServer.java
diff --git a/core-java/src/main/java/com/baeldung/networking/udp/multicast/MulticastingClient.java b/core-java-networking/src/main/java/com/baeldung/networking/udp/multicast/MulticastingClient.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/networking/udp/multicast/MulticastingClient.java
rename to core-java-networking/src/main/java/com/baeldung/networking/udp/multicast/MulticastingClient.java
diff --git a/core-java/src/main/java/com/baeldung/javanetworking/uriurl/URIDemo.java b/core-java-networking/src/main/java/com/baeldung/networking/uriurl/URIDemo.java
similarity index 98%
rename from core-java/src/main/java/com/baeldung/javanetworking/uriurl/URIDemo.java
rename to core-java-networking/src/main/java/com/baeldung/networking/uriurl/URIDemo.java
index 121e0f5d72..91f6e21293 100644
--- a/core-java/src/main/java/com/baeldung/javanetworking/uriurl/URIDemo.java
+++ b/core-java-networking/src/main/java/com/baeldung/networking/uriurl/URIDemo.java
@@ -1,4 +1,4 @@
-package com.baeldung.javanetworking.uriurl;
+package com.baeldung.networking.uriurl;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/core-java/src/main/java/com/baeldung/javanetworking/uriurl/URLDemo.java b/core-java-networking/src/main/java/com/baeldung/networking/uriurl/URLDemo.java
similarity index 98%
rename from core-java/src/main/java/com/baeldung/javanetworking/uriurl/URLDemo.java
rename to core-java-networking/src/main/java/com/baeldung/networking/uriurl/URLDemo.java
index 109a9951d2..d257e7a295 100644
--- a/core-java/src/main/java/com/baeldung/javanetworking/uriurl/URLDemo.java
+++ b/core-java-networking/src/main/java/com/baeldung/networking/uriurl/URLDemo.java
@@ -1,4 +1,4 @@
-package com.baeldung.javanetworking.uriurl;
+package com.baeldung.networking.uriurl;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/core-java-networking/src/main/resources/logback.xml b/core-java-networking/src/main/resources/logback.xml
new file mode 100644
index 0000000000..56af2d397e
--- /dev/null
+++ b/core-java-networking/src/main/resources/logback.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java/src/test/java/com/baeldung/java/networking/interfaces/NetworkInterfaceManualTest.java b/core-java-networking/src/test/java/com/baeldung/networking/interfaces/NetworkInterfaceManualTest.java
similarity index 98%
rename from core-java/src/test/java/com/baeldung/java/networking/interfaces/NetworkInterfaceManualTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/interfaces/NetworkInterfaceManualTest.java
index 8635a24f18..47a598f599 100644
--- a/core-java/src/test/java/com/baeldung/java/networking/interfaces/NetworkInterfaceManualTest.java
+++ b/core-java-networking/src/test/java/com/baeldung/networking/interfaces/NetworkInterfaceManualTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.java.networking.interfaces;
+package com.baeldung.networking.interfaces;
import org.junit.Test;
diff --git a/core-java/src/test/java/com/baeldung/networking/udp/UDPLiveTest.java b/core-java-networking/src/test/java/com/baeldung/networking/udp/UDPLiveTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/networking/udp/UDPLiveTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/udp/UDPLiveTest.java
diff --git a/core-java/src/test/java/com/baeldung/networking/udp/broadcast/BroadcastLiveTest.java b/core-java-networking/src/test/java/com/baeldung/networking/udp/broadcast/BroadcastLiveTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/networking/udp/broadcast/BroadcastLiveTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/udp/broadcast/BroadcastLiveTest.java
diff --git a/core-java/src/test/java/com/baeldung/networking/udp/multicast/MulticastLiveTest.java b/core-java-networking/src/test/java/com/baeldung/networking/udp/multicast/MulticastLiveTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/networking/udp/multicast/MulticastLiveTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/udp/multicast/MulticastLiveTest.java
diff --git a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URIDemoLiveTest.java b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIDemoLiveTest.java
similarity index 95%
rename from core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URIDemoLiveTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIDemoLiveTest.java
index 0c312ff613..3b73cc0943 100644
--- a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URIDemoLiveTest.java
+++ b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIDemoLiveTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.javanetworking.uriurl.test;
+package com.baeldung.networking.uriurl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -20,7 +20,7 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.baeldung.javanetworking.uriurl.URLDemo;
+import com.baeldung.networking.uriurl.URLDemo;
@FixMethodOrder
public class URIDemoLiveTest {
diff --git a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/URIvsURLUnitTest.java b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIvsURLUnitTest.java
similarity index 98%
rename from core-java/src/test/java/com/baeldung/javanetworking/uriurl/URIvsURLUnitTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIvsURLUnitTest.java
index 8837dc5556..ec1cb4c0c9 100644
--- a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/URIvsURLUnitTest.java
+++ b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URIvsURLUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.javanetworking.uriurl;
+package com.baeldung.networking.uriurl;
import java.io.IOException;
import java.net.MalformedURLException;
diff --git a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URLDemoLiveTest.java b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URLDemoLiveTest.java
similarity index 97%
rename from core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URLDemoLiveTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/uriurl/URLDemoLiveTest.java
index 15f53ed878..a9104311e6 100644
--- a/core-java/src/test/java/com/baeldung/javanetworking/uriurl/test/URLDemoLiveTest.java
+++ b/core-java-networking/src/test/java/com/baeldung/networking/uriurl/URLDemoLiveTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.javanetworking.uriurl.test;
+package com.baeldung.networking.uriurl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -18,7 +18,7 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.baeldung.javanetworking.uriurl.URLDemo;
+import com.baeldung.networking.uriurl.URLDemo;
@FixMethodOrder
public class URLDemoLiveTest {
diff --git a/core-java/src/test/java/com/baeldung/java/networking/url/UrlUnitTest.java b/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
similarity index 98%
rename from core-java/src/test/java/com/baeldung/java/networking/url/UrlUnitTest.java
rename to core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
index 505d9595ab..112f2cf53f 100644
--- a/core-java/src/test/java/com/baeldung/java/networking/url/UrlUnitTest.java
+++ b/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.java.networking.url;
+package com.baeldung.networking.url;
import static org.junit.Assert.assertEquals;
diff --git a/core-java/README.md b/core-java/README.md
index 4fbc8bbc6e..b0e8f81e1f 100644
--- a/core-java/README.md
+++ b/core-java/README.md
@@ -7,7 +7,6 @@
- [How to Run a Shell Command in Java](http://www.baeldung.com/run-shell-command-in-java)
- [MD5 Hashing in Java](http://www.baeldung.com/java-md5)
- [A Guide to Java Sockets](http://www.baeldung.com/a-guide-to-java-sockets)
-- [Guide to the Fork/Join Framework in Java](http://www.baeldung.com/java-fork-join)
- [How to Print Screen in Java](http://www.baeldung.com/print-screen-in-java)
- [A Guide To Java Regular Expressions API](http://www.baeldung.com/regular-expressions-java)
- [Getting Started with Java Properties](http://www.baeldung.com/java-properties)
@@ -27,13 +26,11 @@
- [Guide to UUID in Java](http://www.baeldung.com/java-uuid)
- [Guide to Escaping Characters in Java RegExps](http://www.baeldung.com/java-regexp-escape-char)
- [Difference between URL and URI](http://www.baeldung.com/java-url-vs-uri)
-- [Broadcasting and Multicasting in Java](http://www.baeldung.com/java-broadcast-multicast)
- [OutOfMemoryError: GC Overhead Limit Exceeded](http://www.baeldung.com/java-gc-overhead-limit-exceeded)
- [Creating a Java Compiler Plugin](http://www.baeldung.com/java-build-compiler-plugin)
- [Quick Guide to Java Stack](http://www.baeldung.com/java-stack)
- [Guide to java.util.Formatter](http://www.baeldung.com/java-string-formatter)
- [Guide to the Cipher Class](http://www.baeldung.com/java-cipher-class)
-- [A Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random)
- [Compiling Java *.class Files with javac](http://www.baeldung.com/javac)
- [A Guide to Iterator in Java](http://www.baeldung.com/java-iterator)
- [Introduction to Javadoc](http://www.baeldung.com/javadoc)
@@ -42,31 +39,20 @@
- [How to Detect the OS Using Java](http://www.baeldung.com/java-detect-os)
- [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java)
- [What is the serialVersionUID?](http://www.baeldung.com/java-serial-version-uid)
-- [A Guide To UDP In Java](http://www.baeldung.com/udp-in-java)
- [A Guide to the ResourceBundle](http://www.baeldung.com/java-resourcebundle)
- [Class Loaders in Java](http://www.baeldung.com/java-classloaders)
-- [Sending Emails with Java](http://www.baeldung.com/java-email)
- [Introduction to SSL in Java](http://www.baeldung.com/java-ssl)
- [Java KeyStore API](http://www.baeldung.com/java-keystore)
- [Double-Checked Locking with Singleton](http://www.baeldung.com/java-singleton-double-checked-locking)
- [Guide to Java Clock Class](http://www.baeldung.com/java-clock)
-- [Introduction to Creational Design Patterns](http://www.baeldung.com/creational-design-patterns)
-- [Proxy, Decorator, Adapter and Bridge Patterns](http://www.baeldung.com/java-structural-design-patterns)
-- [Singletons in Java](http://www.baeldung.com/java-singleton)
-- [Flyweight Pattern in Java](http://www.baeldung.com/java-flyweight)
-- [The Observer Pattern in Java](http://www.baeldung.com/java-observer-pattern)
-- [Service Locator Pattern](http://www.baeldung.com/java-service-locator-pattern)
-- [The Thread.join() Method in Java](http://www.baeldung.com/java-thread-join)
- [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class)
- [How to Get the File Extension of a File in Java](http://www.baeldung.com/java-file-extension)
-- [Console I/O in Java](http://www.baeldung.com/java-console-input-output)
- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler)
- [Encrypting and Decrypting Files in Java](http://www.baeldung.com/java-cipher-input-output-stream)
- [How to Get the Size of an Object in Java](http://www.baeldung.com/java-size-of-object)
- [Guide to Java Instrumentation](http://www.baeldung.com/java-instrumentation)
- [Getting a File’s Mime Type in Java](http://www.baeldung.com/java-file-mime-type)
- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
-- [Java Constructors vs Static Factory Methods](https://www.baeldung.com/java-constructors-vs-static-factory-methods)
- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
- [Add a Character to a String at a Given Position](https://www.baeldung.com/java-add-character-to-string)
- [Calculating the nth Root in Java](https://www.baeldung.com/java-nth-root)
@@ -85,3 +71,4 @@
- [Calculate the Area of a Circle in Java](https://www.baeldung.com/java-calculate-circle-area)
- [A Guide to the Java Math Class](https://www.baeldung.com/java-lang-math)
- [Graphs in Java](https://www.baeldung.com/java-graphs)
+- [Console I/O in Java](http://www.baeldung.com/java-console-input-output)
diff --git a/core-java/pom.xml b/core-java/pom.xml
index 5bf5699cc3..442d378dab 100644
--- a/core-java/pom.xml
+++ b/core-java/pom.xml
@@ -131,11 +131,6 @@
h2
${h2database.version}
-
- javax.mail
- mail
- ${javax.mail.version}
-
org.apache.tika
@@ -514,7 +509,6 @@
1.19
3.0.0-M1
- 1.5.0-b01
3.0.2
1.4.4
3.1.1
diff --git a/core-java/src/main/java/com/baeldung/networking/README.md b/core-java/src/main/java/com/baeldung/networking/README.md
deleted file mode 100644
index b9e827f085..0000000000
--- a/core-java/src/main/java/com/baeldung/networking/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Relevant Articles:
-- [A Guide To UDP In Java](http://www.baeldung.com/udp-in-java)
-- [A Guide To HTTP Cookies In Java](http://www.baeldung.com/cookies-java)
-- [A Guide to the Java URL](http://www.baeldung.com/java-url)
-- [Working with Network Interfaces in Java](http://www.baeldung.com/java-network-interfaces)
diff --git a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDateUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/test/JacksonDateUnitTest.java
index 390030d0d4..672ff5c6fd 100644
--- a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDateUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/test/JacksonDateUnitTest.java
@@ -11,7 +11,6 @@ import java.time.LocalDateTime;
import java.util.Date;
import java.util.TimeZone;
-import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.Test;
@@ -24,8 +23,9 @@ import com.baeldung.jackson.date.EventWithSerializer;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.util.StdDateFormat;
import com.fasterxml.jackson.datatype.joda.JodaModule;
-import com.fasterxml.jackson.datatype.jsr310.JSR310Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
public class JacksonDateUnitTest {
@@ -54,10 +54,12 @@ public class JacksonDateUnitTest {
final ObjectMapper mapper = new ObjectMapper();
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
- mapper.setDateFormat(new ISO8601DateFormat());
+
+ // StdDateFormat is ISO8601 since jackson 2.9
+ mapper.setDateFormat(new StdDateFormat().withColonInTimeZone(true));
final String result = mapper.writeValueAsString(event);
- assertThat(result, containsString("1970-01-01T02:30:00Z"));
+ assertThat(result, containsString("1970-01-01T02:30:00.000+00:00"));
}
@Test
@@ -152,7 +154,7 @@ public class JacksonDateUnitTest {
final LocalDateTime date = LocalDateTime.of(2014, 12, 20, 2, 30);
final ObjectMapper mapper = new ObjectMapper();
- mapper.registerModule(new JSR310Module());
+ mapper.registerModule(new JavaTimeModule());
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
final String result = mapper.writeValueAsString(date);
diff --git a/patterns/README.md b/patterns/README.md
index 221cba6456..9a15cdff02 100644
--- a/patterns/README.md
+++ b/patterns/README.md
@@ -1,8 +1,3 @@
### Relevant Articles:
- [A Guide to the Front Controller Pattern in Java](http://www.baeldung.com/java-front-controller-pattern)
- [Introduction to Intercepting Filter Pattern in Java](http://www.baeldung.com/intercepting-filter-pattern-in-java)
-- [Implementing the Template Method Pattern in Java](http://www.baeldung.com/java-template-method-pattern)
-- [Chain of Responsibility Design Pattern in Java](http://www.baeldung.com/chain-of-responsibility-pattern)
-- [The Command Pattern in Java](http://www.baeldung.com/java-command-pattern)
-- [The DAO Pattern in Java](http://www.baeldung.com/java-dao-pattern)
-
diff --git a/patterns/design-patterns/README.md b/patterns/design-patterns/README.md
index e56872b3fd..8046d2034b 100644
--- a/patterns/design-patterns/README.md
+++ b/patterns/design-patterns/README.md
@@ -14,3 +14,7 @@
- [State Design Pattern in Java](https://www.baeldung.com/java-state-design-pattern)
- [The Decorator Pattern in Java](https://www.baeldung.com/java-decorator-pattern)
- [Abstract Factory Pattern in Java](https://www.baeldung.com/java-abstract-factory-pattern)
+- [Implementing the Template Method Pattern in Java](http://www.baeldung.com/java-template-method-pattern)
+- [Chain of Responsibility Design Pattern in Java](http://www.baeldung.com/chain-of-responsibility-pattern)
+- [The Command Pattern in Java](http://www.baeldung.com/java-command-pattern)
+- [Java Constructors vs Static Factory Methods](https://www.baeldung.com/java-constructors-vs-static-factory-methods)
diff --git a/core-java/src/main/java/com/baeldung/constructorsstaticfactorymethods/application/Application.java b/patterns/design-patterns/src/main/java/com/baeldung/constructorsstaticfactorymethods/application/Application.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/constructorsstaticfactorymethods/application/Application.java
rename to patterns/design-patterns/src/main/java/com/baeldung/constructorsstaticfactorymethods/application/Application.java
diff --git a/core-java/src/main/java/com/baeldung/constructorsstaticfactorymethods/entities/User.java b/patterns/design-patterns/src/main/java/com/baeldung/constructorsstaticfactorymethods/entities/User.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/constructorsstaticfactorymethods/entities/User.java
rename to patterns/design-patterns/src/main/java/com/baeldung/constructorsstaticfactorymethods/entities/User.java
diff --git a/core-java/src/test/java/com/baeldung/constructorsstaticfactorymethods/UserUnitTest.java b/patterns/design-patterns/src/test/java/com/baeldung/constructorsstaticfactorymethods/UserUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/constructorsstaticfactorymethods/UserUnitTest.java
rename to patterns/design-patterns/src/test/java/com/baeldung/constructorsstaticfactorymethods/UserUnitTest.java
diff --git a/pom.xml b/pom.xml
index 88970f26f5..51c94458fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -381,6 +381,7 @@
core-java-collections
core-java-concurrency-collections
core-java-io
+ core-java-lang-syntax
core-java-lang
core-java-lang-oop
core-java-networking
@@ -1089,6 +1090,7 @@
core-java-collections
core-java-concurrency-collections
core-java-io
+ core-java-lang-syntax
core-java-lang
core-java-lang-oop
core-java-networking