2023-03-03
带着BAT大厂的面试问题去理解
什么是CyclicBarrier?
CyclicBarrier底层实现原理?
CountDownLatch和CyclicBarrier对比?
CyclicBarrier的核心函数有哪些?
CyclicBarrier适用于什么场景?
CyclicBarrier简介对于CountDownLatch,其他线程为游戏玩家,比如英雄联...
阅读全文
2023-03-02
数据库事务ACID特性原子性(atomicity,或称不可分割性)一致性(consistency)隔离性(isolation,又称独立性)持久性(durability)
标准事务的隔离级别
读未提交 read-uncommitted 允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。
事务对当前被读取的数据不加锁; 事务在更新某数据的瞬间...
阅读全文
2023-03-02
Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。
带着BAT大厂的面试问题去理解
什么是Semaphore?
Semaphore内部原理?
Semaphore常用方法有哪些...
阅读全文
2023-03-01
MySQL存储引擎一个库中可以有多个不同存储引擎的表。
InnoDB和MyISAM数据库的表的结构定义信息都存储在frm文件中。InnoDB的数据和索引存储在ibd文件中(聚集),MyISAM索引存在MYI文件中,数据存储在MYD文件中(非聚集)。
Innodb若一个主键被定义,该主键则作为密集索引;若没有主键被定义,该表的第一个唯一非空索引则作为密集索...
阅读全文
2023-02-24
带着BAT大厂的面试问题去理解
什么是CountDownLatch?
CountDownLatch底层实现原理?
CountDownLatch一次可以唤醒几个任务? 多个
CountDownLatch有哪些主要方法? await(),countDown()
CountDownLatch适用于什么场景?
写道题:实现一个容器,提供两个方法,add,size 写...
阅读全文
2023-02-24
CASCAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值。经过调查发现,其实现方式是基于硬件平台的汇编指令,就是说CAS是靠硬件实现的,JVM只是封装了汇编调用,那些AtomicInteger类便是使用了这些封装后的接口。
简单解释:CAS操作需要...
阅读全文
2023-02-22
https://zhuanlan.zhihu.com/p/48816137
https://www.zhihu.com/question/449611434/answer/1824707689
阅读全文
2023-02-20
Netty是一个高性能、异步事件驱动的NIO框架,提供了对TCP、UDP和文件传输的支持。作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。
新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
基础
核心组件
Bootstrap、Se...
阅读全文
2023-02-05
IOCBean是如何注册到IOC容器中的xml配置文件方式下Bean的注册123456789101112public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throw...
阅读全文
2023-01-31
ThreadLocal是通过线程隔离的方式防止任务在共享资源上产生冲突, 线程本地存储是一种自动化机制,可以为使用相同变量的每个不同线程都创建不同的存储。
QA
什么是ThreadLocal? 用来解决什么问题的? 说说你对ThreadLocal的理解
ThreadLocal是如何实现线程隔离的? 主要是用到了Thread对象中的一个ThreadLoca...
阅读全文