- 博客(18)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 使用docker搭建redis集群(一主二从)
建议从官网下载redis安装包,解压获取redis.conf。(每个版本的配置文件不同,可能会报错)自己选择什么路径,我放在/mydata/redis/master/conf下。requirepass属性默认是被注释的,自己解开就行。上面步骤创建的节点作为主节点,此时再创建两个从节点即可。
2022-09-09 14:21:53
856
原创 mysql慢查询设置
方式一:通过命令开启慢查询(MySQL重启后失效)1.查看当前慢查询状态(默认为关闭)2.开启慢查询3.设置慢查询SQL执行记录时间(默认为10)方式二:通过MySQL配置文件开启慢查询(永久生效)1.到mysql安装目录下打开配置文件添加(linux为my.cnf)2.重启数据库查看结果注意点:参考文章:mysql慢配置(5.7)从天而降一口锅,MySQL慢查询的这几个坑你踩过没,真是防不胜防...
2022-06-25 22:35:53
3726
原创 @Autowired 和 @Resource 的区别是什么?
属于 Spring 内置的注解,默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入 Bean (接口的实现类)。这会有什么问题呢? 当一个接口存在多个实现类的话,byType这种方式就无法正确注入对象了,因为这个时候 Spring 会同时找到多个满足条件的选择,默认情况下它自己不知道选择哪一个。这种情况下,注入方式会变为 byName(根据名称进行匹配),这个名称通常就是类名(首字母小写)。就比如说下面代码中的 smsService 就是我这里所说的名称,这样应该比较好
2022-06-12 15:42:14
197
原创 @Component 和 @Bean 的区别是什么?
@Bean注解使用示例:上面的代码相当于下面的 xml 配置下面这个例子是通过 无法实现的。
2022-06-12 15:27:03
358
原创 MySQL知识点&面试题总结-阅读笔记
顾名思义,关系型数据库就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。大部分关系型数据库都使用 SQL 来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。从上图可以看出, MySQL 主要由下面几部分构成:MySQL 核心在于存储引擎,想要深入学习 MySQL,必定要深入研究 MySQL 存储引擎。MySQL 支持多种存储引擎,你可以通过 命令来查看 MySQL 支持的所有存储引擎。从上图我们可以查看出,
2022-06-08 11:14:14
141
原创 lombok+slf4j+logback SLF4J和Logback日志框架详解
java开发日志处理一般是由 一个日志门面 和 一个日志实现配套使用。日志门面如Slf4j 、jboss-loggin等日志实现如log4j、log4j2、logback等。SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。如果在类路径下除了SLF4
2022-06-05 14:48:48
976
原创 3种常用的缓存读写策略
这3 种缓存读写策略各有优劣,不存在最佳,需要我们根据具体的业务场景选择更适合的。Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。Cache Aside Pattern 中服务端需要同时维系 DB 和 cache,并且是以 DB 的结果为准。下面我们来看一下这个策略模式下的缓存读写步骤。写 :读 :从 cache 中读取数据,读取到就直接返回cache中读取不到的话,就从 DB 中读取数据返回再把数据放到 cache 中。面试官很可能会追问:“在写
2022-06-03 10:47:08
84
原创 Redis知识点&面试题总结-阅读笔记
简单来说 Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的 ,也就是它是内存数据库,所以读写速度非常快,因此 Redis 被广泛应用于缓存方向。另外,Redis 除了做缓存之外,也经常用来做分布式锁,甚至是消息队列。Redis 提供了多种数据类型来支持不同的业务场景。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。简单来说使用缓存主要是为了提升用户体验以及应对更多的用户。高性能 :假如用户第一次访问数据库中的某些数据的话,这个过程是比较
2022-06-03 10:04:56
177
原创 并发编程基础篇-阅读笔记
进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。一个进程中可以有多个线程,多个线程共享进程的堆和方法区 (JDK1.8 之后
2022-06-01 17:05:49
85
原创 Java基础知识(下)阅读笔记
异常Exception 和 Error 有什么区别?在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable 类有两个重要的子类:Exception :程序本身可以处理的异常,可以通过 catch 来进行捕获。Exception 又可以分为 CheckedException (受检查异常,必须处理) 和 UncheckedException (不受检查异常,可以不处理)。Error :Error 属于程序无法处理的错误 ,不建议通过ca
2022-05-30 18:02:32
187
1
原创 vagrant up运行报错incompatible character encodings: GBK and UTF-8
这个报错是路径上有中文,查阅网上资料后尝试,只需改两处即可成功运行。一、vagrantfile文件路径修改这个文件路径只需要将cmd在没有中文的路径打开并运行Vagrant init centos/7即可,此时vagrantfile将存在该路径下。二、虚拟机位置这个只需要打开virtualbox->全局设定->修改默认电脑虚拟位置(不含中文)即可。...
2022-02-28 16:07:54
1103
1
原创 Unexpected token o in JSON at position 1
这个出现的问题主要是JSON.parse()用于从一个json字符串中解析出json对象,如果parse()的参数不是json字符串,报错。花了将近一天,原来是将对象传入cookie的时候就已经可能错误了。修改前:修改后:对比猜测大概是java后端传到前端的json是对象,然后在前端传入cookie的时候应该让json对象转化成json字符串,拿出来的时候在转回去。如果直接放直接拿我试了下会报错,不知道其他的测试会不会。那后端传到前端的是json对象还是json字符串呢?发布了这个问题后有大
2021-10-17 12:44:47
154
原创 Invalid bound statement (not found)
项目中创建mapper接口,编写xml文件sql语句,执行出现错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguigu.eduservice.mapper.EduCourseMapper.getPublishCourseInfo开发中出现Invalid bound statement (not found)无外乎两种错误:1.mapper中的方法名和xml中id名不一致
2021-10-17 11:22:59
238
原创 第一次写的博客
第一次写的博客使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑
2021-06-17 17:57:30
155
后端传到前端的json的字符串还是对象?
2021-10-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人