2020年12月3日
摘要: 写操作执行过程 如果这条sql是写操作(insert、update、delete),那么大致的过程如下,其中引擎层是属于 InnoDB 存储引擎的,因为InnoDB 是默认的存储引擎,也是主流的,所以这里只说明 InnoDB 的引擎层过程。由于写操作较查询操作更为复杂,所以先看一下写操作的执行图。方 阅读全文
posted @ 2020-12-03 20:55 萌新J 阅读(4089) 评论(18) 推荐(11) 编辑
  2020年11月30日
摘要: 本文主要总结 MySQL 事务几种隔离级别的实现和其中锁的使用情况。因为 Mysql 几种存储引擎中 InnoDB 使用的最多,同时也支持事务和锁,所以这篇主要说得是 InnoDB 引擎下的锁机制与事务。 在开始前先简单回顾事务几种隔离级别以及带来的问题。 四种隔离级别:读未提交、读已提交、可重复读 阅读全文
posted @ 2020-11-30 20:32 萌新J 阅读(1748) 评论(0) 推荐(2) 编辑
  2020年11月8日
摘要: 什么是AQS? AQS是JUC内容的基石,它本质上是一个抽象类,定义了多线程下资源争夺与释放的规则和过程,许多实现类都是继承于AQS,使用AQS的骨架。 AQS的原理 AQS总体上来看是由一个FIFO(先进先出)队列和一个state属性配合组成的。FIFO用来存储线程结点的,state属性用来表示资 阅读全文
posted @ 2020-11-08 11:33 萌新J 阅读(616) 评论(0) 推荐(1) 编辑
  2020年10月9日
摘要: 散列表 在了解hashmap之前,要先知道什么是散列表,因为hashmap就是在散列表结构基础上改造而成的。散列表,也叫哈希表,是根据关键码值(key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的 阅读全文
posted @ 2020-10-09 16:05 萌新J 阅读(994) 评论(0) 推荐(2) 编辑
  2021年7月21日
摘要: 为什么使用 ES? 在传统的数据库中,如果使用某列记录某件商品的标题或简介。在检索时要想使用关键词来查询某个记录,那么是很困难的,假设搜索关键词 "小米",那么 sql 语句就是 select * from product where title like concat("%","小米","%") 阅读全文
posted @ 2021-07-21 20:52 萌新J 阅读(377) 评论(0) 推荐(2) 编辑
  2021年7月12日
摘要: 基础 为什么使用 MQ? 1、削峰:在某个模块接收到超过最大承受的并发量时,可以通过 MQ 排队来使这些削减同一时刻处理的消息量。减小并发量。 2、解耦:在发送 MQ 处理业务时,可以使业务代码与当前的代码解耦,便于维护和拓展。 3、异步:异步使得在调用 MQ 后可以去处理其他操作,在 MQ 执行完 阅读全文
posted @ 2021-07-12 11:19 萌新J 阅读(673) 评论(4) 推荐(3) 编辑
  2021年6月18日
摘要: 主流的认证机制 HTTP Basic Auth 这种是最初的使用用户名密码进行用户认证的,也就是每次请求都会携带用户密码,也是最不安全,最陈旧的方式。现在几乎不用 Cookie Auth 这种一般用于简单的项目中。原理是在用户第一次验证通过后将用户信息存入 Session 对象中,并且将 Sessi 阅读全文
posted @ 2021-06-18 10:46 萌新J 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 图片如果太小可以右键在新标签打开或者按住 ctrl+鼠标滑轮调整页面尺寸调整。 基础 核心 认证与授权 与Shiro联系 SpringSecurity 在 SpringBoot 出现前因为配置复杂使用较少,但是在SpringBoot 出现后搭配使用开发效率大大提高。是一款重量级框架。而 Shiro  阅读全文
posted @ 2021-06-18 10:45 萌新J 阅读(97) 评论(2) 推荐(1) 编辑
  2021年6月2日
摘要: 环境搭建 Mysql docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/ 阅读全文
posted @ 2021-06-02 23:49 萌新J 阅读(602) 评论(0) 推荐(1) 编辑
  2021年5月29日
摘要: 本篇为项目大纲,详细涉及的知识点可以查看 谷粒商城所学知识点整理总结 基本信息 谷粒商城是一个微服务项目,总体上分为前台购物模块和后台数据管理模块。基于 SpringCloud + SpringCloudAlibaba + MyBatis-Plus + Redis + SpringSession + 阅读全文
posted @ 2021-05-29 17:44 萌新J 阅读(1236) 评论(0) 推荐(2) 编辑
  2021年3月10日
摘要: 说到JVM,总是绕不开垃圾回收,因为其是JVM的核心之一,因为对象的创建是非常频繁的,想要提高程序的执行效率,拥有一个高效的垃圾回收机制是必不可少的。 首先要明确,因为对象的创建只在堆中,所以垃圾回收主要发生在堆中,但是垃圾回收并不只是回收对象,也会回收一些废弃的常量和类对象。所以垃圾回收作用的位置 阅读全文
posted @ 2021-03-10 23:03 萌新J 阅读(305) 评论(0) 推荐(2) 编辑
  2021年3月8日
摘要: 对象的创建 创建方式 1、 new 关键字直接创建。 new ObjectName()。 2、通过 Class 反射对象的 newInstance() 方法。ObjectName obj = ObjectName.class.newInstance()。 3、通过 Class 反射对象获取 Cons 阅读全文
posted @ 2021-03-08 21:43 萌新J 阅读(94) 评论(0) 推荐(0) 编辑
  2021年3月7日
摘要: 内存溢出(OOM)和内存泄漏 内存溢出:无法为对象进行空间分配(垃圾回收也没用)就会导致内存溢出。 内存泄漏:对于程序不会再用到的对象,垃圾回收器无法将其回收。 两者联系:发生了内存泄漏后,可能会导致内存溢出。但是内存溢出并一定就是由于内存泄漏,也有可能是堆空间大小过小,导致内存溢出。 StackO 阅读全文
posted @ 2021-03-07 20:02 萌新J 阅读(126) 评论(0) 推荐(0) 编辑
  2021年3月4日
摘要: 是什么 字符串常量池是 JVM 中的一个重要结构,用于存储JVM运行时产生的字符串。在JDK7之前在方法区中,存储的是字符串常量。而字符串常量池在 JDK7 开始移入堆中,随之而来的是除了存储字符串常量外,还可以存储字符串引用(因为在堆中,引用堆中的字符串常量很方便,所以可以存储引用)。这使得很多字 阅读全文
posted @ 2021-03-04 21:44 萌新J 阅读(192) 评论(0) 推荐(0) 编辑