摘要: DateFormatThreadLocal 阅读全文
posted @ 2019-03-05 14:28 濤叔 阅读(358) 评论(0) 推荐(0) 编辑
摘要: import java.time.DayOfWeek; import java.time.Duration; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.time.Period... 阅读全文
posted @ 2019-03-05 14:26 濤叔 阅读(195) 评论(0) 推荐(0) 编辑
摘要: mport java.util.Optional; import org.junit.Test; /* * 一、Optional 容器类:用于尽量避免空指针异常 * Optional.of(T t) : 创建一个 Optional 实例 * Optional.empty() : 创建一个空的 Optional 实例 * Optional.ofNullabl... 阅读全文
posted @ 2019-03-05 14:25 濤叔 阅读(396) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; import org.junit.Test; /* * 一、 Stream 的操作步骤 * * 1. 创建 Stream * * 2. 中间操作 * * ... 阅读全文
posted @ 2019-03-05 14:24 濤叔 阅读(253) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.stream.Stream; import org.junit.Test; /* * 一、Stream API 的操作步骤: * * 1. 创... 阅读全文
posted @ 2019-03-05 14:12 濤叔 阅读(245) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.... 阅读全文
posted @ 2019-03-05 14:11 濤叔 阅读(136) 评论(0) 推荐(0) 编辑
摘要: import java.io.PrintStream; import java.util.Comparator; import java.util.function.BiFunction; import java.util.function.BiPredicate; import java.util.function.Consumer; import java.util.function.F... 阅读全文
posted @ 2019-03-05 14:11 濤叔 阅读(154) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Consumer; import org.junit.Test; /* * 一、... 阅读全文
posted @ 2019-03-05 14:10 濤叔 阅读(264) 评论(0) 推荐(0) 编辑
摘要: TestLambda1 Employee public class Employee { private int id; private String name; private int age; private double salary; public Employee() { } public 阅读全文
posted @ 2019-03-05 14:05 濤叔 阅读(202) 评论(0) 推荐(0) 编辑
摘要: /* * 生产者和消费者案例 */ public class TestProductorAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Productor pro = new Productor(clerk); ... 阅读全文
posted @ 2019-03-05 14:00 濤叔 阅读(191) 评论(0) 推荐(0) 编辑
摘要: import java.time.Duration; import java.time.Instant; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.RecursiveTask; import java.util.... 阅读全文
posted @ 2019-03-05 13:56 濤叔 阅读(210) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 生产者消费者案例: */ public class TestProductorAndConsumerForLo... 阅读全文
posted @ 2019-03-05 13:55 濤叔 阅读(168) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; impor... 阅读全文
posted @ 2019-03-05 13:54 濤叔 阅读(197) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurr... 阅读全文
posted @ 2019-03-05 13:53 濤叔 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: /* * 题目:判断打印的 "one" or "two" ? * * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two * 2. 新增 Thread.sleep() 给 getOne() ,打印? //one two * 3. 新增普通方法 getThree() , 打印? //three one two * 4. 两个普通同步方法,两个 Nu... 阅读全文
posted @ 2019-03-05 13:52 濤叔 阅读(243) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /* * 1. ReadWriteLock : 读写锁 * * 写写/读写 需要“互斥” * 读读 不需要互斥 * */ public class TestRea... 阅读全文
posted @ 2019-03-05 13:51 濤叔 阅读(216) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 1... 阅读全文
posted @ 2019-03-05 13:49 濤叔 阅读(409) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一、用于解决多线程安全问题的方式: * * synchronized:隐式锁 * 1. 同步代码块 * * 2. 同步方法 * * jdk 1.5 后: * 3. 同步锁 Lock... 阅读全文
posted @ 2019-03-05 13:48 濤叔 阅读(369) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Callable 接口。 相较于实现 Runnable 接口的方式,方法可以有返回值,并且可以抛... 阅读全文
posted @ 2019-03-05 13:47 濤叔 阅读(160) 评论(0) 推荐(0) 编辑
摘要: /* * CountDownLatch :闭锁,在完成某些运算是,只有其他所有线程的运算全部完成,当前运算才继续执行 */ public class TestCountDownLatch { public static void main(String[] args) { final CountDownLatch latch = new CountDownLat... 阅读全文
posted @ 2019-03-05 13:46 濤叔 阅读(131) 评论(0) 推荐(0) 编辑