自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java并发编程(七)——JUC

一、读写锁ReentrantReadWriteLock\quad当读操作远远高于写操作时,可以使用读写锁让读-读可以并发,提高性能。读写操作是互斥的,不能同时进行。二、信号量semaphore\quad用来限制能同时访问贡献资源的上限。public static void main(String[] args) { Semaphore semaphore = new Semaphore(3); // 同一时刻允许三个线程访问 // 没有semaphore,10个线程同时运行同时结束

2021-04-28 16:29:34 321

原创 Java并发编程(六)——线程池

一、自定义线程池\quad线程池跟连接池一样,维护线程池可以减少线程创建和关闭的时间。首先实现一个自定义线程池。首先是创建一个管理任务的阻塞队列,防止任务突然变多,线程忙不过来而造成任务丢失的情况。Thread pool维护一堆线程。class BlockingQueue<T>{ // 1. 任务队列(双向链表,先进先出) private Deque<T> queue = new ArrayDeque<>(); // 2. 锁(多个线程获取

2021-04-26 20:14:43 491

原创 Java并发编程——无锁(乐观锁)的方式实现并发

1、CAS\quad使用CAS(compare and swap)来实现无锁时线程安全,因为CAS操作底层是原子的。其实CAS底层是lock cmpxchg指令,在单核和多核CPU下都能够保证比较-交换的原子性。CAS操作需要volatile的支持,需要保证变量的可见性,因此可以用AtomicInteger代替int,其内部使用了volatile修饰。\quadCAS效率比synchronized效率高,原因?无锁情况下,即使重试失败,线程始终在高速运行,没有停歇,而 synchronized 会让线程

2021-04-21 15:36:32 762

原创 Java并发编程(五)——共享变量在多线程间原子性、可见性和有序性

\quad上一节讲解的Monitor主要关注临界区代码的原子性。Java内存模型(JMM)定义了主存、工作内存的抽象概念,体现在以下几个方面:原子性:保证指令不会受到线程上下文切换的影响可见性:保证指令不会受cpu缓存的影响有序性:保证指令不会受cpu指令并行优化的影响1、可见性\quad内存可见性问题:一个线程对主存数据进行了修改,对其他线程不可见。如下例子,run被主线程修改了,但是t线程被优化了在高速缓存中读取run,导致没有读取改变后的run值,程序会一直运行下去: stati

2021-04-20 11:27:16 361

原创 I/O多路复用——select/poll/epoll

\quadI/O多路复用解决的问题:假设一台服务器要服务于多台客户端,一种方法是使用多线程,但是这对服务器cpu等提出高要求,且线程存在上下文切换,影响效率。如果使用单线程的方式可以怎么完成呢?linux一切皆文件,每个客户端的请求数据都保存在一个文件中,因此可以让服务器不断的循环遍历这些文件依次处理。\quadselect、poll、epoll都是I/O复用的机制,可以监视多个描述符,一旦某个描述符就绪,就能够通知程序进行相应的读写操作。与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小

2021-04-19 15:36:13 325

原创 Mysql知识点集锦

1、Mysql常见存储引擎InnoDB\quad在Mysql5.5.8版本后,InnoDB成为Mysql默认存储引擎,支持事务和行级锁和外键,InnoDB通过多版本并发控制(MVCC)来获得高并发性,并实现了事务的四个隔离级别:未提交读:可读取未提交的操作数据,最低的隔离级别,这种情况会出现脏读。脏读:一个事务读取到了缓存中另一个事务未提交的数据。说明:当事务B对data进行了修改但是未提交事务,此时事务A对data进行读取,并使用事务B修改的数据做业务处理。已提交读:一个事务等待另一个事务提交

2021-04-13 09:18:16 267

推特事件检测

事件检测的大牛文章,IEEE影响因子10分以上,可供下载。

2018-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除