自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 【操作系统】操作系统IO技术底层机制和ZeroCopy

链接:

2023-06-14 10:49:38 111

原创 使用SQL替换指定字符串

sql替换指定字符串

2022-06-22 15:56:17 9582 1

原创 Nacos容器挂载启动

拉取nacos镜像,并启动作为临时容器,便于获取相应配置文件;docker search nacos;docker pull nacos/nacos-server启动nacos镜像构建临时容器docker run -p 8848:8848 --name Mynacos -d nacos/nacos-server:latest宿主机创建用于挂载的文件,然后删除临时容器(保留镜像);#创建文件夹mkdir -p /mydata/nacos/confmkdir -p /my..

2022-03-07 18:06:16 436

原创 MyBatis Plus对关联查询一对多 分页不准确问题解决

今天在和前端联调的时候,突然被告知接口分页有问题,不准确,随后debug发现的确如此:xml代码:<resultMap id="getRoleInfoMap" type="com.lylb.casecenter.entity.vo.RoleVO"> <id column="roleId" property="id"/> <result column="roleName" property="name"/> <co

2022-03-02 16:42:56 2697 3

原创 redis分布式锁的演进方案

学习记录Redis 分布式锁|从青铜到钻石的五种演进方案分布式锁中的王者方案 - Redisson

2022-02-17 15:17:25 566

原创 LogStash手动全量导入MySQL数据到ES只有一条问题解决

Elasticsearch Head显示只有一个

2022-01-18 14:47:57 2800

原创 MySQL主从复制搭(主:linux,从:windows)

前言今天实操了下搭建mysql的主从复制,特此记录下,便于以后回顾。步骤详细步骤可以参见 MySQL主从复制(linux主+windows从)踩坑总结一般对于正式环境来讲,需要保证主从mysql的版本一致。但是不一致,也是可以的。这里我linux服务器上面使用的是mysql-5.7.36 ,windows上面使用的是 mysql-8.0.26;mysql配置文件里面的[mysqld]表示其包含的设置是针对MySQL服务器起作用的,不能删除,由于我windows上把一般配置和主从复制的配置分开了

2021-12-28 18:00:05 745 1

原创 Linux安装mysql

前言最近在搞mysql的主从复制,顺便记录下安装流程,便于以后回顾安装步骤下载mysql压缩包,这里使用的是5.7MySQL官网5.7版本进入服务器,创建一个临时目录,将压缩包上传,解压tar -xzvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz将文件夹移动到/usr/local目录下并重命名为mysqlmv mysql-5.7.36-linux-glibc2.12-x86_64 /user/local/mysql安装

2021-12-28 15:42:42 542

原创 MySQL操作锁表如何解决

今天在用 Navicat Premium 操作数据库的时候,发现一张表怎么都打不开,最开始还以为是网络的问题,后面才反应过来应该是锁表了,虽然InnoDB支持锁表,但是自己还是第一次遇到,所以琢磨了以下解决方法,以此记录下。首先,我们得知道 MySQL在什么情况下会发生锁表而下面命令就是用来查看当前运行的所有事务select * from information_schema.innodb_trx如果此时表被锁,那么肯定这次的事务是还没有提交的。然后我们使用 ** kill trx_mysql

2021-12-22 11:25:02 2400

原创 RabbitMq 消息丢失和消息手动确认处理

1.安装依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2.配置rabbitmq配置文件 rabbitmq: host: 127.0.0.1 port: 5672 username: zytoo

2021-12-10 11:56:55 1798

原创 MySQL索引底层数据结构

定义索引是帮助MySQL高效获取数据的排好序的数据结构索引数据结构二叉树(不适用)弊端:对于线性增长的数据依然要走全表扫描。红黑树Hash表B-tree

2021-11-21 20:51:22 562

原创 Docker部署Mysql数据库

原谅如此简单粗暴hah~~拉取镜像docker pull mysql:5.7.26创建mysql数据相关的挂载目录mkdir -p /usr/local/workspace/mysql/data /usr/local/workspace/mysql/log /usr/local/workspace/mysql/conf 启动命令docker run -p 3306:3306 --name mysql -v /usr/local/workspace/mys

2021-10-26 16:32:04 125

原创 Nginx root和alias的区别

rootlocation /i/ { root /p/data;}如上配置,请求 http://www.com/i/file.jpg 这个地址时,实际上在服务器上真正对应的文件地址应该是 /p/data/i/file.jpg真实的路径其实是 root 指定的值加上location 指定的值。aliasalias指定的路径是location的别名,不管location的值怎么去配置,alias指定的路径才是资源的真实路径。location /i/ { alias /p/data;}如

2021-10-19 10:46:28 833

原创 Mybatis踩坑——if 标签条件判断一直不成立

由于数据库中将审核状态字段定义的是audit_status:审核状态 0:待审核;1:审核通过但是在Mybatis xml文件中的写法是下面这样,导致if标签判断一直不生效 <if test="caseLibraryDTO.auditStatus != null and caseLibraryDTO.auditStatus != '' "> and a.audit_status = #{caseLibraryDTO.auditStatus} </if&gt

2021-10-14 10:26:36 1619

原创 Nginx conf配置文件使用

使用参考

2021-10-13 18:20:16 73

原创 volatile与synchronized 比较

