SpringBoot有几种获取Request对象的方法?

2023-08-14
阅读 2 分钟
833
HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。
封面图

RR有幻读问题吗?MVCC能否解决幻读?

2023-08-09
阅读 2 分钟
551
幻读是 MySQL 中一个非常普遍,且面试中经常被问到的问题,如果你还搞不懂什么是幻读?什么是 MVCC?以及 MySQL 中的锁?那么请好好收藏和阅读本篇文章,因为它非常重要。
封面图

如何判断线程池任务执行完?

2023-08-04
阅读 6 分钟
586
例如某个复杂的查询,无法使用一个查询语句来完成此功能,此时我们就需要执行多个查询语句,然后再将各自查询的结果,组装之后返回给前端了,那么这种场景下,我们就必须使用线程池来进行并发查询了。
封面图

面试官:线程是如何通讯的?

2023-08-03
阅读 3 分钟
279
线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下的 wait()、notify() 和 notifyAll() 方法;Condition 类下的 await()、signal() 和 signalAll() 方法;LockSupport 类下的 park() 和 unpa...
封面图

分布式事务两阶段提交和三阶段提交有什么区别?

2023-07-27
阅读 3 分钟
369
分布式事务是指在分布式系统中,多个节点之间进行的事务操作。比如在分布式系统中,用户在下单时,需要同时创建订单信息和减库存的操作,然而创建订单信息和减库存是分布在不同服务器和不同数据库中的,如下图所示:此时我们就需要一个分布式事务介入,保证所有操作,要么一起提交,要么一起回滚。
封面图

TP-LINK面试真题和答案,您能做对几道?

2023-07-11
阅读 11 分钟
541
话说 TP-LINK 联洲的秋招提前批已经开启很久了,6 月份就已经开启了,并且最近已经有人陆陆续续拿到口头 Offer 了,所以今天就来给大家介绍一下 TP-LINK 的面试流程和真题及答案解析。
封面图

美团面试真题和答案

