diff --git a/.gitignore b/.gitignore
index d776f6e..ec428ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
*.class
build/
# Package Files #
-
+.idea/
*.war
*.ear
.classpath
@@ -21,3 +21,4 @@ sm2/src/resource/jdbc.properties
#mq
*.data
*.redo
+.DS_Store
diff --git a/Java8s/java8tests.iml b/Java8s/java8tests.iml
new file mode 100644
index 0000000..0514281
--- /dev/null
+++ b/Java8s/java8tests.iml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Java8s/pom.xml b/Java8s/pom.xml
index f41b1b4..bec00ba 100644
--- a/Java8s/pom.xml
+++ b/Java8s/pom.xml
@@ -115,6 +115,13 @@
spring-data-mongodb
1.7.0.RELEASE
+
+
+ mysql
+ mysql-connector-java
+ 8.0.23
+
+
src
diff --git a/Java8s/src/org/luckystars/concurrent/counter/AtomitCounter.java b/Java8s/src/org/luckystars/concurrent/counter/AtomitCounter.java
new file mode 100644
index 0000000..cdb8fd3
--- /dev/null
+++ b/Java8s/src/org/luckystars/concurrent/counter/AtomitCounter.java
@@ -0,0 +1,14 @@
+package org.luckystars.concurrent.counter;
+
+import java.util.concurrent.atomic.AtomicLong;
+
+public class AtomitCounter {
+
+ private final AtomicLong count = new AtomicLong(0L);
+
+ public Long countPlus(){
+ return count.incrementAndGet();
+ }
+
+
+}
diff --git a/Java8s/src/org/luckystars/concurrent/counter/SyncCounter.java b/Java8s/src/org/luckystars/concurrent/counter/SyncCounter.java
new file mode 100644
index 0000000..118ae40
--- /dev/null
+++ b/Java8s/src/org/luckystars/concurrent/counter/SyncCounter.java
@@ -0,0 +1,4 @@
+package org.luckystars.concurrent.counter;
+
+public class SyncCounter {
+}
diff --git a/Java8s/src/org/luckystars/concurrent/counter/SyncInteger.java b/Java8s/src/org/luckystars/concurrent/counter/SyncInteger.java
new file mode 100644
index 0000000..e2c6b8f
--- /dev/null
+++ b/Java8s/src/org/luckystars/concurrent/counter/SyncInteger.java
@@ -0,0 +1,18 @@
+package org.luckystars.concurrent.counter;
+
+import org.apache.http.annotation.GuardedBy;
+import org.apache.http.annotation.ThreadSafe;
+
+@ThreadSafe
+public class SyncInteger {
+ @GuardedBy("this")
+ private int value;
+
+ public synchronized int getValue() {
+ return value;
+ }
+
+ public synchronized void setValue(int value) {
+ this.value = value;
+ }
+}
diff --git a/Java8s/src/org/luckystars/java8tests/AboutStream.java b/Java8s/src/org/luckystars/java8tests/AboutStream.java
index 7b042cc..c5bac7f 100644
--- a/Java8s/src/org/luckystars/java8tests/AboutStream.java
+++ b/Java8s/src/org/luckystars/java8tests/AboutStream.java
@@ -16,12 +16,12 @@
import org.openjdk.jmh.runner.RunnerException;
public class AboutStream {
-
- static List intList =
+ static List intList =
Stream.generate(()->(int)(Math.random()*100)).limit(100).collect(Collectors.toList());
// Stream.generate(()->(int)(Math.random()*100)).limit(10000000).collect(Collectors.toList());
public static void main(String[] args) throws RunnerException {
+// sun.nio.ch.FileChannelImpl;
// Options opt = new OptionsBuilder()
// .include(AboutStream.class.getSimpleName())
// .warmupIterations(10)