volatile 是线程同步的轻量级实现,所以性能会比 synchronized 好; volatile 只能修饰变量,而 synchronized 可以修饰方法,代码块;当然随着jdk1.8的发布,synchronized 的性能也是有很大的提升;多线程访问 volatile 变量不会发生阻塞,而 synchronized 可能会阻塞;volatile 能保证数据的可见性,但是不能保证原子性; synchronized 可以保证可见性,也可以保证原子性;volatile 关键字解决的是变量在多.

2021-09-16 11:49:21 199

原创 SpringBoot自动配置原理

自动配置原理Springboot启动类中@SpringBootApplication 注解里面主要的三个注解为@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan其中 @EnableAutoConfiguration 注解开启自动配置功能;@EnableAutoConfiguration 作用@EnableAutoConfiguration 中的 @import 注解利用 EnableAutoConfigurati

2021-08-31 20:34:08 123

原创 MongoDB下载安装

进入MongoDB官网,Products -> 选择SOFTWARE下的MongoDB Server选择对应版本下载下载成功之后点击安装,Complete安装全部插件, Custom自定义安装,这里选择自定义配置环境变量(1) 新增系统变量MOGONDB_HOME(2)path下添加打开服务查看启动如果此时服务启动不成功,报错 “WIndows无法启动 错误1053”解决办法:输入下面指令删除MongoDB服务器sc delete Mong..

2021-07-20 14:21:41 213

原创 Iterator定义及使用Iterator遍历 map 集合的几种方式

定义为了方便的处理集合中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理集合中的元素.例如删除和获取集合中的元素.该对象就叫做迭代器(Iterator).对 Collection 进行迭代的类,称其为迭代器。还是面向对象的思想,专业对象做专业的事情,迭代器就是专门取出集合元素的对象。但是该对象比较特殊,不能直接创建对象(通过new),该对象是以内部类的形式存在于每个集合类的内部。如何获取迭代器?Collection接口中定义了获取集合类迭代器的方法(iterator()),所以所有的Co

2021-07-14 21:59:52 2759

原创 Java 线程池

这里写自定义目录标题一、为什么要使用线程池二、线程池原理一、为什么要使用线程池使用线程池主要有以下三个原因:创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程。控制并发的数量。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。(主要原因)可以对线程做统一管理。二、线程池原理Java中的线程池顶层接口是Executor接口,ThreadPoolExecutor是这个接口的实现类。ThreadPoolExecutor类提供了四种构造方法 public ThreadPoo

2021-07-08 00:05:54 118

原创 Redis客户端常用操作命令

通用1.通过CMD命令窗口远程登陆redis-cli -h ip -p 6379 -a "123456"2.切换库select num //num表示库的编号0-153.清除数据(大家自行测试哈哈~)flushall //清空整个redis数据,所有库flushdb //清除当前库的数据String类型set key value //设置一个新的键值get key //通过键获取值mset //同时设置一个或者多个key-value对mget //返回所有(一个或者多

2021-06-19 23:49:41 1325

原创 Spring Bean的生命周期

Spring Bean的作用域在了解Spring Bean的生命周期之前,我们首先需要先了解一下Spring Bean的作用域:作用域的种类http://c.biancheng.net/view/4260.htmlSpring Bean的作用域共有5类:singleton单例模式,使用 singleton 定义的 Bean 在 Spring 容器中只有一个实例,这也是 Bean 默认的作用域。prototype原型模式,每次通过 Spring 容器获取 prototype 定义的 B

2021-06-04 21:39:14 133

原创 String s ; 和 String s = null ; 和 String s = ““ ; 之间的区别

String s表示申明了一个引用变量,但是该变量并没有初始化,所以对该变量的所有操作,除了初始化赋值意外,都会引发异常。String s=null表示申明了一个引用变量,并且进行了初始化,但是该引用并没有指向任何对象,但是可以把它作为一个参数进行传递,或者进行其他引用,但是不能调用它作为对象的方法。String s=""表示申请了内存资源,但资源空间值为空。该语句表示声明并引用到一个对象,只不过这个对象为0个字节。所以既然有了对象,就可以调用对象的方法。String s = String.Em

2021-06-04 20:02:08 263

原创 Spring中Bean的生命周期

Been的实例化过程图解一、实例化Bean对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用createBean进行实例化。 对于ApplicationContext容器,当容器启动结束后,便实例化所有的bean。 容器通过获取BeanDefinition对象中的信息进行实例化。并且这一步仅仅是简单的实例化,并未进行依赖注入。 实例化对象被包装在BeanWrapper对象中,BeanWrapper提供了设置对

2021-05-31 10:29:29 81

转载 java中接口和抽象类的区别

java中接口和抽象类的区别Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:一句话总结:Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法;类可以实现很多个接口,但是只能继承一个抽象类;类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的;抽象类可以在不提供接口方法实现的情况下实现接口。Java接口中声明的变量默认都是final的。抽象类可以包含非fi

2021-05-30 15:37:38 74

原创 Aviator学习笔记

什么是AviatorAviator是一个轻量级、高性能的、使用java语言实现的一个求值引擎,它能够动态的将表达式编译成字节码并运行,主要用于各种表达式的动态求值。Aviator的特性支持大部分运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(=~)、三元表达式?: ,并且支持操作符的优先级和括号强制优先级。支持大整数和精度运算(2.3.0版本引入)。支持函数调用和自定义函数。内置支持正则表达式匹配,类似Ruby、Perl的匹配语法,并且支持类Ruby的$digit

2020-11-30 15:51:46 419 4

空空如也

空空如也

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

TA关注的人

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