摘要:
单例模式 饿汉式 // 饿汉式单例 public class Hungry { // 浪费空间 private byte[] data1 = new byte[1024 * 1024]; private byte[] data2 = new byte[1024 * 1024]; private by 阅读全文
摘要:
JMM 什么是JMM JMM: Java内存模型 不存在的东西 概念 约定 关于JMM的一些同步的约定 1.线程解锁前,必须把共享变量立刻刷回主存 2.线程加锁前,必须读取主存中的最新值到工作内存中 3.加锁和解锁是同一把锁 线程 工作内存,主内存 8种操作 内存交互操作有8种,虚拟机实现必须保证每 阅读全文
摘要:
ForkJoin 分支合并 ForkJoin在JDK1.7出现的 并行执行任务 提高效率 大数据量 把大任务分成小任务 fork join 特点 工作窃取 public class ForkJoinDemo extends RecursiveTask<Long> { private long sta 阅读全文
摘要:
今天使用Swagger最新版,在pom.xml引入 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version> </dependen 阅读全文
摘要:
函数式接口: 有且只有一个方法的接口 @FunctionalInterface public interface Runnable { public abstract void run(); } 简化编成模型 在新版本的框架底层大量应用 /* * Function 函数型接口 有一个输入参数 有一个 阅读全文
摘要:
ReadWriteLock /* * 独占锁(写锁)一次只能被一个线程占有 * 共享锁(读锁) 多个线程可以同时占有 * ReadWriteLock * 读-读 可以共存 * 读-写 不能共存 * 写-写 不能共存 * * */ public class ReadWriteLockDemo { pu 阅读全文
摘要:
非常简单 可以很快的上手 官网:https://dormousehole.readthedocs.io/en/latest/index.html#id3 from flask import Flask, request, jsonify import json app = Flask(__name_ 阅读全文
摘要:
减法计数器 CountDownLatch // 减法 计数器 // 每次有线程调用 countDown() 数量-1 假设计数器变为0 countDownLatch.await()就会被唤醒 继续执行 public class CountDownLatchDemo { public static v 阅读全文
摘要:
不安全的集合类 CopyOnWriteArrayList /* * 并发下 ArrayList 是不安全的 * java.util.ConcurrentModificationException 并发修改异常 * 解决方案 * List<String> list = new Vector<>(); 阅读全文
摘要:
public class A { public static void main(String[] args) { Data data = new Data(); new Thread(() -> { for (int i = 0; i < 10; i++) { try { data.increme 阅读全文