upjmbai5800
upjmbai5800
全部文章
分类
J.U.C(2)
Java基础(25)
Java源码阅读(3)
JVM(4)
mybatis(3)
react(1)
Redis(1)
Spring(1)
springMVC(1)
专利(3)
刷题随笔(1)
多线程(5)
实习随笔(3)
操作系统(3)
数据库(7)
数据结构与算法(6)
网络(1)
面试问题总结(3)
高并发(2)
归档
标签
去牛客网
登录
/
注册
upjmbai5800的博客
全部文章
(共10篇)
Java源码阅读(一)String类
Java源码阅读(一)String类 读一门语言的源码是学习一门语言非常好的方法,而String类是Java中最常用的类之一,因此就来看一下String的底层源码实现。 1 不变性 我们常听人说,HashMap的key建议使用不可变类,String就是这种不可变类。这里说的不可变指...
JVM
Java基础
多线程
2019-10-14
0
539
J.U.C并发包(2)
J.U.C并发包(2) FutureTask Callable接口和Runnable接口对比 二者大致相似,不同的是,Runnable只有一个方法就是Run,而Callable有一个Call方法,功能也更强大,因为被线程执行后有返回值,并且可以抛出异常。 ...
Java基础
多线程
2019-08-23
0
408
多线程、锁、CAS和AQS(4)
多线程、锁、CAS和AQS(4)Java的线程 Java线程的5种状态 Java中的线程的生命周期大体可分为5种状态。 新建(NEW):新创建了一个线程对象。 可运行(RUNNABLE):线程对象创建后,...
Java基础
多线程
2019-08-22
0
681
多线程、锁、CAS和AQS(3)
多线程、锁、CAS和AQS(3)Java中的锁 Java中锁的分类 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。如果休眠队列中有线程了,则新进入竞争的线程一定要在休眠队列上排队。 非公平锁是指多个...
Java基础
多线程
2019-08-22
0
567
J.U.C并发包(1)
J.U.C并发包(1) AbstractQueuedSynchronizer AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现...
Java基础
多线程
2019-08-20
0
770
多线程、锁、CAS和AQS(2)
多线程、锁、CAS和AQS(2)线程安全之可见性 1、共享变量在线程间不可见的原因 可结合Java内存模型一起阅读 2、可见性 synchronize 使用synchronize修饰后可以保证共享变量的可见性 3、可见性 volatile...
Java基础
多线程
2019-08-13
0
448
多线程、锁、CAS和AQS(1)
多线程、锁、CAS和AQS(1)线程安全 1、什么是线程安全性? 当多个线程访问某个类时,不管运行时环境采用何种调度方式,并且主调代码中不需要使用任何额外的同步或者协同,这个类的输出总是正确的的。 原子性:互斥访问,同一时刻只能有一个线程对它操作 ...
Java基础
多线程
2019-08-12
0
614
java多线程基础(二)java线程各状态关系
注意只有可运行(就绪态)和运行中(运行态)可以相互转换
Java基础
多线程
2019-07-30
0
395
java多线程基础(一)--sleep和wait的区别
sleep和wait的区别有: 1、这两个方法来自不同的类分别是Thread和Object; 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得线程可以使用同步控制块或者方法; 3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在...
Java基础
多线程
2019-07-19
0
371
java多线程基础(二)--sleep(),wait,()yield()和join()方法
1.sleep()方法 在指定时间内让当前正在执行的线程暂停执行,但不会释放“锁标志”。不推荐使用。 sleep()使当前线程进入阻塞状态,在指定时间内不会执行。 2.wait()方法 在其他线程调用对象的notify或notifyAll方法前,导致当前线程等待。线程会释放掉它所占有的“锁标...
Java基础
多线程
2019-07-24
0
428