11 2021 档案
摘要:zookeper简称zk 了解zk,从这几个方面入手:概念,特性,提供什么,选举机制,zk底层工作原理,zk监听原理,zk 分布式锁原理,恕我直言,很多人写的东西让人抓不住重点,因此才想自己总结一篇。 1. 概念(zk是什么): 它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它
阅读全文
摘要:谈到MySQL索引,必然会想到索引概念,分类,结构,以及最左原则。 概念:索引是对数据库表中一个或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构 索引分类::普通索引、唯一索引、主键索引、全文索引,组合索引。 普通索引:只是为了方便快速查询。(无限制)。 主键索引:primary
阅读全文
摘要:话外:年年问,年年考,但是年年有人不会,不讲废话,有缘的小老弟,看到理解记忆就好了。 synchronized是Java中的关键字,是一种同步锁。 1、synchronized作用 原子性:synchronized保证语句块内操作是原子的 可见性:synchronized保证可见性(通过“在执行un
阅读全文
摘要:volatile 常用于保持内存可见性(随时见到的都是最新值)和防止指令重排序。 内存可见性(Memory Visibility):所有线程都能看到共享内存的最新状态。 Java变量的读写 Java通过几种原子操作完成工作内存和主内存的交互: lock:作用于主内存,把变量标识为线程独占状态。 un
阅读全文
摘要:1.什么是threadlocal? ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 2.应用场景? 1、在进行对象跨层传递的时候
阅读全文
摘要:概念:Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高;MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库
阅读全文
摘要:关于hashMap,一堆博客,废话者居多,因此,想用自己的话总结一篇。简明扼要,让小老弟们看懂,更是自我总结。 谈论这个问题,需要用jdk1.7和jdk1.8对比来看,来说,不然面试官会觉得你是个low货,他本身期待你自己说的时候,对比来说。具体从这几个方面对比来说:结构,原理,插入键值对的put方
阅读全文
摘要:设计原则:1.单一职责原则:一个类只专注于做一件事;高内聚,低耦合;2.开闭原则:对拓展开放,对修改关闭(尽可能不动原有代码进行拓展);3.里氏代换原则:子类必须能够替换它们的基类型,基类与子类可互换,客户端没有察觉情况下;4.依赖倒置原则:面向接口编程,依赖于抽象而不依赖于具体。写代码时用到具体类
阅读全文
摘要:原理根据上图流程说出来就好了 原理: 1.提交任务 2.先判断核心线程池是否都满了,没有满就创建线程执行任务 3.如否则看队列里面线程是否已经满了,没有满的话就任务储存在队列里面。 4.如果队列满了,看线程池是否满了,如果没有满,创建线程执行任务; 5.如果非核心线程池满了,执行拒绝策略。 线程池都
阅读全文
摘要:Java 中的各种锁 引用自https://www.cnblogs.com/cag2050/p/12357844.html 锁的种类概念实现 悲观锁(阻塞同步) synchronized、 乐观锁(非阻塞同步) 目前,在Java中应用最广泛的非阻塞同步就是CAS CAS包装类:AtomicXXX、
阅读全文