自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 innodb四大特性

插入缓冲(insert buffer):索引是存储在磁盘上的,所以对于索引的操作需要涉及磁盘操作。如果我们使用自增主键,那么在插入主键索引(聚簇索引)时,只需不断追加即可,不需要磁盘的随机 I/O。但是如果我们使用的是普通索引,大概率是无序的,此时就涉及到磁盘的随机 I/O,而随机I/O的性能是比较差的(Kafka 官方数据:磁盘顺序I/O的性能是磁盘随机I/O的4000~5000倍)。因此,InnoDB 存储引擎设计了 Insert Buffer ,对于非聚集索引的插入或更新操作,不是每一次直接插入到

2021-09-06 18:24:11 521

原创 CyclicBarrier源码理解

CyclicBarrier唤醒的两种逻辑:创建新的一代 newGeneration 时会唤醒所有线程 signalAll打破当前代 将broken修改为true时 会唤醒所有线程 signalAll 但是这种会抛出Broken异常tips: 怎么才会打破当前代?就是当前线程给中断抛出异常时,就会去调用brokenBarrier方法打破当前代CyclicBarrier里面有个变量broken,当broken为true时,表示当前‘代’被打破,来到这个代的线程会抛出BrokenExcep

2021-06-06 16:55:58 91

原创 repl_backlog_buffer和replication

repl_backlog_buffer:它是为了从库断开之后,如何找到主从差异数据而设计的环形缓冲区,从而避免全量同步带来的性能开销。如果从库断开时间太久,repl_backlog_buffer环形缓冲区被主库的写命令覆盖了,那么从库连上主库后只能乖乖地进行一次全量同步,所以repl_backlog_buffer配置尽量大一些,可以降低主从断开后全量同步的概率。而在repl_backlog_buffer中找主从差异的数据后,如何发给从库呢?这就用到了replication buffer。replicati

2021-05-22 17:46:19 635

原创 SpringAOP--基与@Aspect注解的aop

SpringAOP–基与@Aspect注解的aopdemo@Aspectpublic class AspectConfig { @Pointcut(value = "execution(* com.poog.code..*.*Test(..)") public void test(){} @Before(value = "test()") public void beforeAdvise(){ System.out.println("before a

2021-05-09 00:01:10 186

原创 springAOP--JDK动态代理及链式增强逻辑

1.ProxyFactory.getProxy()-获取到代理对象public Object getProxy(ClassLoader classLoader) { return createAopProxy().getProxy(classLoader); }//通过该方法决定使用jdk动态代理还是cglib动态代理//1.如果目标对象实现了接口,使用jdk//2.没有实现接口,使用cglib//3.如果实现了接口,可以通过设置属性proxy-target-class为true强制使用cg

2021-05-03 12:20:42 226

原创 ioc--doCreatBean-bean的大部分生命周期

bean的生命周期创建bean前的准备工作-creatBean()protected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) throws BeanCreationException { if (logger.isDebugEnabled()) { logger.debug("Creating instance of bean '" + bean

2021-05-01 17:45:43 114

原创 ioc--spring加载bean源码初理解

Spring 加载bean源码分析:getBean() -> doGetBean()doGetBean()protected <T> T doGetBean(final String name, @Nullable final Class<T> requiredType, @Nullable final Object[] args, boolean typeCheckOnly) throws BeansException { final String

2021-04-16 17:26:50 84

原创 ThreadLocal源码初理解--个人笔记

ThreadLocaljdk1.7之前,由ThreadLocal维护一个hashmap,每一个键值对的key 为 当前线程,value 为 分配到的‘’资源’‘jdk1.8之前,由各自线程维护一个map,每一个键值对的key 为 threadlocal ,value 为 分配到的资源这样做的优势是: map的生命周期就和线程一样,同时生成同时销毁 ;map里面的key 是 一个弱引用 ,有利于GC回收,并且站在map的角度的话,能够知道哪个threadlocal是被回收了的全局变量//每创建一个

2021-04-04 21:46:25 71

原创 CountDownLatch源码理解--个人笔记

CountDownLatchawait()public void await() throws InterruptedException { sync.acquireSharedInterruptibly(1);}accquireSharedInterryptibly()public final void acquireSharedInterruptibly(int arg) throws InterruptedException { //如果线程中断,抛出异常

2021-03-31 21:13:42 78

原创 Condition源码初理解--个人笔记

Conditioncondition和synchronized的区别:synchronized是一对一的关系,使用synchronized其实是在jvm层面创建了一个monitor对象,然后再去调用monitor对象的wait()方法和notify()方法condition是一对多的关系,一个lock对象可以创建多个condition对象,从而去调用多个await()方法和signal()方法await()方法public final void await() throws Interrupted

2021-03-28 18:38:08 65

原创 AQS-公平锁锁逻辑与释放锁逻辑--个人笔记

公平锁逻辑与释放锁逻辑锁逻辑final void lock() { acquire(1);}调用lock方法时实际调用的是acquire()方法public final void acquire(int arg) { //tryAcquire(arg)尝试去获取锁 if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterr

2021-03-26 00:59:28 93

原创 线程池源码初理解--个人笔记

线程池线程池提交的两种方式:submit(提交runnable或callable),execute(提交runnable,提交callable需要实现futuretask)线程池的状态:ctl前三位是状态信息,后29位是当前线程池线程数量running(111)<shutdown(000)<stop(001)<tidying(010)<terminated(011)execute()1.如果当前线程数,少于corePoolSize,则addWorker2.如果当前线程数

2021-03-24 01:17:58 82

转载 内部类和外部类之间的调用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入内部类:①...

2019-03-24 15:04:14 313 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除