![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 92
kqli
这个作者很懒,什么都没留下…
展开
-
Java 集合容器之Collection接口,Map接口实现类
对java集合相关知识,予以记录!集合可以看作是一种容器,用来存储对象信息,所有集合类都在java.util包下,且支持多线程的集合类位于java.util.concurrent包下Java的集合类主要由两个根接口派生出来,分别是Collection和Map。Java中的集合类一类是实现Collection接口;另一类是实现Map接口:Collection接口:单列集合,用来存储一个一个对象。Collection中可以容纳一组集合元素(Element)原创 2020-12-29 09:12:35 · 303 阅读 · 0 评论 -
JUC重要基石之AQS(Abstract Queued Synchronizer):抽象队列同步器
文章目录一、它是什么?1.基本结构:volatile int state+CLH变种的双向队列2.为什么它是JUC下重要基石?JUC下的类中包含有Sync类,而其从底层都继承了AQS3.锁与同步器的区别:锁,面向锁的使用者;同步器,面向锁的实现者二、它能干嘛?排队等候机制:加锁导致阻塞,有阻塞则需要排队,排队则必须通过某种形式的队列来进行管理1.CLH变体的虚拟双向队列:将暂时获取不到锁的线程加入到队列中2.volatile整型变量state:使用一个volatile的int成员变量来表示同步状态state原创 2020-12-28 17:26:04 · 311 阅读 · 0 评论 -
Java 三种垃圾回收算法与七种垃圾收集器
对Java 中垃圾回收相关知识,予以记录!JVM调优之垃圾定位、垃圾回收算法、垃圾处理器对比。原创 2020-12-10 21:22:45 · 1018 阅读 · 1 评论 -
Java JVM常用参数
对Java JVM基本参数类型与简单使用,予以记录!原创 2020-12-10 21:12:52 · 3623 阅读 · 1 评论 -
Java 死锁编码及定位分析
对于java中死锁的学习,予以记录!死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能得到满足,死锁出现的可能性就很低。否则就会因争夺有限的资源而陷入死锁。原创 2020-11-20 20:23:10 · 206 阅读 · 1 评论 -
Java 深入浅出线程池
对Java线程池的学习,予以记录!因为线程资源必须通过线程池提供,不允许在应用中自行显式创建线程(new Thread().start())处理流程线程池可处理的任务数 = 最大线程数 + 阻塞队列长度当创建线程到最大线程数后,非核心线程数优先处理不在阻塞队列中的任务。任务数等于corePoolSize + 阻塞队列长度时,不创建新的线程任务数大于corePoolSize + 阻塞队列长度且线程数小于maximumPoolSize时,需要创建新的线程。原创 2020-11-20 12:58:23 · 680 阅读 · 1 评论 -
Java 创建线程的3种方式以及它们的优缺点
文章目录1.创建线程的三种方法2.三种方式的优缺点①采用继承Thread类方式:②采用实现Runnable接口方式:③Runnable和Callable的区别:④start()和run()的区别3.参考链接1.创建线程的三种方法继承Thread类,重写run();实现Runnable接口,重写run();实现Callable接口,重写call();创建线程池创建2.三种方式的优缺点①采用继承Thread类方式:(1)优点:编写简单,如果需要访问当前线程,无需使用Thread.curren原创 2020-11-18 20:27:18 · 1567 阅读 · 0 评论 -
Java Synchronized与ReentrantLock的区别与不同
对synchronized与reentrantLock区别的学习,予以记录!原创 2020-11-17 14:07:07 · 146 阅读 · 1 评论 -
Java 阻塞队列BlockingQueue接口
对于阻塞队列BlockingQueue的学习,予以记录!BlockingQueue接口类似于list接口,①阻塞队列有没有好的一面?②不得不阻塞,如何管理?类似ArrayList用法。原创 2020-11-16 21:37:09 · 145 阅读 · 1 评论 -
公平锁与非公平锁、可重入锁(递归锁)、自旋锁、独占锁(写锁)、共享锁(读锁)、互斥锁
文章目录三、自旋锁1.理论2.代码验证①AtomicInteger实现原理CAS②自己编写一个自旋锁3.结论:自旋锁会使线程通过循环比较方式获取锁直到成功为止。四、读写锁1.理论2.代码验证:模拟一个分布式缓存进行多线程读写操作问题:发现不符合写操作的原子+独占3.结论:读写锁ReentrantReadWriteLock可以保证缓存中的读共享,写独占操作三、自旋锁四、独占锁(写锁)/共享锁(读锁)/互斥锁三、自旋锁1.理论是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁。目的:原创 2020-11-15 19:55:03 · 966 阅读 · 1 评论 -
Java JUC之CountDownLatch、CyclicBarrier以及Semaphore
对JUC中的CountDownLatch、CyclicBarrier以及Semaphore的学习,予以记录!i < N;* }* }//模拟班长最后锁门问题//模拟5位同学分别进行离开教室的操作i < 6;i++) {System.out.println(Thread.currentThread().getName()+" 同学走了");//最后输出班长锁门的情况。原创 2020-11-14 14:37:01 · 284 阅读 · 1 评论 -
Java 不安全集合类ArrayList/HashSet/HashMap之高并发解决方案
对不安全集合类在高并发下解决方案的学习,予以记录!原创 2020-11-13 08:29:56 · 347 阅读 · 1 评论 -
双重检验锁(dcl)饿汉单例模式,CAS与Synchronized区别,ABA问题解决
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdnimg.cn/202011111612g13.png?x-oss-process=imag-/watermark,type_ZmF8Z3poZW5naGVpdGk,shadow_LPu810,text_aHR0cHMibGynLmNzZG9ubmV0L3FxXzQzMzU3Mzk0,size_16,color_FFFFFF,t_80#pic_center476)(http`s://img...原创 2020-11-12 20:33:25 · 320 阅读 · 0 评论 -
我理解的Volatile三大特性概念详解
对volatile概念学习,予以记录!学习三板斧:理论,代码,小总结原创 2020-11-11 09:28:40 · 2328 阅读 · 1 评论 -
JAVA笔面试题
文章目录1.类加载过程中,父子类静态代码,静态变量,构造方法,普通代码的加载顺序2.接口可以多继承?3.volatile保证线程安全?3.求数组连续子序列最大和4.java垃圾回收算法,优缺点?5.深拷贝与浅拷贝6.string,stringBuffer,stringBuild各自有什么特点?7.说明你知道的三种设计模式,并说出他们的使用场景8.书写一个线程安全的单例模式9.创建线程方式,优缺点?10.java容器,哪些是线程安全的?11.非递归实现二叉树中序遍历参考链接1.类加载过程中,父子类静态代码,原创 2023-08-18 18:02:08 · 358 阅读 · 1 评论