自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博渊的博客

一起搭建属于自己的知识体系吧

  • 博客(76)
  • 收藏
  • 关注

原创 Linux日志中如何查找关键字及其前后的信息

一、linux中cat与grep组合的使用:在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息。但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习。假设存在日志文件 users.log,查询的关键字为"新增用户":根据关键字查看日志cat users.log | grep "新增用户"根据关键字查看后10行日志cat users.log | grep "

2021-07-06 17:59:23 2090

原创 关于阿里easyExcel和poi的差异

一、导入依赖poi<!--xls(03)--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dependency><!--xlsx(07)--><dependency> <

2021-05-13 18:16:30 12132 4

原创 我们为什么需要使用阿里规范扫描插件

阿里规范扫描插件使用推广一、良好的Coding习惯,从P3C开始–阿里P3C代码规范扫描插件1、说明代码规范检查插件p3c,是根据《阿里巴巴Java开发手册》转化而成的自动化插件。(高级黑:P-3C“Orion”,反潜巡逻机,阿里大概取p3c先进,监测,发现潜在问题的意思)二、源码地址https://github.com/alibaba/p3c三、阿里巴巴开发规范手册1、说明《阿里巴巴Java开发手册》旨在码出高效,码出质量。2、目的标准化,正规化,高效协同。3、下载地址​

2021-05-11 10:56:10 648

原创 RabbitMQ系列——第二章 rabbitmq的docker安装

RabbitMQ系列——第一章 rabbitmq的一些基础概念与应用场景RabbitMQ系列——第二章 rabbitmq的docker安装与docker的简单应用RabbitMQ系列——第三章 rabbitmq的工作模式详解RabbitMQ系列——第四章 rabbitmq与springboot整合RabbitMQ系列——第五章 rabbitmq消息可靠性RabbitMQ系列——第六章 rabbitmq实现延迟队列和死信队列...

2021-02-18 09:21:14 332 1

原创 RabbitMQ系列——第一章 rabbitmq的一些基础概念与应用场景

RabbitMQ系列——第一章 rabbitmq的一些基础概念与应用场景RabbitMQ系列——第二章 rabbitmq的docker安装与docker的简单应用RabbitMQ系列——第三章 rabbitmq的工作模式详解RabbitMQ系列——第四章 rabbitmq与springboot整合RabbitMQ系列——第五章 rabbitmq消息可靠性RabbitMQ系列——第六章 rabbitmq实现延迟队列和死信队列...

2021-02-14 13:06:30 175

原创 Redis系列——第七章 Redis开启哨兵模式

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式文章目录Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用R

2021-02-02 17:26:00 1848

原创 Redis系列——第六章 Redis主从同步

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式文章目录Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用R

2021-01-29 11:04:07 281

原创 Redis系列——第五章 Redis持久化策略RDB与AOF

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、持久化技术1、为什么众所周知,redis是运行在内存上的服务,我们都知道内存一旦断电(软件一旦重启),内存上的所有数据

2021-01-26 10:59:51 363 1

原创 Redis系列——第四章 Redis发布订阅模式

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式...

2021-01-14 14:04:03 268

原创 Redis系列——第三章 Redis开启事务并实现乐观锁

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、Redis事务本质:一组命令的集合 要么一起成功 要么一起失败,一个事务中的所有命令都会被序列化,在事务执行过程中会按

2021-01-14 13:38:16 436

原创 Redis系列——第二章 Redis 五种数据类型以及三种特殊类型

Redis系列Redis系列——第一章 Redis配置文件Redis系列——第二章 Redis数据类型以及基本使用Redis系列——第三章 Redis开启事务并实现乐观锁Redis系列——第四章 Redis发布订阅模式Redis系列——第五章 Redis持久化策略RDB与AOFRedis系列——第六章 Redis主从同步Redis系列——第七章 Redis开启哨兵模式一、基础数据类型1、string 类型 <key,value>存储能力:可以是字符串(json串)、整数或浮

2021-01-14 13:37:20 258

转载 Redis系列——第一章 Redis配置文件

Redis系列Redis系列——Redis数据类型以及基本使用Redis系列——Redis开启事务并实现乐观锁

2021-01-14 13:35:07 258

原创 synchronized高性能揭秘——锁升级

