August 4, 2021
多线程
ThreadPool1. 为什么存在线程池1.1 降低资源消耗通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗;(享元模式)
1.2 提升系统响应速度通过复用线程,省去创建线程的过程,因此整体上提升了系统的响应速度;
1.3 提高线程的可管理性线程是稀缺资源,如果无限制的创建 ...
Read more
August 3, 2021
多线程
Blocking QueueA blocking queue is a queue that blocks when you try to dequeue from it and the queue is empty, or if you try to enqueue items to it ...
Read more
August 3, 2021
多线程
中断机制Java语言提供一种机制来试图“终止”一些特殊的线程,比如一下空转的线程一直消耗系统资源,可以使用中断的方式来停止这一类的线程,这就是Java中断机制。
1、中断注意的地方1、Java中线程间是协作式,而非抢占式. 调用一个线程的interrupt() 方法中断一个线程,并不是强行关 ...
Read more
August 3, 2021
多线程
Lock框架中的Condition机制还是看一下之前ReentrantLock中调用condition方法的流程图 👇
任何一个java对象都天然继承于Object类,在线程间实现通信的往往会应用到Object的几个方法,比如wait(),wait(long timeout),wa ...
Read more
August 2, 2021
多线程
ReentrantLockReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞
加锁操作支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被 ...
Read more
August 2, 2021
多线程
AQS锁限时等待是如何实现的?
公平锁与非公平锁流程是怎样的?
独占锁&共享锁独占锁即只允许一个线程获取同步状态,当这个线程还没有释放同步状态时,其他线程是获取不了的,只能加入到同步队列,进行等待。
公平锁&非公平锁公平锁公平策略:在多个线程争用锁的情况下,公平策略倾向于将访 ...
Read more
August 2, 2021
多线程
Lock框架继承关系图
知识清单
Java多线程与并发基础
Java内存模型
深入理解同步锁-synchronized关键字
synchronized实现原理概述
深入理解volatile关键字
深入理解final关键字
深入理解并发编程之Blocking Queue
深入理解并发编程 ...
Read more
July 31, 2021
JVM
1、什么是垃圾收集器如果说垃圾收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。
JVM规范对于垃圾收集器的应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器差别较大,这里只看HotSpot虚拟机。 就像没有最好的算法一样,垃圾收集器也没有最好,只有 ...
Read more
July 30, 2021
JVM
垃圾回收总体思路:
1、什么是垃圾回收,为什么需要垃圾回收;
2、回收的到底是什么?由谁来回收谁?
3、回收的判断标准是什么
4、什么时候回收,回收的种类和流程是怎样的
5、在哪些地方进行回收
1. 什么是垃圾回收任何语言在运行过程中都会创建对象,也就意味着需要在内存中为这些对象在内存中分 ...
Read more
July 30, 2021
JVM
1.对象创建方式Java中有一下几种方式创建对象:
方式
实质
使用new关键
调用无参或有参构造器函数创建
使用Class的newInstance方法
调用无参或有参构造器函数创建,且需要是publi的构造函数
使用Constructor类的newInstance方法
...
Read more