【后端面经-数据库】Redis数据结构和底层数据类型

2023-09-08
阅读 10 分钟
795
TOC声明:Redis的相关知识是面试的一大热门知识点,同时也是一个庞大的体系,所涉及的知识点非常多,如果用一篇文章罗列,往往会陷入知识海洋中无法感知其全貌,因此,这段时间我会试着拆分Redis的相关章节,辅以思维导图的形式介绍Redis的相关知识点,知识点范围包括如下几部分
封面图

【后端面经-数据库】Redis详解——Redis基本概念和特点

2023-08-11
阅读 3 分钟
474
声明:Redis的相关知识是面试的一大热门知识点,同时也是一个庞大的体系,所涉及的知识点非常多,如果用一篇文章罗列,往往会陷入知识海洋中无法感知其全貌,因此,这段时间我会试着拆分Redis的相关章节,辅以思维导图的形式介绍Redis的相关知识点,知识点范围包括如下几部分
封面图

【后端面经-Java】Java基本概念

2023-07-25
阅读 2 分钟
499
从某种意义上,Java是在C++的基础上,取其精华去其糟粕,进行改进之后得到的一门语言,因此,Java和C++都是面向对象的语言,大量的语法都是相通的,但是既然是C++2.0版本,总是会有所不同的。下面就来总结一下Java和C++的区别。
封面图

【后端面经-Spring】Spring简介

2023-07-25
阅读 2 分钟
330
Spring是为了简化java项目开发设计的一款设计层面开源框架,其设计目的就是为了“简化开发”。它使用分层架构,解决业务逻辑层和各层之间的松耦合。核心特性:
封面图

【后端面经-Java】String与StringBuffer与StringBuilder的比较

2023-07-24
阅读 3 分钟
388
运算和操作创建对象创建对象有两种方式: {代码...} 两种方式都会在栈中创建一个字符串变量str,但它们的内存分配方式是不同的。我们可以通过如下代码直观看出两种方式的不同 {代码...} 为了理解这部分内容,最好先了解一下Java中的内存分配机制,可参考此篇博客:【后端面经-Java】JVM内存分区详解总之,简单来说,内存...
封面图

【后端面经-Java】JVM垃圾回收机制

2023-07-19
阅读 5 分钟
309
JVM垃圾回收机制(Garbage Collect,简称GC)主要负责回收JVM内存当中未被及时释放回收的内存区域,JVM垃圾回收机制让程序员摆脱了手动释放内存的操作,降低了程序员疏忽大意导致的风险。那么,垃圾回收机制到底针对哪一块的内存空间进行处理呢?是整体内存还是某一块内存?在回答这个问题之前,我们需要先了解一下JVM内...
封面图

【后端面经-Java】JVM内存分区详解

2023-07-17
阅读 3 分钟
374
1. JVM内存分区简介JVM内存分区如图所示:主要有如下几个区域:栈(Stack)堆(Heap)方法区(Method Area)程序计数器(PC)本地方法栈(Native Method Stack)其中,程序计数器用于存储线程当前执行的指令地址(记录进度),程序计数器是线程私有的;本地方法栈并不是每个JVM都必须实现,而是针对支持native本地方法调...
封面图

【后端面经-架构】RabbitMQ简介

2023-07-12
阅读 2 分钟
538
MQ(Message Queue)用于在应用程序之间相互通信,在消息中发送数据进行通信,而不需要特意建立连接传输数据。与之对应的另一种通信方式是远程直接调用(RPC),需要先建立通信连接然后传递数据。
封面图

【后端面经-Java】I/O多路复用 简录

2023-07-10
阅读 3 分钟
784
当一个线程进行I/O操作的时候,传统的做法是阻塞等待,直到I/O操作完成再继续后续的操作,这种IO方式就是BIO(Blocking I/O)。
封面图

【后端面经-计算机基础】HTTP和TCP的区别

2023-07-05
阅读 3 分钟
1.1k
【后端面经-计算机基础】HTTP和TCP的区别1. OSI七层模型和相关协议在计算机网络的学习中,OSI七层结构是一个很重要的概念。七层模型从上到下如下所示:应用层:负责应用之间的通信,处理请求和响应的具体格式表示层:对于数据格式进行处理会话层:负责建立和断开通信连接,传输层:负责建立端口之间的连接,规范数据传输...
封面图

【后端面经-Java】公平锁和加锁流程

2023-06-29
阅读 3 分钟
498
拿游乐场等待娱乐项目举例,普通游客只能按照先后顺序排队等待使用游乐设施,这就是公平锁,但是普通入口加上优速通,显然VIP游客可以快人一步,这就有点非公平锁的意思了。
封面图

【后端面经-Java】AQS详解

2023-06-29
阅读 9 分钟
665
AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock。简单来说,AQS定义了一套框架,来实现同步类。
封面图

【后端面经-Java】Synchronize和ReentrantLock区别

2023-06-28
阅读 2 分钟
538
Synchronize(同步锁)和ReentrantLock(可重入锁)都是Java中的常用锁,都是用来保证线程安全的。两者都是同步锁,且都是阻塞同步。
封面图

【后端面经-Java】HashMap详解

2023-06-25
阅读 11 分钟
1.2k
1. HashMap的家族定位接口java.util.Map有四个常用的实现类,如图是它们之间的类继承关系。下面我将一一介绍其性能特点。HashMap:最常用的Map实现类,通过使用Hash表结构,提高查找速度;使用键值对作为存储节点,只允许一个key值为null,允许多个value值为null;线程不安全,对于线程安全有要求的程序,可以考虑使用:...
封面图