Hexo


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

reentranlock底层原理

发表于 2020-06-30
字数统计: 3.4k | 阅读时长 ≈ 14
[TOC] 类结构首先ReentrantLock继承自父类Lock,然后有3个内部类,其中中有一个抽象内部类Sync继承AQS,两个内部类NonfairSync和FairSync继承了Sync(Sync重写tryRelease),重写了lock()方法和tryAcquire()方法,分别实现了非公平 ...
阅读全文 »

如何使用explain关键字

发表于 2020-06-29 | 分类于 mysql
字数统计: 2.8k | 阅读时长 ≈ 10
[TOC] 概念使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 explain执行计划包含的信息 其中最重要的字段为:id、type、key、rows、Extra id:select查询的序列号,包含一组 ...
阅读全文 »

前缀树的场景以及实现

发表于 2020-06-29 | 分类于 算法面试题
字数统计: 794 | 阅读时长 ≈ 2
[TOC] 前缀树trie 树也称为字典树、单词查找树,最大的特点就是共享字符串的公共前缀来达到节省空间的目的了。例如,字符串 “abc”和”abd”构成的 trie 树如下: trie 树来实现敏感词过滤三个敏感词:”de”, “bca”, “bcf” 建立一颗 trie 树 接着我们可以采用 ...
阅读全文 »

77406@LAPTOP-VEMP0J78 MINGW64 ~/Desktop

发表于 2020-06-29
字数统计: 0 | 阅读时长 ≈ 1
阅读全文 »

ORM是什么

发表于 2020-06-29 | 分类于 框架
字数统计: 113 | 阅读时长 ≈ 1
[TOC] 概念ORM:(Object/Relation Mapping): 对象/关系映射ORM的实现思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。 为什么是mybatis是半ORM而Mybatis在查询关联对象或关联集合对象时,需要 ...
阅读全文 »

spring两种代理

发表于 2020-06-28 | 分类于 框架
字数统计: 3.2k | 阅读时长 ≈ 12
[TOC] 代理模式代理模式是一种比较好的理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 代理模式的主要作用是扩展目标对象的功能,比如说在目标对象的某个方法执行前后你可以增 ...
阅读全文 »

mybatis相关疑惑

发表于 2020-06-28 | 分类于 框架
字数统计: 926 | 阅读时长 ≈ 4
[TOC] mybatis中#和$的区别#{parameterName} ${parameterName} 首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,并自动加上’’,例如传入参数是“Smith”,那么在下面 ...
阅读全文 »

count(*)、count(1)、count(某字段)的区别

发表于 2020-06-28 | 分类于 mysql
字数统计: 169 | 阅读时长 ≈ 1
count(*):所有行进行统计,包括NULL行.COUNT(*)不单会进行全表扫描,也会对表的每个字段进行扫描。count(1):所有行进行统计,包括NULL行.其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1count(column):对colum ...
阅读全文 »

线程池底层&四种类型&参数含义

发表于 2020-06-27 | 分类于 并发编程
字数统计: 4.6k | 阅读时长 ≈ 19
[TOC] 线程池底层都是通过 ThreadPoolExecutor 来实现的 线程池的执行过程这里用一个图来说明线程池的执行流程 任务被提交到线程池,会先判断当前线程数量是否小于corePoolSize,如果小于则创建线程来执行提交的任务,否则将任务放入workQueue队列,如果workQue ...
阅读全文 »

ConcurrentHashMap解析

发表于 2020-06-27 | 分类于 Java容器
字数统计: 3.7k | 阅读时长 ≈ 17
[TOC] 存储结构ConcurrentHashMap 和 HashMap 实现上类似,最主要的差别是 ConcurrentHashMap 采用了分段锁(Segment),每个分段锁维护着几个桶(HashEntry),多个线程可以同时访问不同分段锁上的桶,从而使其并发度更高(并发度就是 Segmen ...
阅读全文 »
<i class="fa fa-angle-left"></i>1…282930…32<i class="fa fa-angle-right"></i>
John Doe

John Doe

313 日志
43 分类
5 标签
© 2022 John Doe
博客全站共676.6k字