随笔分类 - Java并发编程
多线程、
线程池
摘要:问题描述: was控制台无法停止应用,只能通过停止server的方式停止; 代码实现: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.LinkedBlockingQueue;
阅读全文
摘要:大纲 Hash取余算法 判定哈希算法好坏的四个定义 一致性Hash算法的两大设计 Hash取余算法 hash(Object.key)%N,hash值随Object.key、N的变化而变化。 如果有节点(集群中节点增减太正常)发生变化,几乎重新分配,意味着所有已经分配好的数据都要迁移到新的节点上。 一
阅读全文
摘要:大纲 1.缓存正常使用流程 2.缓存穿透 3.缓存击穿 4.缓存雪崩 5.缓存热点 1.缓存的使用 一般缓存的正常使用流程是,先根据key从缓存中获取,如果缓存中存在数据则返回,不存在则到数据库中获取,获取到则更新到缓存,并将数据返回,没有获取到则抛出异常或返回空值; 2.缓存穿透 指缓存和数据库都
阅读全文
摘要:大纲 1.什么是事务? 2.事务的四大特性ACID 3.数据库的四种隔离级别 4.事务并发执行会出现的问题 1.什么是事务(Transaction)? 一组操作,要么全部执行成功,要么全部不执行。事务由一组操作组成,其中任一操作发生错误,则回滚之前成功的操作。 2.数据库事务的四大特性ACID 原子
阅读全文
摘要:大纲 1.并发编程的三大特性 2.JMM如何保证并发编程的三大特性 3.volatile关键字理解 4.volatile使用场景 5.volatile和synchronized 1.并发编程的三大特性 原子性:指一组操作要么全部执行成功(没有异常中断),要么都不执行。 可见性:指当一个线程对共享变量
阅读全文
摘要:大纲: 1.CPU Cache的产生背景 2.CPU Cache模型 3.Cache Line 4.Cache Bouncing 5.CPU、CPU Cache、Main Memory交互 6.CPU 缓存一致性 7.Java内存模型 1.CPU Cache的产生背景 计算机中的所有运算操作都是由C
阅读全文
摘要:进程——操作系统资源分配的最小单位 线程——操作系统CPU调度的最小单位 进程 进程产生由来:计算机一次只能执行一个任务,如果某个任务需要从I/O设备读取大量数据,此I/O操作过程中CPU是空闲的,可以用来进行其他操作。因此发明了进程,用进程来对应一个任务。 进程的特点:每个进程有独立的内存空间,进
阅读全文