
操作系统
文章平均质量分 92
赵jc
这个作者很懒,什么都没留下…
展开
-
JVM万字详解,复习必备。
JVM万字详解JVM基本概念及内存区域基本概念运行过程内存区域堆 (线程共享)Java虚拟机栈 (线程私有)程序计数器 (线程私有)本地方法栈 (线程私有的)方法区 (线程共享)内存布局小结JVM运行时内存结构JVM类加载机制JVM类加载过程类加载器双亲委派破坏双亲委派垃圾回收与算法如何判断一个对象"死亡"引用计数法可达性分析算法(重要)常见引用类型有哪些?垃圾回收算法标记-清除算法(不推荐使用)复制算法(新生代回收算法)标记-整理算法(老年代回收算法)分代收集算法何时回收GC垃圾收集器串行垃圾回收器并行垃原创 2021-06-02 00:03:33 · 2772 阅读 · 24 评论 -
JUC底下常见的类
JUCReentrantLock(可重入锁)semaphore(信号量)CountDownLatch(计时器)CyclicBarrier(循环屏障)ConcurrentHashMapJUC(Java并发包)是我们需要深入了解的一个包,我们来看看有哪些重要的内容吧。ReentrantLock(可重入锁)ReentrantLock可重入锁,可以实现公平锁(参数传递true即可)但要注意两点lock一定要放在try之前在finally中一定要释放锁semaphore(信号量)semaphore可原创 2021-05-31 23:23:48 · 462 阅读 · 1 评论 -
这么多锁你都知道吗?
锁公平锁和非公平锁公平锁非公平锁乐观锁和悲观锁乐观锁悲观锁CAS什么是CAS?CAS的实现原理是什么?CAS的应用CAS中的ABA问题和解决方案synchronizedsynchronized如何实现的?synchronized在java1.6之后有什么优化?独占锁和共享锁独占锁共享锁可重入锁自旋锁公平锁和非公平锁公平锁定义:多个线程按照申请锁的顺序去获得锁,线程会直接进入到队列去排队,永远都是队列的第一个才会得到锁。(不管大人还是小孩,都需排队,谁在队伍前面,谁先获取锁)优点:所有的线程都能得到原创 2021-05-27 17:18:54 · 458 阅读 · 0 评论 -
ThreadLocal知识小结
ThreadLocal什么是ThreadLocal ?ThreadLocal 使⽤ThreadLocal 的使用场景ThreadLocal 注意事项ThreadLocal实现原理什么是ThreadLocal ?问题引入:线程安全的解决方案有两种加锁和创建私有变量,但加锁后任务会排队执行,消耗大量时间,每次任务会创建新的私有变量会消耗大量的资源,那么有没有一种更好的方法呢,肯定是有的啦,ThreadLocal是现成的本地变量,每一个线程会创建一个私有变量。SimpleDateFormat 是线程不安全原创 2021-05-25 19:14:37 · 306 阅读 · 0 评论 -
线程池知识小结
线程池为什么要有线程池?线程池的优点线程池的创建ThreadPoolExecutor创建线程池的执行流程线程池的2种执行方式线程池的特征线程池的关闭线程池的状态二级目录三级目录为什么要有线程池?单个线程的创建时它会开辟本地方法栈、虚拟机栈、程序计数器成为线程的私有内存,因此频繁的创建和消耗会耗费系统的资源在任务量远远大于线程可以处理的任务量时,并不能友好的拒绝任务。基于上面的问题我们引入了线程池(采用池化技术来管理和使用线程)线程池的优点线程池其实就是一个容纳多个线程的容器,其中的线程可以反原创 2021-05-24 17:41:50 · 153 阅读 · 1 评论 -
Java多线程总结
多线程并行与并发上下文切换进程与线程多线程的好处多线程的应用场景Thread类的常见方法多线程的基本使用线程的状态 state线程的创建 new线程的启动 start()线程的休眠 sleep()线程的等待 join()线程的中断 Interrupt线程通信 wait()notify()线程安全多线程不安全的原因解决线程不安全问题volatile关键字synchronized 关键字(监视器锁monitor lock)lock()手动加锁公平锁和非公平锁synchronized和lock的区别并行与并发原创 2021-05-11 01:06:58 · 672 阅读 · 2 评论