自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10光标右键失灵,左键好使

暂时性的解决方法:ctrl + alt + del,点击取消,回到桌面,右键就好使了,重启电脑之后,问题又复现,只能用这个方法顶着。win10光标失灵,左键好使,右键点击没作用,鼠标本身没问题,放到别的电脑好使。

2024-01-02 20:44:05 461

原创 influxdb

influxdb

2022-10-20 17:30:58 867 1

原创 git 版本回退

目录已提交,没有push的情况,回滚已提交,并且push的情况,回滚方式一: git reset方式二: git revert已提交,没有push的情况,回滚本地commit了一次,我想把它回滚,怎么做?git status 查看本地有一个commitgit log获取commit版本号(q退出)也可以使用这种方式获取需要回滚的版本号回滚:git reset --soft 撤销commit,但不会撤销addgit reset --mixed 撤销commit,也撤销addgit re

2022-04-10 00:48:52 2531

原创 kafka学习

目录一、Kafka 概述消息队列的两种模式点对点模式发布/订阅模式Kafka 基础架构二、docker 安装 kafka三、Kafka 架构深入Kafka 工作流程及文件存储机制Kafka 生产者分区策略数据可靠性保证副本数据同步策略ISRack应答机制数据一致性问题。故障处理细节Exactly Once 语义Kafka 消费者消费方式分区分配策略RoundRobin(轮询)Range(范围)什么时候触发分区分配策略offset 的维护Kafka 高效读写数据一、Kafka 概述Kafka 是一个分布式

2022-01-18 23:18:14 3820 1

原创 设计模式(四)行为型模式。

目录1、模板方法模式模板方法模式的钩子方法模板方法模式在 Spring 框架应用的源码分析1、模板方法模式基本介绍1)模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。2)简单说,模板方法模式 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤3)这种类型的设

2022-01-06 23:22:30 442 1

原创 Springboot整合liquibase

1、依赖这里数据源使用的是postgresql<!-- liquibase--> <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> </dependency> <!--postgresql--> <dependency> <groupI

2021-12-28 15:47:48 921

转载 Spring Cloud Feign 请求添加headers

这里写目录标题方案一:方法上的@RequestMapping注解添加headers信息方案二:接口上的@RequestMapping注解添加headers信息方案三:使用@Headers注解添加headers信息方案四:自定义RequestInterceptor添加headers信息方案五:自定义RequestInterceptor实现添加动态数据到header方案一:方法上的@RequestMapping注解添加headers信息@RequestMapping注解的属性中包含一个headers数组,所

2021-07-12 23:14:49 4646

原创 postgrepsql学习

目录1、postgresql----索引失效2、postgrep查看sql是否使用索引3、模糊查询like优化4、postgrep自增主键5、`on CONFLICT`语法6、Postgrep使用json字段,存储json数据7、postgrep json字段查询1、postgresql----索引失效https://www.cnblogs.com/alianbog/p/5648455.html2、postgrep查看sql是否使用索引EXPLAIN ANALYZE select * FROM

2021-06-01 22:25:52 2609

原创 mysql模糊查询like优化

1、使用全文索引MySQL 之全文索引:https://blog.csdn.net/mrzhouxiaofei/article/details/799409582、使用ICP特性【mysql】关于ICP、MRR、BKA等特性:https://www.cnblogs.com/chenpingzhao/p/6720531.html连模糊匹配like %%怎么优化都不知道:https://mp.weixin.qq.com/s/ygvuP35B_sJAlBHuuEJhfg...

2021-06-01 22:13:56 1205

原创 SpringSecurity原理解析

目录1、认证流程源码查看1、判断当前请求是不是post请求2、调用子类的方法进行身份认证,认证成功之后,把认证信息封装到对象里面去2.1、查看UsernamePasswordAuthenticationToken2.2、调用authenticate方法进行身份认证3、认证成功/失败处理2、授权流程2.1、 ExceptionTranslationFilter 过滤器2.2、 FilterSecurityInterceptor过滤器3、认证信息共享详解3.1、SecurityContextPersistenc

2021-03-21 23:28:10 223 2

原创 Spring Security入门(一)

目录1、SpringSecurity 框架简介2、同款产品对比1、SpringSecurity 框架简介Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是 Spring Security 重要核心功能。(1)用户认证指的是:验证某个用户是否为系统中的

2021-03-14 23:36:43 178

