摘要: 一、缓存机制的原理 一个系统在面向用户使用的时候,当用户的数量不断增多,那么请求次数也会不断增多,当请求次数增多的时候,就会造成请求压力,而我们当前的所有数据查询都是从数据库MySQL中直接查询的,那么就可能会产生如下问题 ==频繁访问数据库,数据库访问压力大,系统性能下降,用户体验差== 解决问题 阅读全文
posted @ 2022-08-02 19:59 OnlyOnYourself-Lzw 阅读(509) 评论(0) 推荐(1) 编辑
摘要: 使用ES的原因 响应时间 mysql 当数据库中数据仅为上万条时,关键词查询就比较慢了 es 基于倒排索引的,因此检索速度得到了量级的提升 分词 mysql 组合词检索在数据库是很难完成的 es 因为支持中文分词插件,所以很好地解决了问题 相关性 mysql 数据库并不支持相关性搜索. es 支持全 阅读全文
posted @ 2022-08-02 14:04 OnlyOnYourself-Lzw 阅读(125) 评论(0) 推荐(1) 编辑
摘要: MyBatis 在MyBatis中,${}和#{}的区别是什么? #{}是占位符,预编译处理 ; ${}是字符串替换 MyBatis在处理#{}的时候,会将sql语句中的#{}替换成?号,调用PreparedStatement的set方法来复制 MyBatis在处理${}的时候,会将sql语句中的$ 阅读全文
posted @ 2022-08-02 14:03 OnlyOnYourself-Lzw 阅读(34) 评论(0) 推荐(0) 编辑
摘要: SpringMVC的执行流程 ①、用户发送请求到前端控制器(DispatcherServlet) ②、前端控制器(DispatcherServlet)收到请求调用处理映射器(HandlerMapping),去查找处理器(Handler) ③、处理映射器(HandlerMapping)找到具体的处理器 阅读全文
posted @ 2022-08-02 14:02 OnlyOnYourself-Lzw 阅读(28) 评论(0) 推荐(0) 编辑
摘要: MySQL引擎 1、InnoDB存储引擎 InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁和外键,InnoDB是默认的MySQL引擎 2、MylSAM存储引擎 MyISAM 基于 ISAM 存储引擎,并对其进行扩展 它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎 阅读全文
posted @ 2022-08-02 14:01 OnlyOnYourself-Lzw 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Nacos和Eureka的区别 相同点 都支持服务的注册和服务的拉取 都支持心跳方式的服务监测 不同点 Nacos有临时实例和非临时实例,eureka没有临时实例概念 临时实例是支持心跳监测的,非临时实例是Nacos主动监测 临时实例超过30秒没有心跳,会从服务删除;非临时实例不会删除 Nacos不 阅读全文
posted @ 2022-08-02 14:01 OnlyOnYourself-Lzw 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 1、创建线程的几种方式 1.1、继承Thread类 继承Thread类,并重写run方法创建线程,实现简单但不可以继承其他类 1.2、实现Runable接口 实现Runable接口,并重写run方法;避免了单继承局限性,编程更加灵活,实现解耦 1.3、实现Callable接口 实现Callable接 阅读全文
posted @ 2022-08-02 14:00 OnlyOnYourself-Lzw 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 1、线程池种类 1.1、newCachedThreadPool 创建一个可进行缓存重复利用的线程池 1.2、newFixedThreadPool 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行该线程 线程池中的线程处于一定的数量,可以很好的控制线程的并发量 1.3、newSingleT 阅读全文
posted @ 2022-08-02 14:00 OnlyOnYourself-Lzw 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1、ArrayList和LinkedList的区别 1.1、作用 ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。它们可以对元素的增删改查进行操作 对于ArrayList,它在集合的末尾删除或添加元素所用的时间是一致的,但是在列表中间的部分添加或删除 阅读全文
posted @ 2022-08-02 13:59 OnlyOnYourself-Lzw 阅读(33) 评论(0) 推荐(0) 编辑
摘要: jvm调优浅析 参考一篇讲的很好的知乎文章 https://baijiahao.baidu.com/s?id=1708710107377134976&wfr=spider&for=pc 阅读全文
posted @ 2022-08-02 13:57 OnlyOnYourself-Lzw 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 1、HashMap和HashTable的区别 区别 ①、HashMap是非线程安全的,HashTable是线程安全的 ②、HshMap的键和值都允许 null 值存在,而HashTable则不行 ③、因为线程安全问题,HashMap效率比HashTable要高 ④、HashTable是同步的,而Ha 阅读全文
posted @ 2022-08-02 13:56 OnlyOnYourself-Lzw 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1、内存溢出的原因 引起内存溢出的原因有很多种,常见的有以下几种 ①、内存中加载的数据量过于庞大,如一次从数据库取出过多数据 ②、集合类中有对对象的引用,使用完后未清空,使得JVM不能回收 ③、代码中存在死循环或循环产生过多重复的对象实体 ④、使用的第三方软件中的BUG 2、内存溢出的解决方案 第一 阅读全文
posted @ 2022-08-02 13:56 OnlyOnYourself-Lzw 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 1、Redis 1.1、Redis的数据类型 ①、字符串 string ②、哈希 hash ③、列表 list ④、集合 set ⑤、有序集合 sorted set / zset 1.2、Redis的持久化方式 Redis提供了两种持久化的方式 分别是RDB(Redis DataBase)和AOF( 阅读全文
posted @ 2022-08-02 13:55 OnlyOnYourself-Lzw 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 讲悲观锁和乐观锁之前,顺便复习一下同步锁和死锁 1、同步锁 同步锁是为了保证每个线程都能正常执行原子不可更改操作,同步监听"对象/同步锁/同步监听器/互斥锁"的一个标记锁 每个Java对象有且只有一个同步锁,在任何时刻,最多只允许一个线程拥有这把锁,当消费者线程试图执行以带有synchronized 阅读全文
posted @ 2022-08-02 13:54 OnlyOnYourself-Lzw 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1、事务的概念 事务就是一组独立不可分割的工作单元,事务中的操作要不全部执行,要不就全都不执行 最直观的一个事务实例,如下所示 当前有两张表,分别是账户表(account_table)和商品库存表(inventory_table) 如果现在要完成张三的下单业务,要扣减购买商品的100件库存,同时还要 阅读全文
posted @ 2022-08-02 13:53 OnlyOnYourself-Lzw 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 1、数据库事务 1.1、事务的四大特性 原子性 即不可分割性,事务要么全部被执行,要么就全部不被执行 一致性 事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离性 在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务 持久性 事务正确提交后,其结果将永久保存在数据库中,即使 阅读全文
posted @ 2022-08-02 13:53 OnlyOnYourself-Lzw 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1、Spring的IOC、DI、AOP分别是什么 1.1、IOC IOC的意思是控制反转,是指创建对象的控制权转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之前的依赖关系,对象与对象之前松散耦合,也利于功能的服用 阅读全文
posted @ 2022-08-02 13:52 OnlyOnYourself-Lzw 阅读(78) 评论(0) 推荐(0) 编辑