- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 张家界(24-17)
>凤凰古城(day2晚上+day3)->张家界森林公园(day2)张家界森林公园东门(day2)->72奇楼(day1晚上)天门山索道(day1 下午)72奇楼(day1 晚上)day1 张家界西站附近。->天门上(day1)day2 凤凰古城附近。
2024-05-06 23:33:47
324
原创 spring源码的重要扩展接口BeanFactoryPostProcessor、BeanPostProcessor、aware, 循环依赖, @Async会引起循环依赖问题
spring源码的重要扩展接口BeanFactoryPostProcessor、BeanPostProcessor、aware, 循环依赖, @Async会引起循环依赖问题
2022-06-05 18:11:55
432
1
原创 redis的缓存更新策略、缓存穿透、缓存击穿、实现分布式锁、持久化、过期策略、淘汰策略
缓存更新策略,缓存穿透,缓存击穿,Redis实现秒杀,Redis实现分布式锁,Redisson解决,redis持久化,Redis到底是单线程还是多线程?redis过期策略,redis淘汰策略。
2022-05-22 18:06:48
467
原创 Linux中buff/cache内存占用过高-手动清除释放内存
buff/cache内存占用太高我们在使用free -h或者(top命令)查看系统内存的时候,有时间会发现buff/cache很高,如下图可以看到我总内存就1.8G,buff/cache就占用了1.2G。什么是buffbuff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。什么是cachecache(Page Cache)是一种高速缓存,用于CPU和内存之间的缓冲 ,是文件系统的cache。把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就
2022-05-22 12:36:49
7839
1
原创 mysql的REDO LOG (重做日志)、UNDO LOG(回滚日志)、BIN LOG(二进制日志)介绍
REDO LOG 称为 重做日志 ,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持久性。UNDO LOG 称为 回滚日志 ,回滚行记录到某个特定版本,用来保证事务的原子性、一致性。BIN LOG称为 二进制日志,mysql集群数据同步以及数据恢复功能。
2022-05-14 17:50:50
1690
原创 mysql的可重复读隔离级别下使用快照读可以避免出现幻读。mvcc(多版本并发控制)
mysql的MVCC机制在可重复读隔离级别下可以避免部分幻读情况,但是不能完全避免幻读的出现。在快照读情况下,可重复读可以避免幻读。在当前读情况下,可重复读还是会出现幻读,要串行化级别才能解决幻读问题。
2022-05-14 16:21:12
802
原创 mysql索引优化,explain输出字段介绍
本文目录查看mysql的连接数索引聚簇索引和非聚簇索引(二级索引)的区别普通索引和唯一索引的区别创建索引语法删除索引语法explainexplain语法explain输出字段介绍前言-表结构idtableselect_typetypepossible_keys和keykey_lenrefrowsfilteredExtra查看mysql的连接数有时候mysql数据库卡是因为连接数过多导致的。所以查看链接数然后关闭一些不必要的连接也是调优的一种手段。查看连接数:show processlist;主动
2022-05-08 18:34:12
399
原创 实体类信息验证@Validated
前言web项目验证前端数据是否合法可以采用如下方法实体类属性验证@NotNull:不能为null,但可以为empty,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制.@NotEmpty:不能为null,而且长度必须大于0,一般用在集合类上面@NotBlank:只能作用在String类型的属性上,不能为null,而且调用trim()后,长度必须大于0.@Pattern :正则例如: @NotBlank(message
2022-03-22 17:30:40
649
原创 mysql和sqlServer备份表以及表字段同步sql语句
前言要备份的表:old_tablename新表:new_table_name (sql创建出新的表)old_tablename ddl如下CREATE TABLE `exe_type` ( `EXE_TYPE_ID` int NOT NULL AUTO_INCREMENT , `EXE_TYPE_NAME` varchar(100), `UPD_TS` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `CRT_TS` timestamp N
2022-03-22 17:19:58
2557
原创 ArrayList遍历快速引发快速错误机制 fail-fast(解释为什么list集合直接变量不能删除后新增元素)
解惑list的遍历直接删除会抛异常ConcurrentModificationException,以及为什么要有这个异常机制。
2021-12-23 16:19:31
563
原创 抛出RuntimeException异常可以不捕获(不用加try或者throws)
RuntimeException在java中是系统出问题(不可逆的了,程序不能处理那种)可以看到RuntimeException子类型:1 NullPointerException,空指针异常。2 NumberFormatException,字符串转化成数字时。3 ArrayIndexOutOfBoundsException, 数组越界时。4 StringIndexOutOfBoundsException, 字符串越界时。5 ClassCastException,类型转换时。6 Unsuppor
2021-09-28 17:35:59
1312
原创 linux命令记录
chown 授权用户chown -R user mkdir(user是用户名,mkdir是目录)chmod 分配权限chmod 777 分配对象1:执行2:读4:修改7代表可执行可读可修改;1+2+4=7(3就是读+执行,5就是执行+修改,6就是读+修改)三个7:第一个数值是给所属用户授权,第二:所属用户组授权 第三:其他用户授权卸载rpm -qa|grep 软件名(查看安装的软件)如:rpm -qa|grep mysqlyum remove 上图的名称如:yum remov
2021-09-08 10:29:10
99
原创 部署项目遇到的错误
mysql/usr/bin/perl is needed by mysql-community-server-5.7.22-1.el7.x86_64解决方法:少了perl安装一下yum -y install perl.x86_64yum install -y libaio.x86_64yum -y install net-tools.x86_64
2021-09-03 10:35:35
986
原创 记录html遇到的属性
div-overflow<div style={{maxHeight:400,overflow:'auto'}}> overflow介绍当高度大于最大高度四百时启动滚动条</div>
2021-08-09 09:56:34
84
原创 JDBC的DatabaseMetaData记录
目录DatabaseMetaDataDBConnUtil 连接工具查询表的表头信息查询表信息查看列表头信息输出:表头解释:查询列信息查询sql也可以获取到表头DatabaseMetaDataDatabaseMetaData记录了元数据信息,下面将记录获取的方法DBConnUtil 连接工具public class DBConnUtil { public static final String MYSQL_DRI = "com.mysql.jdbc.Driver"; public static C
2021-07-30 14:44:12
384
原创 Java读写excel方法大全,对特定的数据给上特定的背景颜色,加生备注信息等等。
原生poi对excel操作非常灵活。导出的时候可以对特定的数据给上特定的背景颜色,加生备注信息等等。easyExcel封装了poi操作
2021-07-16 17:53:11
1619
原创 mysql修改表结构sql语句
修改表结构sql语句虽然说图形界面可以方便修改,但是要从开发环境中同步到生产环境上就得用到sql语句,同步表结构一个个去点显然不合理#修改表名alter table old_name rename new_name; #修改字段类型和注释,,,注释可以省略不写alter table ind_catalog modify ind_catalog.id int(10) COMMENT "主键" #新增字段 非空 注释:测试 not去掉时就允许为空alter table ind_catalog ad
2021-06-22 11:52:15
1731
原创 git的使用记录篇
同步远程仓库:git remote add origin [url]抓取数据:git fetch [remote-name]查看跟踪的远程分支:git branch -r切换分支:git checkout
2021-06-07 10:06:13
115
原创 react使用ref获取和修改form表单
调用form页面构造函数加入 this.forms = React.createRef()调用这里是用了Modal展开 <Modal title={"新增预警池"} visible={visible} confirmLoading={saveLoading1} destroyOnClose={true}
2021-04-21 16:37:28
4097
原创 js-moment时间处理
安装momentcnpm i moment --save引入momentimport moment from 'moment'使用momentmoment(时间戳).format('YYYY-MM-DD hh:mm:ss')//date类型转字符串moment("202009", "YYYYMM")//字符串转date类型
2021-04-21 15:35:19
130
原创 统计项目代码行数
在 Git Bash 中执行下列命令可以统计 Git 仓库中所有文本文件的内容总行数:仅显示所有文本文件内容总行数$ git ls-files | xargs cat | wc -l显示每个文本文件的内容行数和所有文本文件内容总行数$ git ls-files | xargs wc -l...
2021-03-18 16:22:06
226
原创 最简单的办法导出swagger的离线文档pdf,word,html
导入jar包注意swagger 版本在小于等于2.6会报错。swagger2markup不兼容 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </d
2020-11-16 16:23:30
2617
原创 SpringBoot集成Swagger2—导出接口文档html和pdf格式(包含解决pdf中文部分缺失)
导入jar包注意swagger 版本在小于等于2.6会报错。swagger2markup不兼容 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version>
2020-11-16 12:28:16
844
原创 mysql脏读,不可重复读,幻读及事务级别的理解(结合代码去理解案例你会焕然大悟)
脏读一个事务读到另一个事务,尚未提交的修改,就是脏读。这里所谓的修改,除了Update操作,不要忘了,还包括Insert和Delete操作。脏读的后果:如果后一个事务回滚,那么它所做的修改,统统都会被撤销。前一个事务读到的数据,就是垃圾数据。脏读是很严重的。可以看到在T6的时候转账获取余额是900。T7的时候回滚了数据余额应该是1000。可是转账事务余额是900。存100就变成了900+100=1000。可以看看代码,看着代码结合上图应该好理解点。 //转账事务 public void a
2020-09-28 10:11:17
669
原创 springboot使用@Transactional注解的失效场景大全
前言如果对@Transactional属性不是很了解可以先看 Transactional注解介绍 场景一@Transactional 应用在非 public 修饰的方法上如果Transactional注解应用在非public修饰的方法上,Transactional将会失效。之所以会失效是因为在Spring AOP 代理时,如上图所示 TransactionInterceptor (事务拦截器)在目标方法执行前后进行拦截,DynamicAdvisedInterceptor(CglibAopProxy 的
2020-09-27 15:38:48
1123
原创 @Transactional注解属性介绍
事务事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强声明式事务:基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,所以在实际开发中声明式事务用的比较多。声明式事务也有两种实现方式,是基于TX和AOP的xml配置文件方式,二种就是基于@Transactional注解了。本文主要介绍@Transactional环境springbootSpring
2020-09-27 15:12:23
1283
原创 当没把对象交给spring管理的时候怎么获取been?来看看ApplicationContextAware接口
前言因为spring中的bean默认是单例的(当然可以通过@Scope(“prototype”)来设置多例)但是在有些需求场景是不交给spring管理最好,又想获取spring的bena对象怎么办?方法一(不推荐)还记得刚刚学spring的时候就是这么获取的。ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");People people = ac.getBean("peo",Peo
2020-09-09 17:46:01
369
原创 对称的res,aes,非对称rsa(jwt)的简单使用及区别
respackage com.hlxy.synthesis.portal.util;import org.apache.commons.codec.binary.Base64;import org.apache.commons.io.IOUtils;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DES
2020-09-01 18:45:38
3046
原创 react简单例子引入redux和react-redux
准备没接触过react可以先看: react的简单介绍.Redux介绍解决React数据管理(状态管理),用于中大型,数据比较庞大,组件之间数据交互多的情况下使用。如果你不知道是否需要使用Redux,那么你就不需要用它!解决组件的数据通信。解决数据和交互较多的应用Redux只是一种状态管理的解决方案!Redux属性介绍Store:数据仓库,保存数据的地方。State:state是1个对象,数据仓库里的所有数据都放到1个state里。Action:1个动作,触发数据改变的方法。Dis
2020-08-10 13:54:15
434
原创 Java如何简单的实现计算器功能——AviatorEvaluator
导入包 <!-- aviator --> <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <version>4.2.10</version> </dependency>
2020-08-06 16:48:46
1467
原创 springboot中使用Swagger
目录Swagger的简单介绍依赖包启动类@Api启动项目@ApiOperation@ApiParamjson格式提交@ApiImplicitParams@ApiModel和 @ApiModelPropertySwagger的简单介绍在开发中往往是前后端分离的。作为后端人员在前端还没开发的时候怎么测试呢?Swagger可以自动生成测试页面。Swagger主要就是生成接口文档方便前后端的开发。依赖包 <dependency> <groupId&g
2020-07-23 15:47:21
218
原创 springboot整合AOP和springmvc中的拦截器
依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>o
2020-06-20 16:42:28
258
原创 linux防火墙iptables和firewall的使用
这里写目录标题linux旧版本防火墙iptables修改如果没有iptables文件执行下面的命令防火墙服务操作centos7中的防火墙默认是firewall1、firewalld的基本使用2、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。3、配置firewalld-cmd那怎么开启一个端口呢添加添加端口范围重新载入查看查看所有删除linux旧版本防火墙iptables修改主要是通过修改/etc/sysconfig/iptabl
2020-06-19 23:56:40
207
原创 MongoDB的使用MongoTemplate操作增删改查,分页,排序,聚合(含内嵌数据),文件上传下载
目录MongoDB简单介绍依赖包yml简单配置实体类非内嵌形式增(insert)删(remove)改(updateFirst|updateMulti)查查全部结果(findAll)条件查询--或(or)条件查询--且(and)条件查询-模糊查询(regex)条件查询-查总数(count )条件查询-排序(sort)条件查询-分页(Pageable)内嵌增加数据增(update.push(字段,值);)删(update.pull("字段",对象);)改(update.set)查(update.set)查询返回
2020-06-19 23:34:05
8863
5
原创 前端react的简单使用以及使用nginx部署实现跨域
文章目录reactreact环境准备和创建项目页面动态时间react事件axios发送ajax开发时使用http-proxy-middleware代理跨域react路由react部署nginxnginx代替http-proxy-middleware代理跨域react主要是jsx语法实现前端页面的渲染react环境准备和创建项目1.先准备好环境 安装node.js2.安装vscode直接在电脑管家安装3.安装脚手架Create React App。在终端输入npm install -g crea
2020-06-13 13:02:54
2270
1
原创 linux centos7 环境下安装rabbitmq
直接上步骤链接: 查看erlang和rabbitnq的版本要求.一定要安装相对应的版本。步骤1wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm步骤2rpm -Uvh erlang-solutions-1.0-1.noarch.rpm步骤3(在2020/5/4安装的是22.x版本)...
2020-05-05 00:25:28
189
原创 java代码实现文件的加压解压
java代码实现文件的加压解压当文件太大是需要加压来传输,这样可以大大提高传输的效率GZIPOutputStream +GZIPInputStreamGZIPOutputStream 和GZIPInputStream属于装饰流import java.io.*;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOu...
2020-04-28 21:31:49
381
原创 基于jdk8的jvm(hotspot)笔记(jdk8特性把永久代废除引入元空间)
jvm笔记选引入一张结构图程序计数器Program Counter Register 程序计数器(寄存器)作用:是记住下一条jvm指令的执行地址特点:是线程私有的 不会存在内存溢出虚拟机栈Java Virtual Machine Stacks (Java 虚拟机栈)FILO先进后出,暂存数据的地方。每个线程都包含一个栈区!栈存放在一级缓存中,存取速度较快。有线程隔离的特点每个...
2020-04-27 11:37:34
1703
原创 java容器大全(java基础篇)
java容器介绍本文目录java容器介绍泛型的简单介绍Comparable和ComparatorCollectionListArrayListLinkedListVectorSetHashSetLinkedHashSet+ComparableTreeSetQueueLinkedListArrayQueuePriorityQueueStackMapHashMapTreeMap容器的遍历Iterat...
2020-04-12 21:46:09
302
2
字体ttf文件,asciidoctorj-pdf的ttf对中文不友好
2020-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人