原创 Tomcat底层原理

目录前言Tomcat底层架构组成前言1、Tomcat是一个Servlet容器。2、使用Java代码模拟一个Tomcat容器:class Tomcat{ List<Servlet> servlets; Connector connect;//处理请求,生成了Request}3、回顾servlet的定义public class MyHttpServlet extends HttpServlet { @Override protected void doGet(H

2021-02-25 23:46:45 546 2

原创 设计模式(三)结构型模式

目录1、适配器模式类适配器模式对象适配器模式接口适配器模式结构型模式:解决的是,怎么让我们的软件更加的有伸缩性、扩展性。1、适配器模式基本介绍:1)适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)2)适配器模式属于结构型模式3)主要分为三类:类适配器模式、对象适配器模式、接口适配器模式类适配器模式被适配者:220V电压public class V

2021-02-07 23:40:01 156 1

原创 mybatis批量插入数据性能测试

一般来说,对于SSM项目工程来说,mybatis的ExectoryType默认是simple,那么又如何能动态使用batch模式呢?直接上源码实现干货:import org.apache.ibatis.session.ExecutorType;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessi

2021-02-04 21:37:39 1028 3

原创 JDK1.8新特性——Stream

@Test public void studyStream() throws Exception{ //参考:https://www.runoob.com/java/java8-streams.html //生成流 //stream() 为集合创建串行流 //parallelStream() 为集合创建并行流 ...

2021-01-28 21:54:18 1297 1

原创 JDK1.8新特性——Optional

Optional类是Java8为了解决null值判断问题。Optional对象创建 // 1、创建一个包装对象值为空的Optional对象 Optional<String> optStr = Optional.empty(); // 2、创建包装对象值非空的Optional对象 Optional<String&gt...

2021-01-28 21:31:06 275

原创 spring注解驱动开发(一)

回顾一下使用配置文件是怎么开发的: <bean id="messageService" class="com.example.demo.service.Impl.MessageServiceImpl"/> // 用我们的配置文件来启动一个 ApplicationContext ApplicationContext context = new Clas...

2021-01-27 21:16:36 221

原创 spring注解驱动开发(二)

属性赋值使用@Value赋值,三种方式1.基本数值2.可以写SpEL,#{}3.可以写${}:取出配置文件中的值(配置文件中的值会加载到运行环境中,在运行环境中的值)实体类:省略getter,setter,toStringpublic class Student { @Value("张三") //基本数值 private String name; @Value...

2021-01-27 21:15:55 144

原创 设计模式(二)

目录1、设计模式概述和分类1.1、设计模式介绍1.2、设计模式类型2、单例模式1、设计模式概述和分类1.1、设计模式介绍1)设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。2)设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度。3)<<设计模式>> 是经典的书,作者是

2021-01-26 00:02:27 114

转载 Spring的单例bean与原型bean的区别和创建过程

1、Spring官方文档中给出的bean的scope有五种singletonprototyperequestsessionglobal session实际上,Spring最基本的scope只有两种,即singleton和prototype。可以参看spring源码中的BeanDefinition.java的定义,只有这两种:String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SINGLETON;String SCOPE_PROT

2021-01-24 18:44:13 377

原创 基于Btrace的监控调试

目录简介1、Btrace是什么?2、Btrace的使用限制?3、Btrace能做什么?安装使用1、获取方法的参数值2、拦截构造函数、同名函数2.1 拦截构造函数2.1 拦截同名方法简介1、Btrace是什么?在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace

2021-01-21 23:36:50 271 2

原创 设计模式(一)

目录1、前言2、设计模式的七大原则单一职责原则1、前言编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好1)代码重用性 (即:相同功能的代码,不用多次编写)2)可读性 (即:编程规范性, 便于其他程序员的阅读和理解)3)可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)4)可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)5)使程序呈现高内聚,低耦合的特性2、设计模式的七大原

2021-01-17 23:24:39 102

原创 presto的安装部署

1、自行下载presto安装包https://prestodb.io/docs/current/installation/deployment.html2、解压,并同级新建一个data目录data 用于存储日志、本地元数据等的数据目录。 建议在安装目录的外面创建一个数据目录。这样方便Presto进行升级。3、生成配置在安装目录中创建一个目录 etc , 加入以下配置: 节点属性:特定于每个节点的环境配置 --- etc/node.properties JVM Config:Jav

