自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ThisLX的博客

分享也是一门艺术

  • 博客(64)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 ElasticSearch使用与原理介绍

ElasticSearch使用与原理介绍1、Lucene2、ElasticSearch概述3、ElasticSearch、Solr对比4、ElasticSearch安装5、ElasticSearch核心概念节点和分片如何工作图解shard&replica机制倒排索引6、ElasticSearch基本操作常用命令操作原理解析索引新文档更新和删除文档读操作查询阶段取回阶段_version作用7、ElasticSearch集群集群健康状态分布式架构图ElasticSearch脑裂以及优化方案Elastic

2021-03-14 16:09:56 470

原创 硬核!Redis 面试知识点总结,建议收藏!

Redis 面试知识点总结1、Redis是什么2、Redis支持的数据类型3、在实际项目中使用缓存有遇到什么问题或者会遇到什么问题你知道吗?4、什么是Redis雪崩5、如何解决Redis雪崩6、了解缓存穿透和击穿么,可以说说他们跟雪崩的区别吗?7、怎么解决缓存穿透8、怎么解决缓存击穿9、Redis为何能这么快10、Redis 和 Memcached 的区别11、Redis支持淘汰策略12、谈一下对Redis 的持久化机制了解13、RDB是怎么工作的14、AOF工作原理15、RDB与AOF应该如何选择?16、

2020-08-20 12:17:06 529

原创 40道Spring面试题,能全答对的人不到10%!建议收藏!

老生常谈的Spring面试题1、使用Spring框架的好处2、Spring组成模块有哪些3、解释AOP模块是什么?4、Spring 应用程序有哪些不同组件5、什么是 Spring IOC 容器6、什么是依赖注入7、可以通过多少种方式完成依赖注入8、区分构造函数注入和 setter 注入9、spring 中有多少种 IOC 容器10、BeanFactory和ApplicationContext有什么区别11、什么是 spring bean?12、spring 提供了哪些配置方式?13、spring 支持几种

2020-08-20 09:06:02 488

原创 PicGo+Gitee搭建国内高速图床

PicGo+码云建立国内高速图床1、安装PicGo2、码云3、配置PicGo4、测试在日常工作,我们或多或少会使用文档记录一下内容,txt、word、markdown、在线笔记等,个人觉得txt、word使用没有markdown舒服,无论排版、样式、还是思维框架上,三者有较大的差距。使用 Markdown 的优点(尽管大家都已经耳熟能详,但是考虑有一些没有使用过Markdown的朋友)专注你的文字内容而不是排版样式,安心写作。轻松的导出 HTML、PDF 和本身的 .md 文件。纯文本内容,兼容

2020-08-13 11:19:09 493

原创 后端必备的 Git Commit Message规范指南-直接食用

IDEA中如何规范使用Git Commit MessageGit代码提交规范前言一、安装插件二、插件使用三、插件讲解1、Header1.1 type1.2 scope1.3 subject2、Body3、FooterGit代码提交规范前言为什么要注重代码提交规范?在团队协作开发时,每个人提交代码时都会写 commit message。每个人都有自己的书写风格,翻看我们组的git log, 可以说是五花八门,十分不利于阅读和维护。一般来说,大厂都有一套的自己的提交规范,尤其是在一些大型开源项目中,

2020-08-04 11:27:46 5501 3

原创 十分钟快速搭建 SkyWalking 服务

Apache SkyWalking1、SkyWalking是什么2、SkyWalking功能3、整体架构4、SkyWalking实战4.1 ElasticSearch搭建4.2 安装配置SkyWalking5、服务添加至SkyWalking6、SkyWalking UI查看1、SkyWalking是什么官网地址:http://skywalking.apache.org/SkyWalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)架构而设

2020-07-23 11:48:04 2501 1

原创 阿里微服务架构Spring Cloud Alibaba Sentinel实战

Spring Cloud Alibaba Sentinel1、介绍2、与Hystrix、resilience4j对比3、流控规则4、降级规则5、热点规则1、介绍官网地址:https://sentinelguard.io/zh-cn/docs/introduction.html随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。2、与Hystrix

2020-07-14 15:11:48 705

原创 阿里微服务架构Spring Cloud Alibaba Nacos实战

Spring Cloud Alibaba Nacos一、Nacos1、常用特性2、注册中心、配置中心对比3、生态图4、安装5、名词解析6、代码实战注册中心配置中心一、Nacosnacos官方文档:https://nacos.io/zh-cn/docs/quick-start.html1、常用特性服务发现和服务健康监测Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用D