2023-07-05
阅读 6 分钟
727
问题来源于某客,如下图所示:问题链接:[链接]答案解析1.线程池有几种实现方式?线程池的创建方法总共有 7 种,但总体来说可分为 2 类:通过 ThreadPoolExecutor 创建的线程池;通过 Executors 创建的线程池。线程池的创建方式总共包含以下 7 种(其中 6 种是通过 Executors 创建的,1 种是通过 ThreadPoolExecutor 创...
封面图

蔚来真题和答案,主打一个简单?

2023-06-29
阅读 8 分钟
773
<img src="https://cdn.nlark.com/yuque/0/2023/png/92791/1687946200989-e5852be8-69f0-49a9-9b40-f3960db36c2d.png" width="50%">
封面图

Redis跳跃表是如何添加元素的?

2023-06-27
阅读 2 分钟
718
Java 面试不可能不问 Redis,问到 Redis 不可能不问 Redis 的常用数据类型,问到 Redis 的常用数据类型,不可能不问跳跃表,当问到跳跃表经常会被问到跳跃表的查询和添加流程,所以接下来我们一起来看这道题的答案吧。
封面图

干掉Navicat?阿里Chat2DB来了!

2023-06-26
阅读 2 分钟
1.7k
Chat2DB 是一款由阿里巴巴开源免费的多数据库客户端工具,支持 windows、mac 本地安装,也支持服务器端部署,web网页访问。 和传统的数据库客户端软件 Navicat、DBeaver 相比 Chat2DB 集成了 AIGC 的能力,能够将自然语言转换为 SQL, 也可以将 SQL 转换为自然语言,可以给出研发人员 SQL 的优化建议,极大的提升人员的...

蔚来手撕代码题:三个线程循环打印ABC

2023-06-25
阅读 3 分钟
1.1k
三个线程交替打印 ABC 的实现方法有很多,我个人比较倾向于使用 JUC 下的 CyclicBarrier(循环栅栏,也叫循环屏障)来实现,因为循环栅栏天生就是用来实现一轮一轮多线程任务的,它的核心实现思路如下图所示:CyclicBarrier 作用是让一组线程相互等待,当达到一个共同点时,所有之前等待的线程再继续执行,且 CyclicBarr...
封面图

面试突击:MVCC 和间隙锁有什么区别?

2023-03-26
阅读 2 分钟
1.3k
MVCC 通过保存数据在某个时间点的快照来实现这一点。在读取数据时,只会读取在该时间点之前提交的数据。在写入数据时,会为每个写入操作创建一个新版本的数据,而不是直接覆盖原有的数据。这样,读操作就可以读取旧版本的数据,而写操作则可以写入新版本的数据,从而实现了并发控制。

面试官:限流算法有哪些?

2023-02-20
阅读 4 分钟
997
计数器算法是在一定的时间间隔里,记录请求次数,当请求次数超过该时间限制时,就把计数器清零,然后重新计算。当请求次数超过间隔内的最大次数时,拒绝访问。

面试官:熔断和降级有什么区别?

2023-02-17
阅读 2 分钟
825
熔断和降级都是系统自我保护的一种机制,但二者又有所不同,它们的区别主要体现在以下几点:概念不同触发条件不同归属关系不同1.概念不同1.1 熔断概念“熔断”一词早期来自股票市场。熔断(Circuit Breaker)也叫自动停盘机制,是指当股指波幅达到规定的熔断点时,交易所为控制风险采取的暂停交易措施。比如 2020 年 3 月 ...
封面图

面试必问:JVM 如何确定死亡对象?

2023-02-16
阅读 3 分钟
585
在 JVM 中,有两个非常重要的知识点,一个是 JVM 的内存布局(JVM 运行时的数据区域),另一个就是垃圾回收。而垃圾回收中又有两个重要的知识点,一个是如何确定 JVM 中的垃圾对象,另一个是使用不同的垃圾收集器进行垃圾回收。而本篇要讨论的是前者,后面的内容咱们下一篇再聊。
封面图

宽表为什么横行?

2023-02-15
阅读 5 分钟
788
宽表在BI业务中比比皆是,每次建设BI系统时首先要做的就是准备宽表。有时系统中的宽表可能会有上千个字段,经常因为“过宽”超过了数据库表字段数量限制还要再拆分。

为什么用元空间替代永久代?

2023-02-13
阅读 2 分钟
834
永久代和元空间都是 HotSpot 虚拟机中的概念,HotSpot 虚拟机是 Sun JDK 和 Open JDK 中自带的虚拟机,也是目前使用范围最广泛的 Java 虚拟机,当我们提到虚拟机时,大概率指的就是 HotSpot 虚拟机。

对线面试官:浅聊一下 Java 虚拟机栈?

2023-02-09
阅读 5 分钟
891
对于 JVM(Java 虚拟机)来说,它有两个非常重要的区域,一个是栈(Java 虚拟机栈),另一个是堆。堆是 JVM 的存储单位,所有的对象和数组都是存储在此区域的;而栈是 JVM 的运行单位,它主管 Java 程序运行的。那么为什么它有这样的魔力?它存储的又是什么数据?接下来,我们一起来看。
封面图

面试必问:说一下 Java 虚拟机的内存布局?

2023-02-06
阅读 13 分钟
1.1k
我们通常所说的 Java 虚拟机(JVM)的内存布局,一般是指 Java 虚拟机的运行时数据区(Runtime Data Area),也就是当字节码被类加载器加载之后的执行区域划分。当然它通常是 JVM 模块的第一个面试问题,所以,接下来我们一起来看它里面包含了哪些内容。
封面图

面试官:什么是双亲委派模型?

2023-02-03
阅读 3 分钟
1.1k
双亲委派模型是 Java 类加载器的一种工作模式,通过这种工作模式,Java 虚拟机将类文件加载到内存中,这样就保证了 Java 程序能够正常的运行起来。那么双亲委派模型究竟说的是啥呢?接下来我们一起来看。

类是如何加载的?

2023-01-28
阅读 2 分钟
816
在 Java 中,类加载的流程有一个专门的机制叫做“类加载机制”。类加载机制是指一个类在 Java 虚拟机(JVM)中的执行流程,它也是 Java 程序能够正常执行的关键所在,那它的具体执行流程是啥?接下来我们一起来看。

SQL 嵌套 N 层太长太难写怎么办?

2023-01-17
阅读 7 分钟
597
我们工作中写SQL处理数据是家常便饭,不管是应用内数据处理还是临时查询分析都可以用SQL完成,相对其他技术(如Java等高级语言)也更简单。不过,SQL的简单只限于简单需求,有些复杂计算场景SQL写起来却很难,嵌套N层以至于达到几百上千行,说SQL代码长度时通常不会以行计而是以KB计。这种情况并不少见,相信经常写SQL的...

2022年终总结:不再用“拼命”来应对极度的不安全感

2022-12-31
阅读 3 分钟
1.5k
今年的状态和以往的每年都不同,以往的每年都感觉在“疲于奔命”中度过,连呼吸都感觉在浪费时间,所以就拼命的工作、拼命的写文章、拼命的学技术、拼命的看书、拼命的成长......并且只有在拼命时,才会觉得踏实,但现在回头再看,只不过是用“拼命”来应对心中极度的不安全感,这可能就是佛教讲的“执着”。

ClickHouse 挺快,esProc SPL 更快

2022-12-15
阅读 6 分钟
770
先用ClickHouse(简称CH)、Oracle数据库(简称ORA)一起在相同的软硬件环境下做对比测试。测试基准使用国际广泛认可的TPC-H,针对8张表,完成22条SQL语句定义的计算需求(Q1到Q22)。测试采用单机12线程,数据总规模100G。TPC-H对应的SQL都比较长,这里就不详细列出了。

列存数据仓库怎样更高效

2022-11-10
阅读 4 分钟
675
很多数据仓库产品都采用了列式存储。如果数据表的总列数很多而计算涉及的列很少,采用列存就只读取需要的列即可,能够减少硬盘访问量,提高性能。特别是数据量非常大时,硬盘扫描和读取的时间占比很大,这时候列存的优势会很明显。

有没有完全自主的国产化数据库技术

2022-10-24
阅读 5 分钟
738
数据库号称IT领域三大核心之一(其他两个是CPU和操作系统),一直以来都被国际巨头垄断,人家控制着核心,想什么时候锁喉就什么时候锁,你一点办法都没有。

面试突击91:MD5 加密安全吗?

2022-10-18
阅读 4 分钟
801
MD5 是 Message Digest Algorithm 的缩写,译为信息摘要算法,它是 Java 语言中使用很广泛的一种加密算法。MD5 可以将任意字符串,通过不可逆的字符串变换算法,生成一个唯一的 MD5 信息摘要,这个信息摘要也就是我们通常所说的 MD5 字符串。那么问题来了,MD5 加密安全吗?
封面图

面试突击90:过滤器和拦截器有什么区别?

2022-10-16
阅读 5 分钟
1k
过滤器(Filter)和拦截器(Interceptor)都是基于 AOP(Aspect Oriented Programming,面向切面编程)思想实现的,用来解决项目中某一类问题的两种“工具”,但二者有着明显的差距,接下来我们一起来看。
封面图

面试突击89:事务隔离级别和传播机制有什么区别?

2022-10-09
阅读 3 分钟
1k
事务隔离级别和事务传播机制都是对事务行为的规范,但二者描述的侧重点却不同。本文这里所说的事务隔离级别和事务传播机制指的是 Spring 框架中的机制。
封面图

面试突击88:加入事务和嵌套事务有什么区别?

2022-10-07
阅读 4 分钟
1.2k
加入事务和嵌套事务是指在 Spring 事务传播机制中的加入事务(REQUIRED)和嵌套事务(NESTED)的区别,二者看似很像,实则截然不同,那么它们有什么区别呢?接下来我们一起来看。
封面图