笔筒虫
笔筒虫
全部文章
Java多线程...
Java常用类库(5)
Java常识(6)
Java虚拟机(6)
MySQL数据库(7)
《深入理解Java虚拟机》读书小册(8)
《深入理解Java虚拟机》读书笔记(7)
剑指offer题解(13)
未归档(65)
算法基础(5)
计算机操作系统(3)
计算机网络(6)
通过UML和小DEMO学习设计模式(10)
归档
标签
去牛客网
登录
/
注册
笔筒虫的博客
全部文章
/ Java多线程&并发
(共13篇)
问二十:说说notify和notifyAll的区别?
synchronized的底层实现monitor它有两个字段:EntryList和WaitSet 锁池(EntryList) 如果线程A拥有了某个对象的锁的话,其他线程B、C想调用这个对象的synchronized方法(或者进入方法块)的话,就必须获得该对象锁的拥有权。 而这时该对象的锁...
2019-05-02
0
751
问十七: synchronized与lock的区别是什么?
1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类; 2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁; 3.synchronized会自动释放锁(a 线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放锁...
2019-05-02
0
485
问十五:说说你了解的volatile?
volatile作用,实现原理,运用场景: ①作用:volatile只能保证多线程三大特性中的可见性和有序性。 1)可见性:每个线程都有一个自己的本地内存,对于共享变量,线程每次读取和写入的都是共享变量在本地内存中的副本,然后在某个时间点将本地内存和主内存的值进行同步。而当修改volatile修...
2019-05-02
0
559
问十四:说说synchronized的膨胀方向?
synchronized的四种状态 无锁、偏向锁、轻量级锁、重量级锁 锁膨胀方向:无锁→偏向锁→轻量级锁→重量级锁 偏向锁:减少同一线程获取锁的代价 多数情况下,锁不存在多线程竞争,总是由同一线程获得 如果一个线程获得了锁,那么锁就进入偏向模式,此时Mark Word的结构就变成了偏...
2019-05-02
0
664
问十三:synchronized底层实现是什么样的?
早期synchronized: Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,...
2019-05-02
0
537
问十二:说说你了解到的java线程池?
1.线程池优点 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分...
2019-05-02
0
621
问十一:sleep和wait的区别有哪些?
sleep与wait的区别 1. 这两个方法来自不同的类分别是Thread.wait()和Object.sleep() 2. sleep必须捕获异常,而wait不需要捕获异常 3. wait只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用 4. 最主要是Thread....
2019-05-02
0
509
问八:InterruptedExcption详细分析?
当一个方法后面声明可能会抛出InterruptedException 异常时,说明该方法是可能会花一点时间,但是可以取消的方法 抛InterruptedException的代表方法有: 1. java.lang.Object 类的 wait 方法 2. java.lang.Thread ...
2019-05-01
0
460
问六:实现线程的四种方式?
1.继承Thread类创建线程 2.实现Runnable接口创建线程 3.使用Callable和Future创建线程 4.通过线程池实现线程创建的目的 注:一般实现接口创建接口 * Java 不支持多重继承,因此继承了 Thread 类就无法继承其它类,但是可以实现多个接口; * ...
2019-05-01
0
560
问五:JAVA线程的六种状态及所有切换途径?
参考源码注解进行修改添加 Thread.State 六个状态详解 新建(New):创建后还没有启动的线程状态 运行(Runnable):线程正在JVM中执行的状态,但它可能正在等待来自操作系统的其他资源(例如处理器资源)因此包含Running和Ready状态 阻塞(Blocked):处...
2019-05-01
0
512
首页
上一页
1
2
下一页
末页