01 2023 档案
摘要:前言 相信大部分面试都是说用 Redis 去实现分布式锁,用 Zookeeper 实现分布式锁相对而言遇到的较少,最近在整理之前的面经答案,因此特意写篇博客解释一下。 实现一把分布式锁通常有很多方法,比较常见的有 redis 和 Zookeeper。相信大家对 redis 实现分布式锁已经非常了解,
阅读全文
摘要:全量同步与增量同步的区别 全量同步:就是每天定时(避开高峰期)或者采用一个周期实现将数据拷贝到一个地方也就是Rdb存储。 增量同步:比如采用对行为的操作实现对数据的同步,也就是AOF。 全量与增量的比较:增量同步比全量同步更加消耗服务器的内存,但是能够更加的保证数据的同步。 RDB与AOF实现持久化
阅读全文
摘要:文章目录 1.什么是ThreadLocal?2.ThreadLocal基本用法3.ThreadLocal的应用场景4.ThreadLocal底层原理5.强软弱引用之间的区别5.1强引用5.2软引用5.3弱引用5.4虚引用 6.ThreadLocal内存泄漏问题7.如何防止ThreadLocal内存泄
阅读全文
摘要:一、ThreadLocal概述 ThreadLocal是一个线程的本地变量,也就意味着这个变量是线程独有的,是不能与其他线程共享的。这样就可以避免资源竞争带来的多线程的问题。但是,这种解决多线程安全问题的方式和加锁方式(synchronized、Lock) 是有本质的区别的,区别如下所示: 1> 关
阅读全文
摘要:一、拷贝的引入(1)、引用拷贝创建一个指向对象的引用变量的拷贝。 Teacher teacher = new Teacher("Taylor",26); Teacher otherteacher = teacher; System.out.println(teacher); System.out.p
阅读全文
摘要:前言 git我们已经足够熟悉了,也许项目中我们常用的是merge命令,有时也用到rebase,但是就是不清楚两者的区别以及背后的机制原理,接下来进行讲解。 相同点 两者都可以合并代码。 不同点 比如现在在某个子分支执行git rebase(merge) master操作。 merge:将在子分支的所
阅读全文
摘要:目录 ES 简介 ES 的特点: 一、from + size 浅分页 二、scroll 深分页 scroll删除 三、search_after 深分页 ES 简介 Elasticsearch 是一个基于 Lucene 实现的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful
阅读全文
摘要:Java开发中都是默认使用日志门面+日志实现的方式打印日志。日志门面主要是为了给Java日志访问提供一套标准、规范的API框架,其主要意义在于提供接口,具体的实现可以交由具体的日志实现框架。 1.那些年那些日志框架 日志门面日志实现JCL(Jakarta Commons Logging)JUL(ja
阅读全文
摘要:内容导航 Thread.join的作用Thread.join的实现原理什么时候会使用Thread.join Thread.join的作用 之前有人问过我一个这样的面试题 Java中如何让多线程按照自己指定的顺序执行? 这个问题最简单的回答是通过Thread.join来实现,久而久之就让很多人误以为T
阅读全文
摘要:查找出具体jar包的依赖 找出 gropuId, artifactId 如图所示 这里的groupid,artifactId用冒号分割的。上图中看出来该jar包所对应pom.xml配置的groupId和artifactId为org.mybatis:mybatis,中间是冒号分隔的。所以我们要搜索的就
阅读全文
摘要:日志是数据库中比较重要的组成部分,很多核心的功能必须依靠日志才能完成。 该篇文章简要介绍了binlog、redo log与undo log,能够在一定程度上拓宽对mysql日志的整体认识。 binlog 又称归档日志,由Server层实现与记录,因此对任何引擎都有效。 binlog是一种只记录对表中
阅读全文
摘要:前言 MySQL中的锁分为表锁以及行锁,从字面意思就可以得知,表锁是对一整张表进行加锁,而行锁是针对于特定的行。在Server层面,提供了表锁的实现,而行锁则由存储引擎实现。Innodb引擎支持行锁,Myisam则不支持行锁。 下面从锁模式以及加锁方法来大致阐述Mysql中的锁。 锁模式 锁模式分为
阅读全文
摘要:Mysql存储引擎之一的Innodb的索引,可以分为聚集索引与非聚集索引,这两种索引都是使用B+树组织的。 本文不讲解什么是索引,对索引不了解的同学可以先移步到我的另外一篇文章【数据库】mysql索引简谈 在分析这两种索引之前,我们先建立一个Person表: CREATE TABLE person
阅读全文
摘要:mysql索引简谈 一、什么是索引 就好比我们在看一本书的时候,有目录的话,我们可以快速定位到想看的地方,而没有目录的话,我们只能一页一页地翻。索引就像目录,有了索引,数据库可以快速查询到目标内容,而不必查找整个数据库表,但是如果没有的话,数据库只能一行一行地遍历数据。 本文使用的案例表:学生表(t
阅读全文
摘要:一、事务简介与四大特性 事务指的是一组命令操作,在执行的过程中,要么全部成功,要么全部失败。 由引擎层支持事务,MyISAM就不支持事务,而InnoDB是支持事务的。 事务具有以下四大特性(ACID): 原子性(Atomicity):指事务不可分割,要么全部成功,要么全部失败,不可能存在部分成功或部
阅读全文
摘要:文章目录 前一、幻读是什么?二、建立表和插入数据测试1.建表2.测试幻读1.快照读场景 【即没有数据更新的场景】2.当前读场景3.当前读 ,插入区间外的数据,插入区间外的数据,可以证明间隙锁的存在,如果能插入成功,则证明是锁住的是区间。4. 当前读,age字段不加索引的情况 总结 前 最近研究了下m
阅读全文
摘要:最近要在公司内做一次技术分享,思来想去不知道该分享些什么,最后在朋友的提示下,准备分享一下MySQL的InnoDB引擎下的事务幻读问题与解决方案--LBCC&MVCC。经过好几天的熬夜通宵,终于把这部分的内容捋清楚了。至于为什么说是InnoDB呢?因为MyISAM引擎是不支持事务的。事务概念一个事情
阅读全文
摘要:二分查找题目 输入一个 n 个元素升序的整型数组 nums , 再输入一个目标值 target 。 编写一个方法: 使用二分法, 查找 nums 中的 target, 如果target存在, 则返回在数组中的下标, 否则返回 -1。 数组上任意一点的值:nums[i] 二分法查找流程 第一步 在数组
阅读全文
摘要:https://www.cnblogs.com/qlqwjy/p/15594642.html https://blog.csdn.net/HD243608836/article/details/110433868 白话: 1.RestTemplate底层采用Httpclient实现,可以配合ribb
阅读全文
摘要:在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力: @Bean @LoadBalanced RestTemplate restTempla
阅读全文
摘要:介绍# AMQP和JMS消息服务 什么是JMS: Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口 JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC
阅读全文