学习的秘诀在于——永不止步!!!来看一则小故事(纯属虚构)某大厂大牛:你了解synchronized 吗?某代码小白:嗯!懂一点点某大厂大牛:那你了解synchronized 锁升级吗?某代码小白:啥?synchronized 还有这操作?大佬和我说说呗某大厂大牛:讲锁升级之前,先声明下:synchronized 锁定的并非代码而是一个对象,获取到这个锁定对象才能执行目标代码。再者,锁升级也并非什么高不可攀的东西,简单的讲就是jdk为了提升synchronized 性能所做的优化。某代码小.

2020-12-30 16:13:22 327 3

原创 设计模式系列——你真的了解单例模式吗?

工厂模式

2020-12-28 11:08:47 207

原创 工具系列——Java生成二维码

Java如何生成二维码工具直接上代码/** * @author wyy * @version 1.0 * @date 2020/12/4 13:42 * 二维码描述方法 **/public class QrCode { /** * 生成二维码的方法写入输出流 * * @param text 内容 * @param width 宽度 * @param height 高度 * @param filePat

2020-12-09 16:52:07 206

原创 工具系列——为图片增加水印

前言      在开发公司项目时,需求提出要对公司上传的图片添加水印,要有版权意识,防止他人盗用,于是自己便写了这个工具类不多废话直接上代码/** * @author wyy * @version 1.0 * @Classname ImgWaterRemark * @date 2020/12/4 13:08 * @description 图片增加水印文字、水印图片 **/public class ImgWaterRemark .

2020-12-09 15:18:25 165

原创 阿里easyExcel使用—补充(easyExcel2.1.6 版本)

阿里easyExcel系列1、阿里easyExcel使用—上(1.1.2-beta5版本)2、阿里easyExcel使用—下(easyExcel2.0.0 版本)3、阿里easyExcel使用—补(easyExcel2.1.6 版本)源码地址:https://github.com/alibaba/easyexcel升级版本 升级版本 升级版本1、本版本主要是解决了一些2.0.x遗留的一些问题例如无法使cell数据自定义宽度,使用了也没有效果2、工具获取这里博主根据阿里easyExc

2020-12-01 13:06:22 1947 1

转载 阿里巴巴为什么能抗住90秒100亿——回顾高并发架构演进之路

阿里巴巴为什么能抗住90秒100亿?看完这篇你就明白了!作者:huashiou链接:https://segmentfault.com/a/11900000186261631、概述       本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2、基本概念在介绍架构之前,为了避免部分读者对架

2020-11-30 09:26:39 250

原创 深入JVM虚拟机系列——垃圾回收(进阶)

深入JVM虚拟机系列1、深入JVM虚拟机系列——内存结构分析(入门)2、深入JVM虚拟机系列——垃圾回收(进阶)3、待更新…文章目录前言一、垃圾回收器的分类(总共10种)1、serial收集器serial收集器运行图2、parNew收集器parNew收集器垃圾回收运行图3、parallel Scavenge收集器(多线程复制算法、高效)parallel scavenge收集器运行图4、serial old收集器5、parallel old收集器6、CMS收集器(多线程标记清除算法)7、G1(Gar

2020-11-26 14:32:47 329

原创 Nginx系列——websocket反向代理与资源压缩

Nginx系列入门——Nginx系列——配置详解进阶——Nginx系列——负载均衡配置进阶——Nginx系列——解决跨域与接口可用性探测进阶——Nginx系列——缓存解决接口性能问题进阶——Nginx系列——accessLog日志挖掘与恶意IP封禁进阶——Nginx系列——websocket反向代理与资源压缩一、Nginx配置WebSocket反向代理1、什么是WebSocket      WebSocket协议相比较于HTT

2020-11-25 16:16:32 1030

原创 Nginx系列——accessLog日志挖掘与恶意IP封禁

Nginx系列入门——Nginx系列——配置详解进阶——Nginx系列——负载均衡配置进阶——Nginx系列——解决跨域与接口可用性探测进阶——Nginx系列——缓存解决接口性能问题进阶——accessLog日志挖掘与恶意IP封禁待更新…1、为什么需要挖掘日志记录?作用:统计站点访问ip来源、某个时间段的访问频率查看访问最频的页面、Http响应状态码、接口性能接口秒级访问量、分钟访问量、小时和天访问量日志配置#log_format main '$remote_addr -

2020-11-25 15:52:37 1636

原创 Nginx系列——缓存解决接口性能问题

Nginx系列入门——Nginx系列——配置详解进阶——Nginx系列——负载均衡配置进阶——Nginx系列——解决跨域与接口可用性探测进阶——Nginx系列——缓存解决接口性能问题后续更新…1、架构演变传统架构分布式微服务上面通过架构的演变我们发现了,时代的变迁导致了架构的变迁,由原先的单一应用变成了现在的多服务集群部署,由原来的单机器编程现在的成百上千台云服务器。这个是在硬件上的改变,需要大量的资源,以及资金。如果我们需要在不改变当前的资金配比的情况下使得服务器处理压

2020-11-23 17:35:12 3054

原创 Nginx系列——解决跨域与接口可用性探测

Nginx系列入门——Nginx系列——配置详解进阶——Nginx系列——负载均衡配置进阶——Nginx系列——解决跨域与接口可用性探测进阶——Nginx系列——缓存解决接口性能问题        No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘null’ is therefore not a

2020-11-18 17:03:42 699

原创 Nginx系列——负载均衡配置

Nginx系列入门——Nginx配置详解进阶——Nginx对服务进行负载均衡进阶——Nginx配置解决跨域与接口可用性探测进阶——Nginx缓存解决接口性能问题1、什么是负载均衡?      在理解负载均衡前我们知道请求通过客户端发送到服务器,再由服务器将数据返回给我们。这样就是一个完整的请求。但是一般来说服务器无法承受巨量的请求,这个时候就需要集群,就是我们说的以量取胜。但是这样还是存在问题,就是有的服务器处理的请求很多,但是有的

2020-11-18 16:52:40 569

原创 Nginx系列——配置详解

Nginx系列入门——Nginx配置详解进阶——Nginx对服务进行集群部署负载均衡进阶——Nginx配置解决跨域与接口可用性探测进阶——Nginx缓存解决接口性能问题1、什么是代理?正向代理客户端和目标服务器之间服务器,客户端向代理发送一个请求指定目标服务器,然后代理向目标服务器请求回去内容,再将结果返回给客户核心——客户端知道目标服务器地址反向代理客户端和目标服务器之间服务器,客户端向代理发送一个请求,然后代理向目标服务器请求回去内容,再将结果返回给客户核心——客户不知道目标

2020-11-18 16:47:09 3535

原创 深入JVM虚拟机系列——内存结构分析(入门)

JVM虚拟机内存分析系列提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加第一章:JVM虚拟机内存结构图分析JVM是什么?JVM结构图虚拟机栈虚拟机堆程序计数器本地方法栈方法区(元空间)第二章:JVM虚拟机栈内存结构分析栈帧局部变量表操作数栈动态链接方法出口第三章:JVM虚拟机堆内存结构分析第四章:JVM虚拟机垃圾回收算法分析第五章:JVM虚拟机垃圾回收器分析第六章:总结提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录JVM虚

2020-10-12 17:01:26 358 2

原创 cloud微服务架构组件揭秘—为什么选cloud

一、架构演进1、传统架构(单系统模式)单系统模式:系统各个模块全部耦合在一起,单个war包包含了所有的功能。优缺点:优点:易部署:因为是单个应用不需要其他操作直接成war包部署容易测试运行:也是因为是单个应用的原因,不需要启动其他服务缺点复杂性高:随着业务的不断迭代,项目的模块也会不断的增加,模块与模块直接的关系也会变得越来越复杂进而整个项目变得非常复杂,在后期新增功能时很有可能会影响到其他的模块。可靠性低:因为是单系统应用一旦某个模块某个环节出现问题,导致整个项目无法正常运行可拓展

2020-05-18 15:03:14 642

原创 揭秘分布式CAP理论——为什么不能同时满足三个?

CAP理论定义:     CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。解析三原则1、一致性原则(Consistency)   &nbs...

2020-05-07 14:35:53 2527

原创 权限框架——shiro的使用看这篇就够了(进阶篇)

关于shiro的学习推荐官网:官网链接地址: http://shiro.apache.org/关于shiro的一些简单配置,如何整合springboot快速启动,快速使用请看上篇文章地址:https://blog.csdn.net/weixin_42083036/article/details/105701439本篇文章旨在,提高shiro的性能,用户体验,以及增加shiro的适用范围...

2020-04-29 15:28:20 1231

原创 权限框架——shiro的使用看这篇就够了

关于shiro的学习推荐官网:链接地址: http://shiro.apache.org/一、ACL和RBACACL: Access Control List 访问控制列表 以前盛行的一种权限设计,它的核心在于用户直接和权限挂钩优点:简单易用,开发便捷 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理 例子:常见的文件系统权限设计,直接给用户加权限RBAC: ...

2020-04-23 16:41:32 3790

原创 带你领略IO的魅力——File与MultipartFile的相互转换

什么是MultipartFile?     MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。什么是File?File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类File类的包名是java.io,其实现了Serializable, Compar...

2020-04-22 17:19:43 1161 1

原创 程序员的每日进阶系列—动态排序

我们在写代码的时候经常会碰到这样的需求1、列表查询默认xxx字段升/降序2、按照列表内的某字段进行升/降序排序,当有两条数据一致则按照xxx字段升/降序排序。例如:在这里,我们默认按照新建时间降序排序,如果点击审批额度/日息 则按照他们中的一个进行升/降序排序如果查出的数据有重复的重复部分进行创建时间降序排序。是不是觉得很绕?捋一下思路:没有条件选择查询默认创建时间降序排序...

2020-04-14 17:33:46 569

原创 微服务之接口限流技术guava框架

1、QPS接口流量峰值,同一时间访问的最大人数 (读写) 一般大概约为1000+ 也就是1000QPS。单读的话可以达到3000+。当然写的强度和你的业务复杂度有关,一般业务不复杂,1000+没啥问题,机器是可以顶的住的。2、结合cloud zuul网关设计限流方案首先来了解下 zuul 网关的生命周期每个阶段出现错误的执行情况当 pre 出现异常 ——>error ——&gt...

2020-03-26 11:24:56 919

原创 工具系列——读取.exe文件内的自定义配置文件

前言因为之前开发过APP移动端的应用发布平台,移动端的配置文件解析都有相应的解析工具,从而想为啥不能开发个EXE程序管理平台把三种类型的文件放到同一个项目进行管理,且走相同的逻辑代码?有目标了,开搞!!!!首先网上百度EXE解析配置文件工具…嗯 基本没有不太好写,先看EXE文件包压缩文件结构配置文件结构内容纯json配置这里我们需要读取json文件里面的项目名称productN...

2020-03-24 10:51:19 1400

原创 工具系列——解析iOS配置文件.plist获取自定义属性

废话不多说直接上代码依赖: <dependency> <groupId>com.googlecode.plist</groupId> <artifactId>dd-plist</artifactId> <version>1.20</version...

2020-03-03 10:28:33 499

原创 工具系列——解析安卓配置文件Manifest.xml

最近在写和移动端相关的项目,所以无聊写了个配置文件解析工具类1、引入apk解析jar包依赖 <dependency> <groupId>net.dongliu</groupId> <artifactId>apk-parser</artifactId> ...

2020-03-03 10:17:21 720

原创 springCloud微服务常用组件使用

springcloud       cloud与其说是一个框架,它更像一个为微服务提供解决方案的架构,提供了为实现微服务功能与解决微服务产生问题的所有组件微服务的特点:单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。面向服务:面向服务是说...

2020-01-10 15:25:57 2471

原创 springboot快速启动(十五)——快速整合rocketmq

rocketmq消息队列整合boot框架一、步骤1、启动rocketmq namesrv + broker具体安装与启动可以参考上一篇博客:https://blog.csdn.net/weixin_42083036/article/details/1036948402、导入依赖 <!-- RocketMq客户端相关依赖 --> <dependency&...

2019-12-25 21:50:38 429

原创 消息队列之rocketmq安装启动与常见问题整合

一、 rocketmq 消息队列1、介绍阿里开源的一款高性能、高吞吐量的分布式消息队列中间件。特点:响应快:高并发的情况下1ms 响应情况占比超过99.6%高一致性:使用于金融行业,高性能追踪以及审计模式多模型:支持订阅+点对点支持多方式:支持pull+push两种消息模式高性能:单一队列百万级别更安全:支持单master+多master节点+多master多slave节点2、...

2019-12-25 14:24:22 1845

原创 缓存穿透与雪崩及支付宝2018年面试题剖析

一、什么是缓存? ☞ 缓存就是数据交换的缓冲区(称作:Cache),当某一硬件要读取数据时,会首先从缓存汇总查询数据,有则直接执行,不存在时从内存中获取。由于缓存的数据比内存快的多,所以缓存的作用就是帮助硬件更快的运行。 ☞ 缓存往往使用的是RAM(断电既掉的非永久存储),所以在用完后还是会把文件送到硬盘等存储器中永久存储。电脑中最大缓存就是内存条,硬盘上也有16M或者32M的缓存。 ...

2019-12-05 16:04:43 148

空空如也

空空如也

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

TA关注的人

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