自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微滑低的博客

你只管努力,剩下的交给天意!

  • 博客(142)
  • 资源 (2)
  • 收藏
  • 关注

原创 微滑低的简介。。。。

微滑低的简介。。。。因代码相遇,因代码相知,因代码。。。。一位软件工程的学生,刚入门的大白菜,正在努力花时间把白纸填充成五彩斑斓的页面。自己的人生需要自己来描绘,不一样的方式就会有不一样的人生,人生没有彩排,每天都是现场直播。每天朝着奋斗的目标前进。。。你只管努力,剩下的交给天意。。。...

2020-10-22 17:21:50 456

原创 Linux宝塔安装msyql服务,默认密码,允许远程登录问题解决

mysql默认密码、允许远程登录

2023-04-11 00:19:31 3660 1

原创 The username you provided is not allowed to use the text-based Tomcat Manager解决办法

今天在Jenkins实现自动部署功能,一切配置工作准备就绪之后,兴高采烈的点击进行构建,结果报The username you provided is not allowed to use the text-based Tomcat Manager异常原因tomcat8进行部署时,要给管理用户赋予manager-script角色,manager-gui角色...还要运行远程访问```**解决方案**1.找到你的tomcat/conf/tomcat-users.xml,在<tomcat-use

2021-12-07 16:18:23 703 1

原创 从根本上解决主从复制的延迟问题

1.主从复制延迟产生的主要原因主要是第3、第4和第6点,第3点我们所能做的就是避免大事务(通俗的讲执行时间久的事务)的执行,那么接下来我们就针对第4和第6点来解决延迟问题2.从根本上解决主从复制的延迟问题我上篇博客主从复制原理及延迟原因说到,里面的I/O thread和SQL thread都是单线程的,所以我们要解决这延迟问题,我们可以把SQL thread单线程变为多线程,于是MSYQL5.6版本之后就引入了并行复制的概念,就是从读取replay到操作真实数据过程中加了一个多线程和协调器coor

2021-09-11 14:30:54 767

原创 MYSQL的主从复制及延迟原因

1.为什么需要主从复制?业务量越来越大,I/O访问频率过高,单机已经无法满足,此时要做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。再看看你的业务需求,是否进行读写分离;如果采取读写分离,那么主库写入的数据要在其他从库查询的时候要能查得到。在用户看来,无论你后台有多少台数据库服务器,对于用户而言就像一台一样。所以我们就需要考虑一个很重要的问题:多库中的数据的一致性问题。这就引出了我们的主从复制2.什么是主从复制?MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点

2021-09-11 13:15:41 598

原创 MYSQL的MVCC多版本并发控制讲解

1.什么是mvcc?Mutil-Version Concurrency Control(多版本并发控制), 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。大白话就是一行数据具有多个不同的版本数据2.mvcc讲解我们来演示一下,假设一行数据有id、name和age,除此之外,还附有一些隐藏字段,比如隐藏id、事务id和回滚指针,那么这些隐藏字段是如何定义的呢?隐藏id:当innodb插入数据的时候,数据必须要包含一个索引的key值,可以是主键,如果没有主键,那么就是唯一键,

2021-09-10 17:53:47 204

原创 MYSQL的事务隔离性

1.什么是事务的隔离性?一个事务的执行过程中不能影响到其他事务的执行,即一个事务内部的操作及使用的数据对其他事务是隔离的,并发执行各个事务之间无不干扰。2.为什么要设置事务的隔离性?那我们就要知道不设置隔离性会产生什么影响?主要是以下几个问题:脏读、不可重复读、幻读(接下来会一一实讲解)3.mysql针对上面产生的问题对应的设置不同的隔离级别来解决4.演示之前我们先把事务自动提交关闭了,默认是开启(1)的,再创建一张student表,再开启两个窗口查看命令:select @@autocom

2021-09-09 11:55:43 337

原创 为什么聚簇索引只有一个?什么是回表、索引覆盖、左匹配和索引下推?

1.如何判断是否为聚簇索引?取决于数据和索引是否放在一起2.为什么聚簇索引只有一个?我们先假设有这么一张表table和数据2.1首先我们先看MYISAM:非聚簇索引(因为数据和索引是分开存放的)myisam上面放的是索引(1),下面存放的是实际数据行地址(0x0022)2.2INNODB:只能有一个聚簇索引,但是可以有很多非聚簇索引当innodb插入数据的时候,必须要包含一个索引的key值,可以是主键,如果没有主键,那么就是唯一键,如果没有唯一键,那么就是自生成的6字节rowid

2021-09-08 20:09:37 2001 1

原创 为什么MYSQL的索引系统采用B+树?

文章目录1.什么是索引?2.为什么需要索引?3.如何设计索引系统?4.MYSQL索引系统是什么呢?为什么不按照上面说的格式储存呢?5.哈希表6.树6.1 二叉树6.2 二分查找树(Binary Search Tree ,BST)6.3 平衡二叉树(Balanced Binary Tree, AVL树)6.4 红黑树6.5 B树6.6 B+树总结1.什么是索引?索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。(就好像我们小时候用的字典,有了字典查到对应的字就会变快)2.为什么需要索引?首先

2021-09-08 19:19:17 292

原创 Centos7安装Nginx并部署前端项目(Vue)

1.首先下载安装包,下载你想要的版本(我这个是1.8版本的)nginx官网下载地址2.上传到linux,解压得到以下目录3.安装(首先需要安装四个环境)3.1gcc的编译环境 yum install gcc c++3.2pcre来解析正则表达式 yum install -y pcre pcre-devel3.3安装依赖的解压包yum install -y zlib zlib-devel3.4ssl功能需要openssl yum install -y openssl openssl-dev

2021-09-07 12:30:32 412

原创 mycat报错 ERROR 1184 (HY000): Invalid DataSource:0解决方法

mycat逻辑库,逻辑表都搞好了,但是还没有给表添加表结构,于是导入sql脚本,运行脚本的时候就报了Invalid DataSource:0其实原因就是mycat配置了这几个节点主机,但是没有授予远程访问的权限没有授予权限,那就授予权限呗,到各个主机(不是mycat主机)里面,进入mysql命令模式,下面就是在mycat主机里面运行,结果就卡住了,我以为网卡,结果不是在这运行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234

2021-08-14 14:46:02 6071

原创 mariadb报错Cannot change ownership of the database directories to the ‘mysql‘解决办法

是由于 在/etc/my.cnf 中 datadir=/var/lib/mysql的文件拥有者导致的,修改所有者重启:命令:chown -R mysql:mysql /var/lib/mysql

2021-08-12 13:25:51 881

原创 Mycat-web启动失败的解决办法

启动mycat-web时报如下错误,“ignoring input and appending output to nohup.out”,在当前mycat-的目录下已经存在nohup.out文件了,但是使用netstat -anp | grep 8082,没有任何服务启动,浏览器上也不能访问到Mycat的web界面,还生成hs-err_pid.log错误日志有错误日志我们就好办了,那就查看错误日志,每个人都有每个人出错的原因,所以要针对自己的错误原因解决,不要拿着别人错误原因来解决自己的问题(当然,病

2021-08-12 00:48:23 1001

原创 Mycat启动闪退解决办法

在启动Mycat的时候,出现闪退了!解决思路:一般这种在linux启动脚本运行软件是出现闪退是常用的事,但是我们不要慌,这种问题一般对应都会有错误日志产生,所以我们第一时间找到对应的错误日志来查看启动失败的原因每个人有每个人出错的原因,所以根据自己出错原因去解决即可!我这里是我在配置分区规则的时候,复制了一模一样的规则,删掉即可!...

2021-08-12 00:31:17 1590

原创 Error starting userland proxy: listen tcp 0.0.0.0:xxx端口: bind: address already in use解决办法

1.问题描述docker 运行镜像总是报错Error starting userland proxy: listen tcp 0.0.0.0:xxx端口: bind: address already in use,重启docker也不行2.解决办法2.1查看当前占用端口命令netstat -tanlp2.2查出历史运行容器docker ps -a2.3把历史运行容器删除再运行新的容器,要不然还会报端口占用...

2021-07-21 20:05:40 2235 1

原创 根据所学内容,使用JAXP通过DOM输出XML文档。要求编写Java程序,执行该程序能够创建一个XML文档

题目要求:根据所学内容,使用JAXP通过DOM输出XML文档。要求编写Java程序,执行该程序能够创建一个XML文档,该XML代码内容如下所示:<student id=”42”> <name>Lional</name> <age>12</age></student>实现类:package com.itheima.demo;import java.io.FileWriter;import java.io.Writer;

2021-07-07 23:53:13 208

原创 Docke常用命令总结

学习地址:狂神Bilibili个人主页1.命令图2.常用命令总结(按字母排序)attach   Attach to a running container   #当前shell下attach 连接指定运行镜像build    Build an image from a Dockerfile   #通过Dockerfile 定制镜像commit   Create a new i

2021-06-21 22:52:42 136

原创 自定义自旋锁及自旋锁的使用场景

学习地址:狂神Bilibili个人主页1.什么是自学锁?是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。2.使用场景就像你去银行办理业务先去取号,在没轮到你之前你必须等待;直到银行办理人员叫你去办理业务,到你办理业务的时候这个窗口只能是你这个号码办理,其他号码不能跟你一起在这个窗口办理;办完业务后,办理任务再呼下一个号码3.自定义自旋锁import java.util.concurrent.atomic

2021-06-15 12:16:38 581

原创 Synchronized版和Lock版的可重入锁及使用场景

学习地址:狂神Bilibili个人主页1.什么是可重入锁?可重入锁指的是可递归调用的锁,也叫递归锁。在外层使用锁之后,在内层仍然可以使用,并且不发生死锁(前提得是同一个对象或者class),这样的锁就叫做可重入锁2.使用场景比如我今天遇到的一个场景:用户名和密码保存在本地txt文件中,则登录验证方法和更新密码方法都应该被加synchronized,那么当更新密码的时候需要验证密码的合法性,所以需要调用验证方法,此时是可以调用的。3.synchronized版的可重入锁import javax

2021-06-15 11:58:01 644

原创 Volatile详解

1.什么是Volatile?Volatile 是 Java 虚拟机提供轻量级的同步机制2.Volatile的特点保证可见性不保证原子性可避免指令重排3.如何保证可见性?3.1这里涉及JMM的8种操作3.2场景:两个线程同时进行,把主存中的共享变量加载到自己的工作内存中,但是B线程修改了共享变量,并放回到主内存中;此时A线程并可见,就会导致A线程阻塞3.3代码示例import java.util.concurrent.TimeUnit;public class JMMDem

2021-06-15 11:12:01 131

原创 Stream流式计算及四大函数式接口

学习地址:狂神Bilibili个人主页1. 题目要求:只能用一行代码实现!现在有5个用户!筛选:1、ID 必须是偶数2、年龄必须大于23岁3、用户名转为大写字母4、用户名字母倒着排序5、只输出一个用户!2.使用Stream流式计算User类import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;// 有参,无参构造,get、set、toString方法!@Data

2021-06-15 10:21:58 471 1

原创 线程池中如何定义最大线程数量?

Java自定义线程池来模拟银行办理业务场景来解析ThreadPoolExecutor的七大参数和四大拒绝策略上面博客中,我们的最大线程数量是自定义,但是通常情况下,我们并不会这么做。1.解决办法CPU密集型IO密集型2.什么是CPU密集型?比如让你(CPU)数一堆豆子(要执行的任务),在数的过程中,不就不能去干别的事情了;然后你把豆子分几堆来数,但是如果还是你自己数的话时间还是一样的;但是这个时间你让你的兄弟(其他CPU)来帮你一起数,那么就会很快数完豆子。这就是CPU密集型。所以你可以

2021-06-14 22:09:50 1047

原创 ReadWriteLock的使用

学习地址:狂神Bilibili个人主页1.什么是ReadWriteLock?ReadWriteLock(读写锁)维护一对关联的锁,一个用于只读操作一个用于写。在没有写线程的情况下一个读锁可能会同时被多个读线程 持有;写锁是独占的独占锁(写锁) 一次只能被一个线程占有共享锁(读锁) 多个线程可以同时占有2.没加读写锁代码示例import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lo

2021-06-14 21:17:05 158

原创 Semaphore的使用及原理

学习地址:狂神Bilibili个人主页1.什么是Semaphore?Semaphore中管理一组虚拟的许可,许可的初始数量可以通过构造函数指定。在操作时可以首先获得许可(只要还有剩余的许可),并且在使用以后释放许可。如果没有许可,那么acquire将阻塞直到有许可(或者直到被中断或者操作超时)。release方法将返回一个许可给信号量。2.理解场景抢车位3.代码示例import java.util.concurrent.Semaphore;import java.util.concu

2021-06-14 20:55:07 159

原创 CyclicBarrier的使用及与CountDownLatch的区别

1.什么是CyclicBarrier?CyclicBarrier字面意思是“可重复使用的栅栏”栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。CyclicBarrier 可以构造出一个集结点,当某一个线程执行 await() 的时候,它就会到这个集结点开始等待,等待这个栅栏被撤销。直到预定数量的线程都到了这个集结点之后,这个栅栏就会被撤销,之前等待的线程就在此刻统一出发,继续去执行剩下

2021-06-14 20:39:19 109

原创 CountDownLatch的使用及原理

学习地址:狂神Bilibili个人主页1.什么是CountDownLatch?一般被称作"计数器",作用大致就是数量达到了某个点之后计数结束,才能继续往下走。可以用作流程控制之类的作用,大流程分成多个子流程,然后大流程在子流程全部结束之前不动(子流程最好是相互独立的,除非能很好的控制两个流程的关联关系),子流程全部结束后大流程开始操作。2.使用场景一位教室管理员需要等学生走完了才能锁门,否则就会把学生关在里面3.代码示例import java.util.concurrent.CountDown

2021-06-14 20:25:47 166

原创 Callable与Runnable的区别及注意点

1.Callable与Runnable的区别有返回值可以抛出异常方法不同 call()2.使用区别Runnable使用new Thread(new Runnable()).start();Callable使用 直接放到Thread是不允许的,两者没有直接联系,但是它跟Runnable有联系(就像你想认识你女朋友的闺蜜一样),所以可以通过Runnable的FutureTask来建立联系3.代码实现import java.util.concurrent.Callable;

2021-06-14 15:16:27 464

原创 Lock版使用Condition来实现精准通知和唤醒线程

学习地址:狂神Bilibili个人主页1.概述之前说过,synchronized版不能实现精准通知和唤醒线程,所以就出现了Lock版2.Lock版使用Condition代码package com.kuang.pc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** *

2021-06-14 14:09:55 181

原创 Lock版生产者消费者问题及与synchronized版的比较

学习地址:狂神Bilibili个人主页1.解决生产者消费者问题三步骤等待唤醒业务通知唤醒2.代码package com.kuang.pc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class B { public static void m

2021-06-14 13:52:21 42

原创 synchronized实现生产者消费者通信问题及可能产生的虚假唤醒问题

文章目录1.解决生产者消费者问题三步骤2.代码(测试类、资源类)3.虚假唤醒问题5.原因分析6.问题解决学习地址:狂神Bilibili个人主页1.解决生产者消费者问题三步骤等待唤醒业务通知唤醒2.代码(测试类、资源类)/** * 线程交替执行 A B 操作同一个变量 num = 0 * A num+1 * B num-1 */public class A { public static void main(String[] args) { Da

2021-06-14 13:36:32 96

原创 Redis五种基本类型和三大特殊类型的使用场景

1.String类型value可以是字符串也可以是数字计数器统计多单位的数量对象缓存存储(一般用hash类型)2.List类型消息队列栈3.Set类型微博、B站上的共同关注(并集)共同爱好推荐好友4.Hash类型存储变更的数据,尤其是用户信息之类的,经常变动的信息!hash更适合于对象的存储,String更适合字符串储存5.Zset类型set排序储存班级成绩表工资表排序带权重进行判断排行榜应用实现,取Top N测试6.另外还有其他

2021-06-12 14:43:13 177

原创 Redis配置文件详解

目录1.安装redis后会有个配置文件2.1单位2.2 包含2.3 网络2.4 通用2.5 快照2.6 安全2.7 限制2.8 AOF配置1.安装redis后会有个配置文件2.1单位配置文件 unit单位对大小写不敏感2.2 包含可以把其他配置文件包含进来,相当于import2.3 网络2.4 通用2.5 快照2.6 安全2.7 限制2.8 AOF配置...

2021-06-12 14:22:54 70

原创 Mybatis-plus自动代码生成器自定义模板类

文章目录1.AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。2.效果图3.模板类4.这里演示的一生成张表的目录结构,如果需要生成多表,则在下面这个属性添加要生成的表,它支持多个表5.终于节省了时间,释放了双手,再也不用整天一步一步的写这么多的目录文件结构了1.AutoGenerator 是 MyBatis-P

2021-06-10 18:59:25 1507

原创 Mybatis博客根据年份得到一个list集合结果报异常UnsupportedOperationException

1.博客按年份分类得到一个list集合,相当然返回值类型为java.util.List,结果报错 <!--按年份分类--> <select id="ClassifyYear" resultType="java.util.List"> SELECT DATE_FORMAT(b.updateTime,'%Y') AS `year` FROM t_blog b GROUP BY `year` ORDER BY

2021-06-08 21:34:12 104

原创 解决Operand should contain 1 column(s)

1.写模糊查询的时候,控制台逻辑写多了,like直接%%2.字段拼接要用concat函数才有效

2021-06-05 18:17:18 584

原创 使用thymeleaf模板,th:href传递多参数出现乱码怎么解决?

1.按照基本逻辑,参数拼接使用&,但是发现会解析不出来<a th:href="@{/admin/types/(page=${typeList.pageNum+1})&(size=${typeList.pageSize})}">下一页</a>2.解决办法th:href=@{/url(id=id,name={id},name=id,name={name))}这样的方式使用,其中的/url是请求路径,()里面放参数,参数以“,”隔开即可。<a th:hre

2021-06-04 13:22:26 561

原创 springboot异步任务的实现

1.什么异步任务同步:一定要等任务执行完了,得到结果,才执行下一个任务。异步:不等任务执行完,直接执行下一个任务。2.异步任务使用场景在许多网站中,都会有发送邮件验证邮箱功能,执行该任务时,需要较长的时间,此时为了更好的用户体验,前端可以先返回完成的信息,后台去执行任务。3.异步任务的实现步骤首先模拟一个网站跳转的过程,假设某一个线程执行任务时需要5秒,结束以后才会进行下一步操作,我们令线程休眠五秒,然后通过controller进行页面跳转servicepackage com.kuang.

2021-05-28 21:28:05 512 1

原创 springboot整合SpringSecurity基于内存数据实现认证和授权

1.需要的依赖 <!--thylemeaf与springsecurity整合--> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity4</artifactId> <version>3.0.4.RELEAS

2021-05-28 13:08:48 188 2

原创 springboot实现页面自定义国际化

1.首页(可以在我的资源拿到)2.实现步骤2.1. 首页被thymeleaf全面接管2.2. 新建i18n文件夹,在该文件夹下新建三个文件2.3. 填写相关属性2.4. 要让配置文件起效,要在application.properties配置文件添加 spring.messages.basename=i18n.login2.5. 到这里只是有了属性的国际化切换,但是功能还没有开启,如点击中文(带参数超链接)显示中文,点击英文显示英文,所以我们要写个配置类来实现 LocaleResolver

2021-05-27 18:32:29 232

原创 没有数据库,如何模拟数据库操作的dao层?

1.两个实体类(包名为pojo)部门表package com.kuang.pojo;// 部门表public class Department { private Integer id; private String departmentName; public Department() { } public Department(Integer id, String departmentName) { this.id = id;

2021-05-27 11:58:22 267 1

templates.rar

用于认证和授权的静态资源

2021-05-28

SpringBoot-Web素材.rar

相关页面及css和js

2021-05-27

空空如也

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

TA关注的人

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