看完源码记不住,是我脑子不太好吗? Java 编程技术

看完源码记不住,是我脑子不太好吗?

都说大厂面试必问源码,可很多人看完Spring、MyBatis等源码记不住,是脑子有问题吗? 当然不是!是因为你没有掌握学习源码的技巧。 看完源码的我… 我的朋友子路,很多人都叫他路神,称他为“ 国内Spring讲解最好的第一人 ”。 子路说他以前学习Spring、Spring boot源码,只能去翻书,去报个线下培训班,或者向其他公司的大牛请教,...
阅读全文
看完源码记不住,是我脑子不太好吗? Spring

看完源码记不住,是我脑子不太好吗?

都说大厂面试必问源码,可很多人看完Spring、MyBatis等源码记不住,是脑子有问题吗? 当然不是!是因为你没有掌握学习源码的技巧。 看完源码的我… 我的朋友子路,很多人都叫他路神,称他为 “ 国内Spring讲解最好的第一人 ” 。 子路说他以前学习Spring、Spring boot源码,只能去翻书,去报个线下培训班,或者向其他公司的大牛...
阅读全文
【MyBatis】MyBatis缓存 Java 编程技术

【MyBatis】MyBatis缓存

Mybatis缓存 Mybatis的一级缓存是指SqlSession。存储作用域是Session,会对同一个SQL语句进行Session缓存,来提高执行效率,一级缓存的作用域是一个SqlSession。Mybatis默认开启一级缓存。在同一个SqlSession中,执行相同的查询SQL,第一次会去查询数据库,并写到缓存中;第二次直接从缓存中取。当执行SQL时两次查询中间发生了增删改操作,则...
阅读全文
Mybatis之一级缓存与二级缓存 Java 编程技术

Mybatis之一级缓存与二级缓存

前言 面试官:虫虫你简历上写了了解mybatis缓存,那你能说说一级缓存和二级缓存的区别吗? 虫虫:我只知道这是用来缓存sql查询的数据 面试官:没了? 虫虫:没了 面试官:公司门知道在哪里吧 自己走还是我送你 以上是虫虫的面试经历 于是虫虫决定恶补一下Mybatis缓存机制的知识 Mybatis的缓存,包括一级缓存和二级缓存 Mybatis对缓存提供支持,...
阅读全文
Mybatis【进阶】 Java 编程技术

Mybatis【进阶】

1.映射文件 在mapper.xml文件中配置很多的sql语句, 执行每个sql语句时,封装为MappedStatement对象,mapper.xml以statement为单位管理sql语句 Statement的实际位置就等于namespace+StatementId 占位符 在Mybatis中,有2种占位符: #{ } 解析传递进来的参数数据 ${ } 对传...
阅读全文
连mybits工作原理都不懂,你敢说你自己会java? Java 编程技术

连mybits工作原理都不懂,你敢说你自己会java?

一、相较于Hibernate,mybatis的优势在哪里? Hibernate缺点: 1、运行效率低,内存占用比较严重 2、针对单一对象的增删改查,适合Hibernate,而Hibernate在批量操作时处于弱势 3、虽然Hibernate引入一二级缓存、lazyload、查询缓存等更多优化空间(对于那些改动 不大且经常使用的数据,可将他们放入缓存中),但Hibernate对于...
阅读全文
Spring如何基于Proxy及cglib实现动态代理 Spring

Spring如何基于Proxy及cglib实现动态代理

spring中提供了两种动态代理的方式,分别是Java Proxy以及cglib JavaProxy只能代理接口,而cglib是通过继承的方式,实现对类的代理 添加一个接口以及对应的实现类 public interface HelloInterface { void sayHello(); } public class HelloInterfaceImpl implements...
阅读全文
面试官:“同学,你有真正的看完过一门源码吗?” Java 编程技术

面试官:“同学,你有真正的看完过一门源码吗?”

今天和大家聊一聊  Mybatis源码分析 。 源码确实该好好聊聊,为什么这样说?因为源码被大家忽视的太久了。 比如说在你面试的时候,面试官问你CRUD的问题你一顿操作猛如虎,但是一问到 Mybatis源码 相关的问题: 你确定你真正了解ORM底层原理? Mybatis缓存的实现和使用你清楚吗? Mybatis中Sql解析执行的原理是什么? Mybatis中...
阅读全文
MyBatis缓存机制(一级缓存,二级缓存) Java 编程技术

MyBatis缓存机制(一级缓存,二级缓存)

一,MyBatis一级缓存(本地缓存) My Batis 一级缓存存在于 SqlSession 的生命周期中,是SqlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构用来存储缓存数据。不同的SqlSession之间的数据缓存是不能共享的。 在同一个SqlSession 中查询数据时,sqlSession会先在一级缓存中查找,如果有,直接...
阅读全文
MyBatis缓存模块分析 Java 编程技术

MyBatis缓存模块分析

在 MyBatis 中一级缓存默认开始,二级缓存默认不开启(实际使用中也不会使用,一般使用 Redis 代替了) 为了保证 MyBatis 的核心功能具有各种附加能力(防止缓存击穿,添加缓存情况策略(fifo、LRU),序列化功能,日志能力和定时清空能力等),缓存模块使用了 装饰器模式 缓存模块结构 装饰器模式在缓存模块的使用 Cache:Cache...
阅读全文
Loading...