2020-07-14 13:56:07 1434

原创 重新认识Java注解,带你找回初恋的感觉

重新认识Java注解,带你找回初恋的感觉1、什么是注解2、为什么使用注解3、注解的作用4、注解的分类5、元注解5.1 @Target5.2 Retention5.3 @Document5.4 @Inhrited6、自定义注解与反射结合使用在开发过程中,注解是我们最为常见的代码之一,JDK内置注解、元注解、自定义注解等,例如Spring中的@Component、@Service、@Controller等;MybaitsPlus中@TableName等;JDK自带注解@Override、@Deprecate

2020-06-15 10:21:02 272

原创 超简单,MySQL配置主从复制,建议收藏

MySQL配置主从复制MySQL配置主从复制1、Master数据库修改2、Slave数据库修改3、在master上建立帐户并授权slave4、查询master的状态5、配置从服务器Slave6、检查从服务器复制功能状态7、测试8、注意事项MySQL配置主从复制版本一致,来是官方推荐的方式;slave至少要和master的版本前两个号相同,可高于自master;版本不一致,可能出2113现的问题就是同步的不稳定(兼5261容性的老问题),因为会在某些函数处理、日志读取、日志的解析重演等上发生异常,导致同

2020-05-28 21:18:22 203

原创 Spring Cloud组件详解

Finchley版本Spring Cloud Finchley; Spring Boot 2.0.7一、微服务入门二、Spring Cloud组件 - Eureka三、Spring Cloud组件 - Ribbon四、Spring Cloud组件 - Open Fegin五、Spring Cloud组件 - Hystrix六、Spring Cloud组件 - Gateway七、Sp...

2020-04-28 09:46:40 361

原创 一、微服务入门

什么是微服务?微服务就是把原本臃肿的一个项目的所有模块拆分开来并做到互相没有关联,甚至可以不使用同一个数据库。 比如:项目里面有User模块和Power模块,但是User模块和Power模块并没有直接关系,仅仅只是一些数据需要交互,那么就可以吧这2个模块单独分开来,当user需要调用power的时候,power是一个服务方,但是power需要调用user的时候,user又是服务方了, 所...

2020-04-28 09:28:44 304

原创 七、Spring Cloud组件 - Sleuth

应用场景在微服务框架中,一个由客户端发起的请求在后台系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中任何一个环出现高延时或者错误都会引起整个请求最后的失败。因此需要增加链路监控。Sleuth是什么提供了一套完整的服务跟踪方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin(展现在可视化)上图Sleuth怎么...

2020-04-28 09:26:13 197

原创 六、Spring Cloud组件 - Gateway

Gateway是什么Cloud 全家桶中有个很重要的组件就是网关,在1.X版本中都是采用zuul网关,但是在2.X中,zuul网关升级出现分歧。Spring Cloud最后自己研发了一个网关代替zuul。SpringCloud Gateway(亲儿子)是Spring Cloud的一个全新项目,基于Spring 5.0+Spring Boot 2.0和Project Reactor等技术开发的网...

2020-04-28 09:24:01 374

原创 五、Spring Cloud组件 - Hystrix

hystrix是什么?Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应...

2020-04-28 09:21:42 177

原创 四、Spring Cloud组件 - Open Fegin

Feign是什么Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以...

2020-04-28 09:19:47 249

原创 三、Spring Cloud组件 - Ribbon

Ribbon是什么?Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所...

2020-04-28 09:17:14 288

原创 二、Spring Cloud组件 - Eureka

Eureka是什么?Eureka是Netflix的子模块之一,也是一个核心的模块,eureka里有2个组件,一个是EurekaServer(一个独立的项目) 这个是用于定位服务以实现中间层服务器的负载平衡和故障转移,另一个便是EurekaClient(我们的微服务)它是用于与Server交互的,可以使得交互变得非常简单:只需要通过服务标识符即可拿到服务。与Spring-cloud的关系S...

2020-04-28 09:14:07 412

原创 被大家熟知的Java线程状态

池化技术池化技术能够减少资源对象的创建次数,提高程序的性能,特别是在高并发下这种提高更加明显。使用池化技术缓存的资源对象有如下共同特点:1,对象创建时间长;2,对象创建需要大量资源;3,对象创建后可被重复使用。下面介绍的thread,connection等对象都具有上面的几个共同特点。本文通过jdk1.8的threadPool、jedis-client使用的apache-commons-po...

2020-03-23 11:51:21 180

原创 Java8新特性Stream实用版

