1 基本概念1.1 常见考点1、Redis 为何这么快?1)基于内存;2)单线程减少上下文切换,同时保证原子性;3)IO多路复用;4)高级数据结构(如 SDS、Hash以及跳表等)。2、为何使用单线程?官方答案因为 Redis 是基于内存的操作,CPU 不会成为 Redis 的瓶颈,而最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且 CPU 不会成为瓶颈,那就顺理成章地采用单线程的方
转载
2023-09-19 19:23:25
118阅读
# 如何准备Java底层原理面试
## 一、整体流程
在准备Java底层原理面试时,需要遵循以下步骤:
| 步骤 | 内容 |
| --- | --- |
| 1 | 确定要学习的主题 |
| 2 | 深入研究每个主题 |
| 3 | 练习编写相关代码 |
| 4 | 总结并复习重点知识点 |
| 5 | 进行模拟面试 |
## 二、详细步骤及代码示例
### 1. 确定要学习的主题
原创
2024-07-03 05:23:16
32阅读
mybatis用于和数据库交互层面,只需定义好Mapper接口,在业务层需要的地方通过@Autowird引入对应的mapper即可,很方便。
原创
2021-07-08 10:17:50
659阅读
这段时间趁着工作不忙,一起来回顾一下Mybatis+mysql的一些底层东西 一、mysql 1:mysql锁有哪些? 》共享锁(读锁)和排他锁(写锁) 1):共享锁(通过 lock in share model实现) 共享锁又叫读锁,也就是执行一条查询sql语句的时候实现的,一旦共享锁,此时查询的 ...
转载
2021-07-18 00:04:00
240阅读
2评论
MyBatis的底层实现原理 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w372426096/article/details/82622418动态代理的功能:通过拦截器方法回调,对目标target方法进行增强。 言外之意就是为了增强目标targ
转载
2019-07-13 11:05:00
115阅读
2评论
本文 的 原文 地址 原始的内容,请参考 本文 的 原文 地址 本文 的 原文 地址 尼恩说在前面: 最近大厂机会多了, 在45岁老架构师 尼恩的读者交流群(50+)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、shopee、百度、网易的面试资格,遇到很多很重 ...
1.工作原理原型图: SqlSessionFactory构建方式:SqlSessionFactory构建MapperSQL映射:XML配置Java 注解配置2.功能架构设计: Mybatis的功能架构可以分为三层:(1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。(2)数据处
转载
2024-04-22 23:05:12
81阅读
1、为什么要用redis做缓存? 高性能: 假如用户第一次访问数据库中的某些数据,是从硬盘上读取的,速度比较慢。将这些数据存在缓存中,下次直接从缓存中取,速度很快,操作缓存就是直接操作内存。 高并发: 直接操作缓存能够承受的请求远远大于直接访问数据库。考虑将数据库中的部分数据转移到缓存中,这样用户的一部分请求会直接到缓存而不用经过数据库。2、Redis的两种持久化方式? 1)为什么要配持久化? 因
转载
2023-12-27 15:30:55
157阅读
一、简介Spring框架核心主要有两个:IOC和AOP。(一)、IOC容器IOC:控制反转,我们想实现一个功能,类A有可能调用到很多其他的接口,比如类B、类C中的方法,为了能调用别的类的方法,首先得取得这个类的实例,即在类A中new一个类B、再new一个类C,也就是说调用者负责创建被调用者的实例。这样的话,会造成类A中越来越臃肿,越来越不好管理;类B、类C需要不断的创建。引入Spring的IOC容
转载
2024-04-10 17:30:51
6阅读
① Spring IOC / DISpring IOC / DI概念将对象创建和属性赋值的权利,转移到spring工厂中完成,解耦和,提高了开发效率,极大提高了代码可维护性。Spring IOC / DI底层实现原理问题说明:Spring是如何通过配置文件,就完成了对象的创建和属性的赋值?答案:使用工厂设计模式 + 配置文件 + 反射描述: 使用工厂设计模式,在工厂中,根据配置文件中标签的clas
转载
2024-02-16 21:35:32
11阅读
文章目录ArrayList 集合底层原理LinkedList 集合(底层双链表)Iterator 迭代器源码分析HashSet 底层原理HashMap 底层原理TreeMap 底层原理 ArrayList 集合底层原理原理: ① 利用空参创建的集合,在内存中是默认长度为0的 ② 添加第一个元素的时候,底层会创建一个长度为10的数组 ③ 存满时,会扩容1.5倍 ④ 如果一次添加多个元素,1.5倍还
转载
2023-09-03 10:43:26
43阅读
八、Java底层基础题1.SpringMVC的原理以及返回数据如何渲染到jsp/html上?答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 DispatcherServlet ,转发给HandlerMapping ,然后经反射,对应 Controller及其里面方法的@RequestMapping地址,最后经ModelAndView和V
转载
2023-08-09 12:21:09
90阅读
mybatis底层执行原理(源码解析)
原创
2023-05-09 09:58:53
166阅读
synchronized底层实现原理这就是面试标准回答,我以前面试时,求的就是这种博客,我不需要你给我深入解释其所有原理
原创
2022-06-09 12:05:38
110阅读
前言刚开始使用Mybaits的同学有没有这样的疑惑,为什么我们没有编写Mapper的实现类,却能调用Mapper的方法呢?本篇文章我带大家一起来解决这个疑问上一篇文章我们获取到了DefaultSqlSession,接着我们来看第一篇文章测试用例后面的代码java//获取对应的mapperUserMapperuserMapper=sqlSession.getMapper(UserMapper.cla
原创
2022-10-14 17:32:22
248阅读
一,Mybatis框架介绍 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 1. 封装JDBC操作 2. 利用反射打通Java类与SQL语句之间的相互转换 MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以
转载
2021-12-22 10:55:01
251阅读
每条题目都是自己做的,请点赞三连 文章目录Runloop线程、队列、锁GCDKVC、KVOISA、类结构消息转发引用计数、weak、autoreleasepool内存检测、OOM分类、扩展、关联对象NSMutableArray扩展Timer、锁TCP/IP协议族二叉树、排序性能优化算法 Runloop1、RunLoop 的本质是什么?答:本质是一个OC对象,内部也有isa指针。2、Runloop和
转载
2023-08-03 23:21:40
324阅读
最近在读黄健宏的《Redis设计与实现》,看完了第一部分,它是采用的自底向上的介绍方法。从最底层的数据结构开始,逐个介绍所用到的数据结构,最后形成数据库。我准备做个redis的学习笔记,这里我就自顶向下整理一下。服务器中的数据库redis服务器将所有数据库保存在服务器状态redis.h/redisServer结构的db数组中,db数组中的每项都是一个redis.h/redisDb的结构体,每个re
转载
2023-09-08 22:20:07
25阅读
redis底层原理基础面试题前言:由于正在准备之后的实习面试,故总结了一部分redis底层原理的问题,回答全为自己组织的语言,若有错各位大佬可及时指出,大家共同进步,谢谢。1.Redis的各个数据结构及使用场景redis中自主实现的数据结构主要有字符串、链表、字典、跳表、整数集合、压缩列表。 字符串作为最基本的数据结构类型,对于简单字符数组在安全性、效率及功能方面有所提升。底层结构中包含free\
转载
2023-07-11 13:24:08
75阅读
【面试-1】Runtime Asssociate方法关联的对象,需要在dealloc中释放?当我们对象释放时
原创
2021-06-29 16:50:59
527阅读
1评论