摘要:
并发容器 From Vector To Queue 1.原始的ArrayList /** * 有N张火车票 每张票都有一个编号 * 同时有10个窗口对外售票 * */ package com.bingfarongqi; import java.util.ArrayList; import java. 阅读全文
摘要:
JMH 官网:http://openjdk.java.net/projects/code-tools/jmh 创建JMH测试 1.注入依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/ 阅读全文
摘要:
volatile与CAS volatile 作用:(面试常考 必须记住) 1.保障线程可见性 线程运行过程如上图所示 先访问 然后吧这个值copy一份到自己的工作空间,然后再去对这个值进行改变,但检查这个方法有无新值不容易控制,加入了volatile在之后保证了线程的可见性 当main主线程对m方法 阅读全文
摘要:
redis的 string类型&bitmap String 类型 下面这些string类型命令 都可以用 help @string 查看 并且有解释意思 1.进入进程的基本命令 基本命令行 进入进程 启动redis **redis-cli -p ** set k380:1 hello 存入一个值“h 阅读全文
摘要:
Redis简介 Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串(string),哈希(hash),列表(lists),集合(sets),带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。 应用 做缓存 做计数器应 阅读全文
摘要:
Disruptor 介绍 主页:http://lmax-exchange.github.io/disruptor/ 源码:https://github.com/LMAX-Exchange/disruptor GettingStarted: https://github.com/LMAX-Exchan 阅读全文
摘要:
线程池 华为面试题 先看一道华为面试题 要求第一个线程从1-26,第二个线程从a-z 然后两个线程同时执行,交替输出。 我们先用LockSupport ,启了两个线程 t1 t2 先让t1输出一个(1) 然后叫醒t2 此时t2第一句就是让自己阻塞 防止和t1第一句打印混乱,t1叫醒t2之后 t2紧接 阅读全文
摘要:
volatile与CAS volatile 作用:(面试常考 必须记住) 1.保障线程可见性 线程运行过程如上图所示 先访问 然后吧这个值copy一份到自己的工作空间,然后再去对这个值进行改变,但检查这个方法有无新值不容易控制,加入了volatile在之后保证了线程的可见性 当main主线程对m方法 阅读全文
摘要:
package com.lock; import java.util.concurrent.TimeUnit; public class LockSupport { public static void main(String[] args) { Thread t=new Thread(()->{ 阅读全文
摘要:
线程方法 sleep ,意思就是睡眠 ,当前线程暂停一段时间让给别的线程去运行,sleep是由睡眠时间而定,等规定的时间到了自动复活 Yield 就是当前线程正在执行的时候停止下来进入等待队列 ,回到等待队列里在系统的调度算法里呢 还是依然可能把你刚回去的这个线程拿回来继续执行,意思就是我让出来一下 阅读全文
摘要:
创建线程-Thread 1.创建线程TestThread1 观察主线程和run线程体的运行结果 (顺序) //创建线程方式1:继承Thread类,重写run()方法,调用start开启线程 //总结:注意,线程开启不一定立即执行,由CPU调度执行 public class TestThread1 e 阅读全文