Java8中有两个非常有名的改进,一个是Lambda表达式,一个是Stream。如果我们了解过函数式编程的话,都知道Stream真正把函数式编程的风格引入到了java中。这篇文章由简入繁逐步介绍Stream。一、Stream是什么从名字来看,Stream就是一个流,他的主要作用就是对集合数据进行查找过滤等操作。有点类似于SQL的数据库操作。一句话来解释就是一种高效且易用的数据处理方式。大数据领...

2020-03-20 15:04:04 242 1

原创 单例模式常用写法与弊端

单例模式写法共分为以下几类1、饿汉式2、懒汉式3、静态内部类4、枚举类1、饿汉式顾名思义,饿汉,我很饿,需要一开始就创建,实例代码如下:/** * 饿汉单例模式 * 缺点:类初始化就加载信息,类中可能存在比较大的对象,浪费性能 * * @author lixiang * @version V1.0 * @date 2020/3/16 11:24 **/public...

2020-03-17 13:23:21 507

原创 p6spy配置详解

文章目录简介1、Maven依赖2、 切换driverClass(必须)3、增加配置文件4、自定义配置类简介p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。展示效果如下:SQL耗时【7毫秒】 连接信息【jdbc:p6spy:mysql://192.168.1.108:3306/leimingtech_member?allowMultiQueries=t...

2020-01-16 13:20:50 21076 8

原创 JVM、计算机内存模型、Java内存模型深度解析

文章目录1、JVM(Java Virtual Machine)1.1 组成部分1.2 运行时数据区1.3 代码展示2、计算机内存模型2.1 CPU和缓存一致性2.2 处理器优化和指令重排2.3 Happen-Before规则3、JMM(Java Memory Model)3.2 JMM的实现【注】本文章主要介绍JVM、JMM、计算机内存模型、指令重排等内容,让大家更直观的去理解JVM和JMM。文...

2020-01-08 17:38:46 613

原创 JDK1.8新特性

JDK1.8新特性1. 函数式接口1.1 常用的函数式接口2. 方法引用2.1 方法引用是什么2.2 一般方法的引用格式3. Optional4. Lambda表达式4.1 Lambda运行原理5. Stream5.1 为什么需要Stream5.2 什么是流5.3 流的构造与转换5.4 Stream常用API5.5 Collectors API5.6 性能分析5.7 parallelStream...

2020-01-02 20:23:18 189

原创 RsetClient操作Elasticsearch7.X

RsetClient操作Elasticsearch(7.X版本)1、ElasticSearch7.X版本变动点1.1 ElasticSearch7.X移除类型(type)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列...

2019-12-13 12:28:44 1644 1

原创 Nginx+Lua+FastDFS+Docker实现图片缩略图

Nginx+Lua+FastDFS实现图片缩略图1、Docker安装2、Docker安装FastDFS2.1 搜索镜像2.2 拉取镜像2.3 查询镜像2.4 容器安装2.5 修改配置1、Docker安装yum install docker -ysystemctl start docker #启动dockersystemctl enable docker #开机启动dockersyste...

2019-11-12 21:52:38 1159 1

原创 Spring Security源码解析

1、SecurityContextPersistenceFilter:SecurityContextPersistenceFilter有两个主要任务:在请求到达时处理之前,从SecurityContextRepository中获取安全上下文信息填充到SecurityContextHolder;在请求处理结束后返回响应时,将SecurityContextHolder中的安全上下文信息保存回S...

2019-11-01 14:04:50 390

原创 本人实用Linux命令-笔记篇

实用Linux命令1、普通篇2、Docker篇3、MySQL篇1、普通篇查询日志进行搜索并导出到txt文件:tail -fn 50000 catalina.out |grep 'FK20171010095715070' >444.txt;查询含有Exception的日志导出到500.txt内:find . -name \* -type f -print | xargs grep ...

2019-10-17 17:57:22 142

原创 Springboot读取配置文件的方法

