BestQiang
BestQiang
全部文章
分类
Hexo(3)
javaweb(10)
java语言(36)
JVM(3)
LeetCode(5)
Netty(1)
Nginx(1)
NIO(2)
web前端(5)
分布式文件系统(1)
剑指offer(9)
各种bug处理(11)
名词科普(1)
并发编程(2)
操作系统-linux(5)
操作系统-windows(4)
数据结构(14)
未归档(2)
生活杂记(1)
算法(2)
设计模式(2)
跨域问题(1)
运维(2)
题解(2)
归档
标签
去牛客网
登录
/
注册
BestQiang的博客
To be or not to be,thats a question.
全部文章
(共125篇)
(一)NIO编程之NIO与BIO
BIO编程 IO 有的称之为 basic(基本) IO,有的称之为 block(阻塞) IO,主要应用于文件 IO 和网络 IO, 这里不再说文件 IO, 大家对此都非常熟悉,本次主要讲解网络 IO。 在 JDK1.4 之前,我们建立网络连接的时候只能采用 BIO,需要先在服务端启动一个Serve...
2019-05-28
0
506
(六)并发编程之Java中的锁
公平锁和非公平锁 公平锁 是指多个线程按照申请锁的顺序来获取锁类似排队打饭 先来后到 非公平锁 是指在多线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取到锁,在高并发的情况下,有可能造成优先级反转或者饥饿现象 两者的区别: 公平锁/非公平锁 并发包R...
2019-05-27
0
384
(五)并发编程之容器类
java.util.ConcurrentModificationException 标题的错误是由于多线程并发争抢修改导致的,在并发编程中使用线程不安全的容器导致的 下面晒出导致错误的例子: package com.bestqiang.thread.Collections; import j...
2019-05-27
0
417
(四)并发编程之CAS
原子类 java.util.concurrent.atomic包:原子类的小工具包,支持在单个变量上解除锁的线程安全编程。 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读-改-写操作。AtomicInteger 表示一个int类型的值,并提供了 get 和 set ...
2019-05-27
0
492
(三)并发编程之线程池
为什么要使用线程池,优势是什么? 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务加入队列,然后在线程创建后启动这些任务,如果线程超过了最大数量,超出的数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行. 他的主要特点为: 线程复用 控制最大并发数 管理线...
2019-05-27
0
412
(二)Java中的并发队列和阻塞队列
并发队列 在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队 列非阻塞队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。 阻塞队列与非阻塞队 1.阻塞队列 阻塞队列与普通队列的区别在于,当队列是空的时...
2019-05-17
0
617
(一)并发包中的(计数器)CountDownLatch,(屏障)CyclicBarrier,(计数信号量)Semaphore
(计数器)CountDownLatch CountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLat...
2019-05-17
0
415
多线程之间按顺序调用,实现A->B->C三个线程启动(使用Lock锁)
题目:多线程之间按顺序调用,实现A->B->C三个线程启动,要求如下: AA打印5次,BB打印10次,CC打印15次 …来十轮 思路:使用Lock锁的多个Condition实现精准唤醒。 package com.bestqiang.thread.Queue; /**...
2019-05-17
0
612
关于多线程中的虚假唤醒的原因和解决,以及分别用Lock锁和阻塞队列实现消费者生产者案例
虚假唤醒: 两个线程以上会造成虚假唤醒的情况。虚假唤醒(spurious wakeup)是一个表象,即在多处理器的系统下发出wait的程序有可能在没有notify唤醒的情形下苏醒继续执行。以运行在linux的hotspot虚拟机上的java程序为例,wait方法在jvm执行时实质是调用了底层pthr...
2019-05-17
0
1358
关于Java内存可见性的探究实验遇到的意外和happens-before
java内存模型(JMM)学习过后,一直没有找机会进行实践,于是抽时间写了一个程序验证JVM内存模型中常见的线程不可见问题 程序如下: package com.bestqiang.thread.JUC; /** * @author BestQiang */ public class TestSt...
2019-05-15
0
488
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页