2021-01-13 22:24:07 1137

原创 Mybatis-Plus(二)

目录1、逻辑删除2、自动填充1、逻辑删除配置文件:#逻辑未删除,设置为0mybatis-plus.global-config.db-config.logic-not-delete-value=0#逻辑删除,设置为1mybatis-plus.global-config.db-config.logic-delete-value=1实体类:对应的逻辑删除字段就上注解@TableLogic测试: @Autowired private UserMapper userMapper;

2021-01-05 22:42:54 913

转载 统计git提交次数+区域时间内提交次数+提交行数

统计git提交次数: 所有人的所有提交次数,会展示所有的提交人 提交次数详情。git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr统计时间内提交次数。git log --author=yourname --since="2017-08-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l统计提交行数:根据1展示出详情,可以填入u.

2021-01-04 21:25:45 1188

原创 jdk9和jdk11

这里写目录标题一、JDK11IDEA切换到JDK111、Jshell(java9开始)2、Dynamic Class-File Constants类文件新添的一种结构3、局部变量类型推断(var "关键字")4、新加一些实用的API4.1、集合of4.2、集合copyOf一、JDK11安装jdk11IDEA切换到JDK111、Jshell(java9开始)启动jshell就相当于进入 main方法,直接敲代码执行就可以了。简而言之,使用 JShell,你可以输入代码片段并马上看到运行结

2021-01-04 21:24:00 496

原创 Maven聚合工程

父工程pom:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0

2021-01-04 21:17:52 80

原创 Mybatis-Plus入门(一)

目录1、简介2、快速入门3、基本使用传统模式通用mapper常用注解排除非表字段的三种方式4、MyBatis-Plus查询方法1、简介Mybatis-plus简介:Mybatis增强工具,只做增强,不作改变,简化开发,提高效率。官网地址:https://mybatis.plus/github项目地址:https://github.com/baomidou/mybatis-plus框架结构:MP在mybatis启动的时候,它在mybatis的xml和注解注入之后,紧接着反射分析实体,然后注入到底

2020-12-30 23:50:10 263 1

原创 shell入门(一)——文本处理工具

目录1、文本处理工具1.1、grep[过滤出行]1.2、grep使用1.3、cut【截取列】1.4、练习11.4、sort【排序,去重】1.5、uniq工具【去重】1.6、tee工具【结果屏幕输出一份,文件输出一份】1.6、diff工具【比较两个文件内容的异同】1.7、paste工具【合并文件行】1.8、tr工具【用于字符的转换】1.9、练习21.10、练习31、文本处理工具Linux中最重要的三个命令在业界被称为“三剑客”,它们是awk,sed,grep。https://blog.csdn.net

2020-12-27 21:44:46 314

原创 shell入门(六)

目录1、case语句2、函数1、case语句case语句为多重匹配语句如果匹配成功,执行相匹配的命令语法结构说明:pattern表示需要匹配的模式case var in 定义变量;var代表是变量名pattern 1) 模式1;用 | 分割多个模式,相当于or command1 需要执行的语句 ;; 两个分号代表命令结束pattern 2) command2

2020-12-24 21:54:44 150

原创 shell入门(五)

目录1、随机数1、如何生成随机数2、随机产生以139开头的电话号码3、随机抽出5位幸运观众① 思路② 落地实现4、批量创建用户(密码随机产生)① 思路② 落地实现1、随机数1、如何生成随机数RANDOM,随机会产生0-32767的随机整数产生一个随机数[root@localhost ~]# echo $RANDOM13214产生0-10之间的随机数,只需要取余11[root@localhost shellDemo]# echo $[RANDOM%11]6产生1-50之间的随机数[roo

2020-12-14 23:09:37 195

原创 动态规划

目录例子1:买卖股票的最佳时机例子2:最大子序和例子3:青蛙跳台阶问题例子4:把数字翻译成字符串https://blog.csdn.net/qq_40963043/article/details/100765212https://blog.csdn.net/kongmin_123/article/details/82430985动态规划的基本思想:保存子问题的结果,避免重复计算用额外的数据结构保存空间换时间大问题可以由子问题推出(状态转移)dp是没有递归,因为用数组存储前置结果,用这些结

2020-11-20 22:47:26 123

原创 shell入门(四)——循环语法结构

