自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好风凭借力

任何技巧都是反复练习的结果

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

原创 nginx 斜杠

nginx中proxy_pass的斜杠配置  Nginx的官网将proxy_pass分为两种类型:不带URI方式:只包含IP和端口号的,不带uri(单个/也算uri),比如proxy_pass http://localhost:8080;带URI方式:在端口号之后有其他路径的,包含了只有单个/的如proxy_pass http://localhost:8080/,以及其他路径,比如pr...

2022-02-07 13:32:00 239

原创 elk搭建

版本:7.3.2环境:JDK11下载安装包:https://www.elastic.co/cn/downloads/安装:一、elasticsearchmkdir /opt/elkcd /opt/elk拷贝压缩包到 .tar zxvf elasticsearch-7.3.2-linux-x86_64.tar.gzmv elasticsearch-7.3.2-linux-...

2021-11-04 18:07:00 127

原创 Spring中使用@Autowired注解静态实例对象

问题最近项目小组在重新规划工程的业务缓存,其中涉及到部分代码重构,过程中发现有些工具类中的静态方法需要依赖别的对象实例(该实例已配置在xml成Spring bean,非静态可以用@Autowired加载正常使用),而我们知道,类加载后静态成员是在内存的共享区,静态方法里面的变量必然要使用静态成员变量,这就有了如下代码:@Componentpublic class TestClass {...

2020-09-30 16:41:00 152

原创 服务器环境搭建

框架使用:maven的setting文件修改运行环境配置:dev服务器环境搭建:一、docker安装1、卸载旧版本sudo yum remove docker \​ docker-client \​ docker-client-latest \​ docker-common \​ docker-latest \​ ...

2020-09-03 13:10:00 157

原创 nexus问题

问题1:maven deploy时,上传成功但是依然报错。是因为会重复上传。而releases库是默认不允许重复上传的。解决办法有两个:1、调整本的deploy依赖,避免上传两次2、调整nexus的setting,让nexus 允许releases 重复上传浏览器登录nexus管理界面–>设置图标–>Repository–>Repositories–>maven...

2020-08-24 15:56:00 163

原创 useUnicode=true&characterEncoding=UTF-8 的作用

我们在连接mysql数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8 ,但是问什么要添加呢?添加的作用是:指定字符的编码、解码格式。例如:mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEncoding=UT...

2020-07-28 11:06:00 107

原创 SpringBoot项目启动时自动执行指定方法

在SpringBoot中,有两种接口方式实现启动执行,分别是ApplicationRunner和CommandLineRunner,除了可接受参数不同,其他的大同小异第一种方式:ApplicationRunnerimport org.springframework.boot.ApplicationArguments;import org.springframework.boot.Ap...

2020-07-20 14:08:00 69

原创 springboot自定义消息转换器HttpMessageConverter

在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制就是利用HttpMessageConverter来实现的,Spring内置了很多HttpMessageConverter,比如MappingJackson2HttpMessageConverter,StringHttpMessage...

2020-07-17 17:59:00 69

原创 kubernetes资源类别介绍

https://www.cnblogs.com/zhangb8042/p/9572701.html

2020-07-10 17:23:00 60

原创 红黑树与平衡二叉树的比较

RB-Tree和AVL树作为BBST,其实现的算法时间复杂度相同,AVL作为最先提出的BBST,貌似RB-tree实现的功能都可以用AVL树是代替,那么为什么还需要引入RB-Tree呢?红黑树不追求"完全平衡",即不像AVL那样要求节点的|balFact| <= 1,它只要求部分达到平衡,但是提出了为节点增加颜色,红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在...

2020-07-10 17:08:00 68

原创 Feign Client的超时时间

Feign Client的超时时间在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能会出现Read Timeout这个异常,因此定制化配置超时时间就有必要了。Feign Client Configuration# 默认开启f...

2020-07-01 11:08:00 77

原创 maven-source-plugin 自动将源码打包并发布

maven-source-plugin提供项目自动将源码打包并发布的功能,在需要发布源码项目的pom.xml文件中添加如下代码即可:<!-- Source attach plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-sourc...

2020-05-10 17:14:00 107

原创 maven archetype 构建项目

创建自定义的脚手架1.首先需要创建一个自己的springboot项目2.对自己的脚手架创建一个包名和名称3.这里可以选一些你自己常用的一些依赖,当然进入项目自己添加需要的依赖4.配置自己的项目结构和相关需要的工具,注意:因为脚手架里面目录中必须有至少一个文件,否则使用该脚手架新建项目时不会创建出对应空目录。这时我的项目结构,你可以根据自己的习惯进行定义。5.根据自己的项目结构创建脚手架,...

2020-05-10 08:28:00 67

原创 IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8

idea错误如下检查下面几个地方设置是否一致...1.ProjectStructure下(File->Project Structure...) Sources选项卡->Languate level Dependencies选项卡->Module SDK2.Settings下找到Java Compiler里边有两个设置Project byte...

2020-03-09 10:35:00 68

原创 线上服务器CPU占用率高如何排查定位

线上服务器CPU占用率高如何排查定位环境centos7 1核2GBJava8模拟cpu占用高新建一个名为jvm-learn的springboot项目模拟代码如下import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBoot...

2020-02-26 17:50:00 57

原创 idea看代码

有时候看源码的时候,会经常性的把复杂类的关系搞混,下次碰到这种情况,应该从上到下把继承关系和接口理解清楚,这样看源码就会有一条主线。 1. 看继承关系 快捷键 crtl + H查看hierarchy,只能查看向上向下继承关系,而不能看实现了哪些接口。 右键选择Diagrams(也可以使用快捷键ctrl+alt+u(mac:op+com+...

2020-02-26 13:36:00 104

原创 mysql慢日志的配置与查询

1.如果你只是想确认mysql加载的是哪个配置文件那你可以使用以下方法进行确认。mysql --verbose --help | grep my.cnf会得到类似以下的几个地址,默认是在/etc/下的my.cnf。/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf2.如果你没有使用过my.c...

2020-02-22 23:55:00 72

原创 Mysql执行顺序

一、mySql的执行顺序mysql执行sql的顺序从 From 开始,以下是执行的顺序流程开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果1、FROM table1 left join table2 on 将table1和table2中的数...

2020-02-22 22:39:00 84

原创 读取资源文件ResourceUtils

第一种方法File file = ResourceUtils.getFile("classpath:template/科研项目模板.xlsx");//获取文件的相对路径 可在控制台打印查看输出结果String filePath = ResourceUtils.getFile("classpath:template/科研项目模板.xlsx").getPath();第二种方法//直接...

2020-02-21 14:20:00 82

原创 军规(一)

军规适用场景:并发量大、数据量大的互联网业务; 军规:介绍内容; 解读:讲解原因,解读比军规更重要一、基础规范 1.必须使用InnoDB存储引擎, 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2.必须使用UTF8字符集, 解读:万国码,无需转码,无乱码风险,节省空间 3.数据表、数据字段必须加入中文注释, 解读:N年后谁tm...

2020-02-18 00:11:00 71

原创 Spring声明式事务@Transactional 详解,事务隔离级别和传播行为

@Transactional注解支持9个属性的设置,这里只讲解其中使用较多的三个属性:readOnly、propagation、isolation。其中propagation属性用来枚举事务的传播行为,isolation用来设置事务隔离级别,readOnly进行读写事务控制。@Service@Transactional(readOnly = true)public class ...

2020-02-17 23:36:00 42

原创 LVS+KeepAlived+Nginx高可用实现方案

https://blog.youkuaiyun.com/lupengfei1009/article/details/86514445LVS+KeepAlived+Nginx高可用实现方案

2020-02-14 21:59:00 45

原创 隔离级别的实现原理

隔离级别的实现原理https://www.cnblogs.com/wade-luffy/p/8686883.html#_label7目录排他锁(Exclusive Lock)共享锁(Share lock)“丢失修改”的问题读未提交(最低的事务隔离级别)-脏数据读已提交-不可重复读可重复读-幻读Serializable (串行化)MVCC(多版本并发控制)原理...

2020-02-14 17:47:00 71

原创 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式

系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式PS:以下是性能測试的主要概念和计算公式,记录下:一.系统吞度量要素:一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust对CPU消耗越高,外部系统接口、IO影响速度越慢。系统吞吐能力越低,反之越高。系统吞吐量几个重要參数:QPS(TPS)、并发数、响应时间...

2020-02-11 10:07:00 92

原创 限流实现与解决方案

https://blog.youkuaiyun.com/qq_32447301/article/details/86659474一、限流操作:为什么限流,是防止用户恶意刷新接口,因为部署在外部服务器,并且我们采用websocket的接口实现的,公司没有对硬件升级,导致程序时长崩溃,为了解决这个问题,请教公司的大佬,提出一个方案,限流操作。但是最后找到原因所在,解决了,吞吐量1万6左右,用的测试服务器,进...

2020-02-09 08:10:00 98

原创 mysql事务,select for update,及数据的一致性处理

在MySQL的InnoDB中,预设的Tansaction isolation level 为REPEATABLE READ(可重读)在SELECT 的读取锁定主要分为两种方式:  SELECT ... LOCK IN SHARE MODE   SELECT ... FOR UPDATE  这两种方式在事务(Transaction) 进行当中SELECT 到同一个数据表时,都必须等待其它事...

2020-02-08 10:14:00 65

原创 **MySQL锁机制与用法分析**

原文:https://www.jb51.net/article/139113.htmMySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁;BDB存储引擎采用的是页面锁,但也支持表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。MySQL这3种锁的特性可大致归纳如下:(1)表级锁:开销...

2020-02-08 08:51:00 44

原创 死锁的排查

JVM锁:jmateMySql锁:1、查询有哪些再用的表被锁了show open tables where in_use = 0;2、被锁的这些表中如果有你要使用的表,那么释放。unlock tables;

2020-02-07 13:10:00 45

原创 系统中异常的设计与处理

系统中异常的设计与处理

2020-02-06 09:13:00 45

原创 Spring如何处理线程并发问题

在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域,因为Spring对一些Bean中非线程安全状态采用ThreadLocal进行处理,解决线程安全问题。ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。同步机制采用了“时间换空间”的方式,仅提供一份变量,不同的线程在访问前需要获取锁,没...

2020-01-20 17:13:00 42

原创 ThreadLocal作用、场景、原理

1.ThreadLocal 是什么?在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。在JDK5....

2020-01-20 17:11:00 42

原创 优雅的停止线程

Thread类中interrupt()、interrupted()和isInterrupted()方法详解

2020-01-20 17:10:00 41

原创 线程池参数设置(二)

在如今的多核处理器时代,多线程技术发挥着巨大的作用,尤其对于大批量处理同类型IO密集型的任务,例如全库全表查找数据时,多线程是提升速度和性能的利器。 近期发布的另一篇文章已经详细介绍了线程池的技术原理。但平时的开发工作中,我们可能更加关注的是线程池的使用,线程数设置多大啊?队列大小设置多大啊,等问题。 这篇文章主要是针对前段时间对线程池的使用过程中,总结了几点参数设置方面的建...

2020-01-13 16:15:00 100

原创 ThreadPoolExecutor线程池参数设置技巧

一、ThreadPoolExecutor的重要参数corePoolSize:核心线程数核心线程会一直存活,及时没有任务需要执行当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭queueCapacity:任务队列容量(阻塞队列)当核心线程数达到最大时,新...

2020-01-13 15:36:00 60

原创 maven 常用标签

依赖dependencies、dependency、artifactId、groupId、version配置properties、自定义version依赖dependencyManagement打包插件build、plugins仓库repositories多版本profiles

2020-01-12 17:36:00 52

原创 一篇文章彻底搞懂“分布式事务”

分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免。本篇文章将通过详解分布式事务的一致性,以及分布式事务实战解决方案,帮助大家搞懂分布式事务,推荐收藏。01 为什么需要分布式事务由于近十年互联网的发展非常迅速,很多网站的访问越来越大,集中式环境已经不能满足业务的需要了,只能按照业务为单位进行数据拆...

2020-01-10 16:05:00 66

原创 分布式事务常见解决方案

分布式事务常见解决方案https://blog.youkuaiyun.com/Stream_who/article/details/95757844

2020-01-10 15:36:00 62

原创 基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战

美团配送系统架构演进实践1 极速了解MQ介绍Rabbitmg用于解决分布式事务必须掌握的5个核心概念一款分布式消息中间件,基于erlang语言开发, 具备语言级别的高并发处理能力。和Spring框架是同一家公司。支持持久化、高可用核心5个概念:Queue: 真正存储数据的地方Exchange: 接收请求,转存数据Bind: 收到请求后存储到哪里消息生产者:发送数据的应用消...

2020-01-10 14:07:00 77

原创 分布式事务——两阶段提交

在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica), 这些副本会放置在不同的节点上。这些数据节点可能是物理机器,也可能是虚拟机。为了对用户提供正确的CURD等语意,我们需要保证这些放置在不同节点上的副本是一致的,这就涉及分布式事务的问题。本文介绍分布式事务处理方案之一的两阶段提交协议。分布式事务分布式事务是指发生在多个数据节点之间的事务,分布式事务比单机事务要...

2020-01-10 14:03:00 74

原创 分布式事务——三阶段提交

本文介绍分布式事务处理方案之一的三阶段提交协议。分布式事务分布式事务是指发生在多个数据节点之间的事务,分布式事务比单机事务要复杂的多。在分布式系统中,各个节点之间在是相互独立的,需要通过网络进行沟通和协调。由于存在事务机制,可以保证每个独立节点上的数据操作可以满足ACID。但是,相互独立的节点之间无法准确地知道其他节点的事务执行情况。所以从理论上来讲,两个节点的数据是无法达到一致的状态。如果...

2020-01-10 14:02:00 58

空空如也

空空如也

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

TA关注的人

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