自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风暴计划

一枚奋斗的小菜鸟

  • 博客(494)
  • 资源 (10)
  • 收藏
  • 关注

原创 Java优质微信技术文章

1、SpringMVC的工作原理站点:https://mp.weixin.qq.com/s/AiW0-sfBphOqcveHsNZCZA2、一个故事讲完CPU的工作原理站点:https://mp.weixin.qq.com/s/RdhlDKgE_c90CkK1ZiGLwQ3、深入分析Java内存泄漏站点:https://mp.weixin.qq.com/s/-OWsY2CAVD...

2020-03-25 10:25:42 533 2

原创 规范的建表语句

CREATETABLEstudent_info(`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',`stu_name` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '姓名',`stu_class` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '班级',`stu_num` INT NOT NULL DEFAULT '0' COMMENT '学号',`stu_score` SMALL...

2022-05-08 16:29:22 417

原创 聊聊Api接口优化的几个方法

转载:聊聊Api接口优化的几个方法 - 知乎作为记录,用于学习。

2022-04-19 10:17:59 572

原创 Nginx课件学习

Nginx课件

2022-01-16 11:17:03 1612

原创 SVN使用教程-快速上手

参考B站视频:https://www.bilibili.com/video/BV1k4411m7mP?p=1SVN官网:https://svnbucket.com/SVN使用教程:https://svnbucket.com/posts/idea-use-svn-tutorial/SVN下载:https://svnbucket.com/posts/svn-client-download/...

2021-10-17 13:59:09 298

原创 MyBatis常见面试题

目录1、MyBatis的工作原理是什么2、MyBatis的缓存是什么,它的原理呢3、#{ } 和 ${ } 的区别是什么4、什么是MyBatis的接口绑定?有哪些实现方式?5、MyBatis是如何将SQL的执行结果封装为目标对象并返回的?都有哪些映射形式?6、MyBatis中一对一查询、一对多查询是怎么实现的6.1 一对一关联查询举例如下:6.2 一对多关联查询举例如下:7、MyBatis的分页原理是什么8、MyBatis的动态SQL是什么,主要标签有哪些99、参

2021-04-26 22:42:07 7376 10

原创 【MySQL主从复制】2-Mac环境下实现MySQL主从复制

目录1、下载解压包2、解压文件2.1 压缩包解压之后如下2.2 选择第一个文件再次解压3、配置主从服务器的配置文件3.1 配置master主服务器的配置文件:my.cnf3.2 配置从服务器slave1的配置文件:my.cnf3.3配置从服务器slave2的配置文件:my.cnf3.4初始化master和slave服务器与三个窗口截图3.5启动master和slave服务器与三个窗口截图3.6 在master主服务器上创建授权用户+查看master状态3...

2021-04-23 13:44:32 748 2

原创 【MySQL主从复制】1-由浅入深全面理解MySQL的主从复制与读写分离

目录1、简介2、为什么要做主从复制3、MySQL主从复制的原理是什么3.1 MySQL主从复制的大致理解3.2 MySQL主从复制的图解与执行流程4、MySQL主从复制的基本原则5、MySQL主从复制的最大问题:主从延时6、MySQL主从复制的实战6.1 一主三从架构图6.2 环境说明(本文搭建一主两从架构)6.3 主从复制的复制方式6.4 实现MySQL主从复制需要进行的配置6.4.1 修改master配置6.4.2 在master上建立账户并授权s

2021-04-22 22:12:40 297 1

原创 【MySQL锁机制】4-MySQL中锁机制的全面与深入学习

目录1、MySQL中锁的前置知识1.1 MySQL中锁的分类1.2 MySQL支持三种层级的锁定1.2.1 表级锁1.2.2 页级锁1.2.3 行级锁定1.3 如何学习MySQL中的锁知识1.3.1 了解MySQL中大致有哪些锁,建立脑图分类1.3.2 站在存储引擎的角度,具体学习存储引擎支持的锁1.3.3 重点研究InnoDB下行锁的具体实现算法1.3.4 了解InnoDB下锁与事务、锁与索引的联系1.4 事务持有锁的SQL2、MyISAM存储引擎支持的

2021-04-22 17:55:48 369

原创 什么是接口的幂等性以及如何实现接口幂等性

目录1、接口调用存在的问题2、什么是接口的幂等性3、不做接口的幂等性会产生什么影响4、什么情况下需要保证接口的幂等性4.1 select:查询操作4.2 insert:新增操作4.3 delete:删除操作4.3.1 绝对删除 具有幂等性4.3.2 相对删除 不具有幂等性4.4 update:更新操作4.4.1 绝对更新 具有幂等性4.4.2 相对更新 不具有幂等性5、使用幂等的业务场景5.1 前端重复提交5.2 接口超时重试5.3 MQ消息重

2021-04-22 11:32:05 6466 2

原创 由浅入深全面理解MVCC-2

目录1、什么是MVCC2、什么是InnoDB存储引擎下的当前读和快照读3、当前读、快照读与MVCC的关系4、MVCC能够解决什么问题4.1 数据库中的三种并发场景4.2 MVCC能够解决的问题:读-写冲突4.2.1悲观并发控制、乐观并发控制 与MVCC的关系4.2.2 MVCC能够解决什么问题5、MVCC的实现原理5.1 三个隐式字段5.2 undo log 回滚日志5.2.1 undo log 生成举例5.3 ReadView 读视图5.4 MVC.

2021-04-21 17:50:26 231

原创 由浅入深全面理解MVCC-1

目录1、MVCC的理解1.1 MVCC的概念1.2 MVCC的注意事项2、MySQL中的隐藏字段3、读视图:ReadView3.1 ReadView的概念3.2ReadView中的变量 trx_ids3.3ReadView中的变量 trx_ids 理解举例4、回滚日志:Undo log4.1 插入操作:insert4.2 删除操作:delete4.3 修改操作:update4.4 查询操作:select5、MVCC 的实现原理细节6、当前读与快..

2021-04-19 17:42:33 263

原创 【MySQL锁机制】3-MySQL中锁机制的深入学习

0、MySQL中加锁的目的与分类0.1 MySQL中加锁的目的数据库是一个【面向多用户共同使用】的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制,就有可能会读取和存储不正确的数据,破坏数据库的一致性。数据库中的锁 是用于管理对公共资源的并发控制。也就是说,在并发情况下,会出现共享资源的竞争问题,所以需要加锁来进行控制。加锁解决了【多用户环境下保证数据库的完整性和一致性】的问题。使用锁的对象是事务,事务使用锁 来锁定数据库中的对...

2021-04-19 15:59:35 214

原创 【MySQL锁机制】2-MySQL中锁的分类

目录1、MySQL中锁的简述2、MySQL中常见的几种锁机制2.1 读写锁【是一种行锁row lock】:可分为共享锁和排它锁2.1.1 共享锁(S锁)与排它锁(X锁)的概念2.1.2 另一种方式的读写锁、共享锁与排它锁的SQL演示2.2 意向锁【表级锁table lock】:分为意向共享锁和意向排它锁2.3 记录锁【record lock】2.4 间隙锁【gap lock】2.5 临键锁【next-key lock】2.5.1 临键锁的概念2.5.2 临键锁的S

2021-04-19 11:18:01 284

原创 MySQL乐观锁在并发扣减商品库存方面的应用

目录MySQL乐观锁在并发扣减商品库存方面的应用1、经典案例说明:银行转账2、乐观锁介绍:详解内容见这里2.1使用版本号实现乐观锁:数据版本机制,或者时间戳机制2.2使用条件限制实现乐观锁3、解决方案1:使用版本号version实现乐观锁3.1 下单时,商品信息表Goods的变化过程3.2 使用version版本号方案实现乐观锁3.2.1 Goods实体类:3.2.2 GoodsDao层:3.2.3 XML层:mapper.xml:3.2.4 GoodsD..

2021-04-19 09:10:59 2392 1

原创 由浅入深全面分析乐观锁、悲观锁、MVCC

1、什么是并发控制当程序中可能出现并发情况时,就需要保证在并发情况下数据的准确性,以此来确保当前用户和其他用户同时操作数据时,所得到的结果和他自己单独操作时的结果是一样的。这种手段就叫做并发控制(Concurrency Control)。并发控制的目的是:保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就有可能会导致脏读、幻读和不可重复度等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在 DBMS 中的并发控制的任务:是确保在多个事务同时...

2021-04-18 11:31:32 1368 1

原创 由浅入深全面分析MySQL索引底层原理

由浅入深全面分析MySQL索引底层原理1、索引基础索引是MySQL优化中最重要的手段之一,本文从基础到原理,让你重新认识并掌握索引。1.1 什么是索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引,对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化,应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。通俗来讲,索引是一种数据结构,类似于一本书的目录,用来提高查询数据的效率。...

2021-04-17 11:51:39 322

原创 MySQL为什么要使用B+树来实现数据库索引

本文讲解:MySQL为什么要用B+树来实现数据库索引?索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL数据库的索引主要以B+树为主,但是,要问到为什么要使用B+树来实现数据库索引,恐怕很少有人能够把前因后果完整的讲述出来。本文就从头到尾介绍一下MySQL数据库的索引。索引,是一种数据结构,它的目的是帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意 这里的大量,数据量大了索引才显得有意义,如果我想要在[1,2,3,4] 中找到4这个数据,直...

2021-04-17 10:54:59 294

原创 二叉排序树、平衡二叉树、红黑树、B树、B+树

对于一个大型的查找集合,要进行动态查找,应该如何存储这个查找集合呢?假设使用顺序表来存储,如果记录的存储没有任何顺序,那么插入操作很简单,只需要将其放在顺序表的末端。但是,在一个无序的顺序表中进行顺序查找的平均查找时间是 O(N)。对于一个大型的查找集合,这太慢了。提高查找效率的方法是把记录按照某个关键码进行排序。如果使用单链表来实现,排序并不会提高查找效率;如果使用顺序表来实现,那么使用折半查找法只需要时间 O(logN),但是插入时间则需要时间 O(N),因为在有序表中新纪录的存储位置后,需要...

2021-04-15 11:28:26 1172

原创 【MySQL事务】2-MySQL中事务的全面与深入理解

目录1、什么是事务?事务举例?2、事务的四大特性是什么?3、创建事务的SQL语法是什么?SQL语句实操?3.1 隐式事务3.2 显式事务13.3 显式事务24、多个事务在不同事务隔离级别下的并发问题?4.1 脏读4.2 不可重复读4.3 幻读5、不同隔离级别所解决的事务并发问题?5.1 RU隔离级别5.2RC隔离级别下:只能解决脏读问题5.3RR隔离级别下:只能解决脏读/不可重复读问题5.4S隔离级别下:可以解决脏读/不可重复读/幻读问题...

2021-04-13 12:31:53 478

原创 Redis——Java中使用Jedis操作Redis

目录1、Java中使用Jedis操作Redis-项目中常采用1.1 项目结构1.2 RedisUtils.java 类1.3 JRedisTest.java 类1.4 操作结果(1)控制台输出:(2)Redis服务器输出2、Java中使用Jedis操作Redis-项目实战2.0 项目中加入 jar包2.1字符串(string) 做测试2.2哈希(hash) 做测试2.2.1 使用Jedis连接实例池:RedisUtil.java2.2.2 使用Jedi..

2021-01-21 15:45:46 595 3

原创 Redis——Redis主从复制的配置文件和哨兵模式

1、Redis主从复制的配置文件:include /usr/local/redis-4/redis.confdaemonize yesport 6380pidfile /var/run/redis_6380.pidlogfile 6380.logdbfilename dump6380.rdbinclude /usr/local/redis-4/redis.confdaemonize yesport 6380pidfile /var/run/redis_6380.pidlo...

2021-01-21 09:13:38 461 1

原创 Redis——Redis专题文章与视频

Redis专题文章:(1)Redis在线学习文档(动力节点):http://www.bjpowernode.com/tutorial_redis/(2)(3)

2021-01-20 17:51:00 163

原创 第1章Spring Boot 框架入门+第2章Spring Boot 入门案例

SpringBoot系列博客来自于B站动力节点视频:https://www.bilibili.com/video/BV1PZ4y1j7QK?p=10、SpringBoot专题的总目录1、从零开始创建一个SpringBoot web项目1.1. 创建一个空的项目:Empty Project1.2 在Empty Project空项目中添加一个SpringBoot web模块1.3 最终的SpringBoot web项目结构1....

2021-01-09 17:19:38 977 4

原创 Spring-2-Spring中的IoC控制反转

1、基于 XML 的 DI1.1注入分类:setter方法注入+构造方法注入(1)bean 实例,Spring容器先通过调用无参构造器创建对象后,然后才对 bean 对象的属性进行初始化。(2)初始化,是由Spring容器自动完成的,称为注入。(3)根据注入方式的不同,常用的有两类:setter方法 注入、构造方法注入。1.2注入分类:setter方法注入(掌握)set方法注入也叫设值注入,是指通过 setter 方法传入被调用者的实例。这种注入方式简单、直观,因而在 ...

2021-01-06 09:36:51 263 1

原创 Spring-1-认识Spring框架与ApplicationContext对象

【参考B站动力节点教学视频-王鹤老师】https://www.bilibili.com/video/BV1nz4y1d7uy?p=11、Spring 概述1.1Spring 框架是什么Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。Spring 的主要作用就是为代码“解耦”,降低代码间...

2021-01-05 09:31:46 349

原创 Spring-4-Spring中的事务和2种事务管理方式的代码演示(Spring自带的事务管理器和AspectJ事务管理器)

1、关于事务, 先回答一些问题Spring处理事务的流程:2、Spring 的事务管理事务,原本是数据库中的概念,在 Dao 层。但一般情况下,需要将事务提升到业务层,即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。在 Spring 中通常可以通过以下两种方式来实现对事务的管理:(1)使用 Spring 的事务注解管理事务。(2)使用 AspectJ 的 AOP 配置管理事务。2.1 Spring 事务管理 APISpring 的事务...

2021-01-03 19:52:23 377

原创 Spring-3-Spring中的AOP面向切面编程(动态代理-AOP概念简述-AOP代码演示)

【参考B站视频】:https://www.bilibili.com/video/BV1nz4y1d7uy?p=10、动态代理简述1、JDK动态代理1.1JDK动态代理的代码演示1.1.1 创建一个被代理的对象:接口SomeServicepackage com.wind.service;import org.springframework.stereotype.Service;@Servicepublic interface SomeService { ...

2021-01-03 17:11:35 428

原创 SpringMVC-5-SpringMVC的执行流程-未完待续

1.1 使用SpringMVC框架对web请求的处理流程1.2 SpringMVC的MVC组件构成1.3 SpringMVC执行的流程图(理解)1.4执行流程简单分析(1)浏览器提交请求到中央调度器。(2)中央调度器直接将请求转给处理器映射器。(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理 器执行链后返回给中央调度器。(4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理 器适配器。(5)处理器适配器调用执行处理器。...

2021-01-02 19:36:42 165

原创 SpringMVC-4-请求转发和请求重定向和拦截器和过滤器

SpringMVC的核心技术1、请求转发和请求重定向当处理器对请求处理完毕后,向其它资源进行跳转时,有两种跳转方式: 请求转发与重定向。而根据所要跳转的资源类型,又可分为两类:跳转到页面与跳转到其它处理器。 注意:对于请求转发的页面,可以是 WEB-INF 中页面。而重定向的页面, 是不能为 WEB-INF 中页的。因为重定向相当于用户再次发出一次请求,而用户是不能直接访问 WEB-INF 中资源的。SpringMVC框架把原来 Servlet 中的请求转发和重定向操作进行了封装。...

2021-01-02 17:07:22 2371

原创 SpringMVC-3-SSM整合-页面add操作+页面query操作

1、目标: 创建一个基于Maven的SSM框架Web项目(Spring/SpringMVC/MyBatis)2、SSM框架整合的大致步骤: 文字描述3、创建一个空的web项目3.1 按照如下步骤初始化一个原始的web项目3.2 上述步骤完成之后的初始化web项目结构图如下3.3 对该初始化好的项目做一些目录调整(1)在main目录下创建一个存放java源代码的java目录,并把该目录标记为 Sources Root(2)在main目录...

2021-01-02 00:08:02 490

原创 SpringMVC-2-SpringMVC注解式开发

2.1 @RequestMapping 定义请求规则:GET/POST2.1.1 指定模块名称通过 @RequestMapping 注解可以定义处理器对于请求的映射规则。该注解可以注解在方法上,也可以注解在类上,但意义是不同的。value 属性值常 以 “ / ”开始。@RequestMapping 的 value 属性用于定义所匹配请求的 URI。但对于注解在方法上与类上,其 value 属性所指定的 URI,意义是不同的。一个@Controller 所注解的类中,可以定义多个...

2021-01-01 18:10:44 265

原创 SpringMVC-1-概述

目录1、第一章:SpringMVC概述1.1 SpringMVC简介1.2 SpringMVC优点1.3 创建一个SpringMVC Web项目-详细步骤如下截图1.3.1 创建一个空工程1.3.2 为这个空工程添加一个SpringMVC Web模块1.3.3 添加完SpringMVC Web模块之后的初始的Web项目示意图1.4 在刚才创建好的SpringMVC Web中实现功能:前后端打通1.4.0需求与实现步骤1.4.1 在main目录下创建一个java源代码.

2021-01-01 12:52:31 287 1

原创 【Java线程池】Java线程池汇总,看这一篇文章就够了-2

1 线程简介1.1 什么是线程在介绍线程之前,先来了解一下程序和进程的概念。程序,是算法和数据结构及其组织形式的一种描述。在操作系统中,后缀为.exe的文件都是一个程序。程序是”死“的,是一个静态代码文件。当你双击执行这个文件的时候,就会得到一个相对应的进程,所以,进程是”活“的,是正在被执行的活动实体。进程(Process),是计算机中的程序关于某些数据集合上的一次运行活动,它是操作系统进行资源分配和调度的基本单位。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体。但是,在...

2020-12-28 21:15:08 144

原创 2020-12-28

为了(1)总线加锁的方式。(2)缓存一致性协议的方式(CPU中数据的最小存储单元是缓存行。MESI:是指缓存行中的数据的四种不同状态。M-修改,E-互斥,S-共享,I-无效)。总线嗅探机制:CPU1在从主内存中读取完X之后,会把该数据存在CPU1的缓存行中,CPU Cache概述随着CPU的频率不断提升,而内存的...

2020-12-28 09:42:00 120

原创 MyBatis使用-5-SSM-IDEA中Spring-SpringMVC-MyBatis整合

0、官网(1)MyBatis官网:https://mybatis.org/mybatis-3/zh/index.html(2)MyBatis顶级目录官网:https://github.com/mybatis?page=1(3)MyBatis-Spring的整合-官网GitHub-jar包下载:https://github.com/mybatis、https://github.com/mybatis/spring/releases(4)MyBatis-Spring的整合-官网资料学习:h...

2020-12-27 14:28:53 313 1

原创 MyBatis使用-4-IDEA中使用Maven创建一个web项目

目录1、打开 idea,选择new一个新工程,选择 idea 提供好的 maven 管理的 web 工程模板:(2)填写maven项目信息,点击 Next :(3)此处分别是我们安装好的maven信息,此处不做改动,点击 Next:(4)点击 Next 后选择项目所在目录,确认项目名称和项目存储路径:(5)点击 Finish 后开始创建工程,耐心等待,直到出现如下界面:(6)手动添加 src/main/java 目录,如下图右键 main 文件夹 —> New —> Di

2020-12-27 10:59:53 235

原创 MyBatis使用-3-动态SQL-MyBatis缓存的一二级缓存机制

目录1、MyBatis的动态SQL1.1 动态SQL:if,有条件判断的时候使用(推荐)1.2 动态SQL:choose( when, otherwise ),分支选择(推荐)1.3 动态SQL:trim( where, set),SQL语句需要加/减前后缀的时候1.4 动态SQL:foreach(推荐)1.4.1 动态SQL:批量查询:foreach1.4.2动态SQL:批量保存:foreach1.5 动态SQL:bind1.6 OGNL表达式1.7 动态SQL..

2020-12-26 22:21:30 220

原创 MyBatis使用-2-MyBatis标签的使用

1.1 properties-引入外部配置文件1.1.1数据库配置文件:jdbc.propertiesjdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMTjdbc.username=rootjdbc.passwor...

2020-12-26 15:28:10 544

原创 MyBatis使用-1-搭建Maven项目的运行环境与测试用例跑通

目录1、新建Maven项目工程的详细步骤【myBatis-study】2、在pom.xml配置文件中添加MyBatis组件依赖:pom.xml3、在数据库中创建表并插入测试数据:RUNOOB.TBL_Employee4、编写与表对应的实体类:EmployeeEntity.java5、编写与表对应的接口:EmployeeDao.java6、编写与表对应的mapper配置文件(对表操作的各种SQL):mapper.xml7、编写MyBatis的全局配置文件(在全局配置文件中注册map

2020-12-26 12:42:04 486 1

zkanddubbo.zip

这个是dubbo服务注册到zookeeper注册中心的可视化监控工具,只需要修该application.xml中的IP地址,然后用maven打个jar包即可使用。

2022-01-16

Nginx课件完整版.pdf

这个是Nginx学习资料完整版,自己整理出来的。

2022-01-16

动力节点视频和技术文档.zip

动力节点官方免费文档,springboot,Redis,rabbitmq,springcloud,mysql,动态代理,SpringSession

2021-01-10

ssm-web-tx-SSM文档.zip

使用Spring+SpringMVC+MyBatis搭建的完整的SSM的web项目,也包括事务管理机制的实现,SSM的三大框架的文档。

2021-01-03

动力节点SSM文档.zip

Spring-SpringMVC-MyBatis-servlet文档,官方已经可以免费发送。

2021-01-02

ssm-web完整项目.zip

SSM三大框架整合的web项目,基于Maven管理的javaweb项目。

2021-01-02

ssm-web-20210102.zip

SSM项目整合:使用Spring、SpringMVC、MyBatis三大框架整合而成的javaWeb项目。功能包括从页面注册学生信息到DB中,从DB中捞取数据在页面上做列表展示等功能,等待你的二次开发。

2021-01-02

java编程题

这里提供了50个java编程题,非常适合java新手练习使用,不仅巩固了已经学习的知识点,还可以锻炼自己的编程能力。

2018-04-15

PHP和MySQL手册

PHP和MySQL手册7

2017-01-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除