java中final关键字的使用

final数据: 被final修饰的数据,如果是基本类型,那么它的值是恒定不变的;如果是对象引用,那么引用是恒定不变的,始终指向一个对象,但对

CountDownLatch 闭锁演示

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 import java.util.concurrent.CountDownLatch; /** * CountDownLatch 闭锁演示 * 闭锁的作用相当

利用阻塞队列BlockingDeque实现生产者-消费者模式

消费者 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import java.util.concurrent.BlockingDeque; import java.util.concurrent.LinkedBlockingDeque; /** * 消费者类 * */ public class Consumer implements Runnable { private BlockingDeque<String> queue = new LinkedBlockingDeque<String>(); public Consumer(BlockingDeque<String> queue){ this.queue = queue; } @Override public void run() {

JAVA检测GC日志

只需要在JAVA程序运行的时候,加上VM参数就可以。像下面这样: -XX:+PrintGCDetails