Springboot读取配置文件的方法1、@Value注解2、@ConfigurationProperties注解方式3、@PropertySource+@Value4、@ConfigurationProperties+@PropertySource+@Value5、@ConfigurationProperties+@Value6、Environment类【注】 项目中的全部使用到的配置文件(a...

2019-09-20 11:53:57 218

原创 AppScan扫描安全问题修复

AppScan扫描安全问题修复1、隐藏Nginx版本号2、缺少“Content-Security-Policy”头3、缺少“X-Content-Type-Options”头4、缺少“X-XSS-Protection”头5、已解密的登录请求6、会话标识未更新7、SRI (Subresource Integrity) 的检查1、隐藏Nginx版本号修改nginx.conf配置文件http { ...

2019-08-14 19:21:14 4242

原创 Flyway数据库版本控制器理解与使用

Flyway数据库版本控制器1、Flyway简介2、为什么使用FlyWay3、支持的数据库4、Flyway常用命令4.1 Migrate4.2 Clean4.3 Info4.4 Validate4.5 Baseline4.6 Repair5、与SpringBoot集成6、注意事项6.1 数据脚本的命名规则:6.2 基线版本号和脚本文件版本号的关系6.3 脚本文件的特殊性:6.4 地雷配置项:6.5...

2019-05-07 20:38:00 1701

原创 RabbitMQ理解与应用

1、RabbitMQ介绍RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 RabbitMQ 主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。AMQP,即 Advanced Message Queuing ...

2019-04-29 17:04:41 311

原创 SpringBoot集成阿里云短信服务

SpringBoot集成阿里云短信服务1、准备工作2、项目集成2.1 添加依赖2.2 配置文件2.3 业务逻辑实现在实际项目中经常有发送短信的功能,今天进说一下对接阿里云短信服务实现短信发送、查询功能。1、准备工作阿里云链接:https://www.aliyun.com/点击控制台-产品与服务-云通信-短信服务需要创建AccessKey(云账号AccessKey是您访问阿里云API的密钥...

2019-04-22 20:55:36 6944 3

原创 项目实战:携程Apollo使用

1. 简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。更详细的介绍请查看:https://github.com/ctripcorp/apollo2. Apollo和Spring Cloud Config对比3. 安装Apollo安装步骤...

2019-04-16 20:36:01 1252

原创 100道中高级Java面试题整理

JavaEE面试题整理一、Java基础篇二、JVM篇三、Tomcat篇四、MyBatis篇五、Spring篇六、SpringMVC面试题整理七、Redis篇八、Mongodb篇九、MQ篇十、Shiro篇十一、搜索引擎篇十二、Nginx篇十三、SpringBoot篇十四、Dubbo篇一、Java基础篇1、JAVA中的几种基本数据类型是什么,各自占用多少字节?浮点类型:float(4字节)、do...

2019-04-16 17:15:50 17292

原创 Web系统安全问题整理(XSS攻击)

Web系统安全问题整理(XSS攻击)1. XSS介绍2. XSS分类2.1 反射型XSS2.1 存储型XSS3. 安全测试工具4. 代码过滤XSS攻击4.1. XSSSecurityManager 安全过滤配置管理类4.2. XSSSecurityConfig 开关配置类4.3. XssHttpServletRequestWrapper 自定义XSS过滤wrapper4.4. XssFilter...

2019-01-25 21:46:32 845

原创 RSA加密传输数据

RSA加密传输数据1. 前言2. RSA概述3. RSA加密/解密4. RSA的弊端5. 公钥私钥获取5. 代码展示5.1. 引入maven依赖5.2. 封装工具类RSACoder5.3. JS工具库4.4. 后台解密1. 前言web系统最重要的一点就是安全,一个完美的web系统不仅功能强大,安全性也是至关重要的。在之前的文章讲过版本暴露与重放安全问题,今天讲一下Web系统内容传输方面的安全问...

2019-01-23 22:22:35 2410

原创 mongodb格式化日期脚本

mongodb格式化日期(yyyyMMDD)db.purchase_history.find().forEach( function(item){ var ds= db.purchase_history.find({"_id":item._id},{"createTime":1}); var dschilds=ds.toArray(); var temp = dsch...

2019-01-20 21:32:45 2951

原创 一文读懂经典设计模式—— 策略模式

1、含义在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。2、多态在说策略模式之前说 面向对象编程三大特性中的多态;所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该...

2019-01-04 21:19:27 240

原创 SpringBoot2.x集成Elasticsearch6.4.2

1、配置JDK环境变量略2、Linux安装ElasticSearch6.4.2下载地址:https://www.elastic.co/cn/downloads/elasticsearch将下载的zip包移动到/usr/local/(目录自定)使用unzip进行解压启动脚本在bin目录下使用./elasticsearch命令启动,但是不能使用root用户,因此我们需要创建用户。#创建...

2018-11-06 19:42:38 25308 14

Hibernate中的查询:HQL、Criteria、原生SQl

Hibernate中的查询:HQL、Criteria、原生SQl的Demo,希望可以帮助大家理解Hibernate查询。

2017-04-28

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

TA关注的人

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