目录1、for循环语法结构列表循环不带列表循环类C风格的for循环2、for循环语法结构1、脚本计算1-100奇数和1、for循环语法结构列表循环列表for循环:用于将一组命令执行已知的次数基本语法格式for variable in {list} do command command … done或者for variable in a b c do command

2020-11-10 22:18:17 191

原创 shell入门(三)——四则运算与流程控制

目录1、简单的四则运算2、四则运算符号3、了解i++和|++i4、条件判断语法结构4.1、 ==条件判断语法格式==4.2、条件判断相关参数==判断文件类型==判断文件权限判断文件新旧1、简单的四则运算算术运算:默认情况下,shell就只能支持简单的整数运算运算内容:加(+)、减(-)、乘(*)、除(/)、求余数(%)2、四则运算符号表达式举例$[ ]echo $[10-5]$(( ))echo $((1+1))exprexpr 10 / 5 ;

2020-11-09 20:09:13 664

原创 Shell入门(二)——简介与变量

目录1、文本处理工具1.1、grep1.2、grep使用1.3、cut1.4、练习shell编程的目的:编写一些自动化脚本工具,减轻维护成本shell编程就是对一堆Linux命令的逻辑化处理。1、文本处理工具Linux中最重要的三个命令在业界被称为“三剑客”,它们是awk,sed,grep。https://blog.csdn.net/sj349781478/article/details/829309821.1、grepgrep是行过滤工具,用于根据关键字进行行过滤。语法:grep 【可

2020-11-08 15:20:34 184

原创 Linux - 生产故障、性能评估面试题

目录1、生产环境服务器变慢,诊断思路和性能评估谈谈;linux怎么查看系统负载情况一、查看cpu二、查看内存三、查看硬盘四、磁盘IO五、网络I/O记一次真实排查经历2、假如生产环境出现cpu占用过高,请你谈谈你的分析思路和定位1、生产环境服务器变慢,诊断思路和性能评估谈谈;linux怎么查看系统负载情况例子:linux上跑该java程序import java.util.Random;public class JavaDemo02 { public static void main(Strin

2020-11-04 22:48:01 942

原创 Rabbitmq集群与镜像队列

目录1、集群架构1.1、普通集群(副本集群)1.2、普通集群搭建1.3、镜像集群1.4、 镜像集群怎么搭?1、集群架构1.1、普通集群(副本集群)1、master主节点上的所有数据都会同步到Slave从节点上,但是有一个意外,就是队列,master主节点上的队列不会同步到其他从节点上,尽管其他从节点可以看到和访问这个队列,实际上这个队列只存在于主节点中。因此,该集群也叫主从复制集群。【注意:从节点上还是有队列的结构,只是消息实体只存在于主节点master上】2、当消息进入主节点master时,消费

2020-10-29 15:18:27 587 1

原创 数据结构与算法(六)排序算法下篇

目录快速排序快排示意图代码以左边的数为基准归并排序代码实现基数排序(桶排序)基本思想代码推导过程最终代码常用排序算法时间复杂度比对快速排序快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列快排示意图注意不一定就用最后一个数作为基准,也可以使用中间的数代码1千万数据量,耗时1秒,比希尔

2020-10-20 18:10:17 74

原创 lru实现

最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:https://www.cnblogs.com/kyoner/p/11179766.html1、新数据插入到链表头部;2、每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3、当链表满的时候,将链表尾部的数据丢弃。【命中率】当存在热点数据时,LRU的效率很好,但偶发性的、周期性的批量操作会导致LRU命中率急剧下降,缓存污染情况比较严重。【复杂度】实现简单。【代价】命中时需要遍历链表,找到命中的数据块索引,然后需要将数据移到

2020-10-19 22:10:28 129

原创 Mysql中的MVCC(多版本并发控制)

目录1、MySQL的逻辑架构1.1、redo log日志1.2、binlog 日志1.3、redo log和binlog区别1.4、undo log(回滚日志)2、MVCC是啥2.1、什么是当前读和快照读?2.1、MVCC作用3、MVCC的实现原理3.1、隐式字段3.2、行的更新过程3.3、Read View(读视图)3.4、MVCC 整体流程RC,RR级别下的InnoDB快照读有什么不同?附录1、MySQL的逻辑架构1.1、redo log日志redo log(重做日志):redo log是Inn

2020-10-18 17:04:56 4659 3

空空如也

空空如也

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

TA关注的人

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