自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鲜衣怒马楼兰月

分享理论,总结示例,验证方法论

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

原创 解决maven打包异常:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2

项目在引入org.junit.Test 做单测时,maven不管是操作package还是install一直报错,提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project gulimall-coupon: There are test failures.Please refer to D:\m1\0613\mall-coupon\target

2020-06-13 22:09:20 65099 15

原创 成功解决IDEA2022 Plugins 连不上、打不开

解决IntelliJ IDEA 2020.1 插件中心一直打不开

2020-05-09 11:27:41 56163 28

原创 如何定位生产环境CPU使用率异常,通过linux命令

快速定位生产环境中CPU使用率异常

2020-03-01 18:08:08 2083 3

原创 调整canal支持高版本,解决打包异常

因为搜索项目要使用canal增量更新elasticsearch的索引,而下载client-adapter(消费者)的默认只支持到elasticsearch的6.4版本,但项目中使用elasticsearch的版本是7.3,为了统一版本,对client-adapter进行改造一、选择canal-master里打开client-adapter项目,等待maven更新好依赖,对elasticsearc...

2020-02-23 23:36:20 1344

原创 如果发现sql语句始终走另一个索引,但是希望它走想要的索引,怎么办

强行指定SQL语句的索引

2020-02-01 23:39:40 2206

原创 阿里代码规约:手动创建线程池,效果会更好哦

规避资源耗尽的风险,高并发下推荐手动创建线程池

2019-08-30 21:54:43 25213 2

原创 基于Spring AOP实现通用异常拦截器

不通过try{}catch(Exception e){}...

2019-05-30 20:59:38 11731

原创 【K8S】常用的 Kubernetes(K8S)指令

创建一个水平自动伸缩器(Horizontal Pod Autoscaler):kubectl autoscale --min= --max= --cpu-percent=暴露一个Deployment为外部服务:kubectl expose deployment --type= --port=

2023-10-24 23:37:28 575

原创 【成功实现】CentOS磁盘扩容

对服务器磁盘扩容操作步骤。

2023-10-24 23:17:48 469

原创 ack k8s ingress 添加路由代理

aks下使用yaml创建代理服务

2022-10-24 13:15:14 611 1

原创 解决:Parameter 0 of constructor in xxx required a bean of type ‘xxx‘ that could not be found.

Parameter 0 of constructor in com.crawler required a bean of type 'java.lang.String' that could not be found.

2022-07-27 11:32:36 9915 1

原创 Linux设置自动更新时间

Linux系统时间自动更新,永久自动更新:1.tzselect选择时区 5 9 12.将选择好的时区追加到/etc/profileecho “export TZ=Asia/Shanghai” >>/etc/profile3.生效source /etc/profile4.设定时间date -s “20210930 11:00:00”hwclock --set --date=“20210930 11:01:00”...

2021-10-24 17:20:50 1525

原创 三个线程按顺序打印ALIALI(LockSupport)

有 3 个独立的线程,一个只会输出 A,一个只会输出 L,一个只会输出 I。在三个线程同时启动的情况下,请用合理的方式让他们按顺序打印 ALIALI。三个线程开始正常输出后,主线程若检测到用户任意的输入则停止三个打印线程的工作,整体退出。private static void printAli() throws InterruptedException { int i = 0; Thread thread1 = new Thread(() -> { while (

2021-06-17 20:36:31 442

原创 解决安装docker-ce过慢 Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds‘)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo在添加阿里云镜像后安装依旧慢:提示:docker Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') Trying other mirror.指定docker的baseurl:vi /etc/yum.rep

2021-02-15 14:41:17 6424 7

原创 解决fastdfs安装时ln: failed to create symbolic link ‘/usr/lib/libfastcommon.so’: File exists

首次添加软链接提示文件已存在[root@localhost fdfs]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.soln: failed to create symbolic link ‘/usr/lib/libfastcommon.so’: File exists解决方法:强制创建软链接ln -sf /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so...

2021-02-05 14:52:28 7329

原创 stream流下的Collectors.groupingBy分组示例

Collectors.groupingBy分组的用法 Student student = new Student(); student.setAge(100); student.setName("马云"); student.setNum("1"); student.setNumber(new BigDecimal("100.0")); student.setSix(1); Student stud

2021-01-27 19:23:32 1144

原创 成功解决添加rocketMQTemplate后,部署应用包失败,提示:Error creating bean with name ‘rocketMQTemplate‘

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rocketMQTemplate' defined in class path resource [org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.class]: Bean instantiation via factory m

2021-01-11 15:30:13 4609 5

原创 LeetCode刷题--笔记有效数字

验证给定的字符串是否可以解释为十进制数字。例如:“0” => true" 0.1 " => true“abc” => false“1 a” => false“2e10” => true" -90e3   " => true" 1e" => false“e3” => 

2020-10-24 18:17:19 157

原创 解决Jenkins安装插件时报错

Jenkins启动以后,打开http://localhost:8080/pluginManager/advanced在最下面设置http://mirror.esuni.jp/jenkins/updates/update-center.json然后提交,然后chenk now一下

2020-08-20 09:24:40 834

原创 ES6 划重点

节流–》技能CD防抖–》大招施法前摇1、ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效2、不存在变量提升var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用3、const声明一个只读的常量。一旦声明,常量的值就不能改变const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全

2020-07-21 17:02:52 140

原创 Visual Studio Code 前端开发10大初始化插件

1.自动开闭标签Auto Close Tag2.自动重命名Auto Rename Tag3.中文包Chinese4.语法检查ESLint5.简化开发HTML CSS SupportHTML Snippets6.语法提示JavaScript ES67.实时服务器Live Server8.浏览器打开页面open in browser9.开发vue工具Vetur10.语法提示Vue 2 Snippets...

2020-07-15 06:35:49 362

原创 list转map的方法,通过Java8的stream流

public Map<Long, Account> getIdAccountMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::getId, account -> account));}

2020-07-02 06:24:49 1005

原创 通过DCL双端检锁机制+volatile禁止指令重排,解决单例模式的线程不安全

一、DCL( double check lock) 双端检锁机制存在指令重排可能使结果不唯一,不一定线程安全,可通过volatile指令解决二、并发多线程下存在问题不加synchronized结果发生改变,直接添加synchronized代码上锁的部分过多,不够灵活三、解决单例模式线程不安全代码示例package com.yfy.multithreading.singleton;/** * @author youfyu * @date 2020/06/28 * 单例模式线程不安全情况下

2020-06-28 22:29:22 1382

原创 递归计算公共生效时间范围

package com.yfy.gulimall.coupon;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;/**@author youfyu@date 2020/06/23/public class Main {/**/public stati

2020-06-23 08:51:42 251

原创 深入理解Java虚拟机---jdk1.8废弃永久代的原因

方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载 的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把 方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与Java堆区 分开来。说到方法区,不得不提一下“永久代”这个概念,尤其是在JDK 8以前,许多Java程序员都习惯在 HotSpot虚拟机上开发、部署程序,很多人都更愿意把方法区称呼为“永久代”(Permanent Gener

2020-06-19 22:21:24 561

原创 解决MQ中消息积压、重复、丢失等问题

消息丢失消息发送出去,由于网络问题没有抵达服务器1.做好容错方法(try-catch),发送消息可能会网络失败,失败后要有重试机制,可记录到系统数据库,采用定期扫描重发的方式。2.做好日志记录,每个消息状态是否都被服务器收到都应该被记录3.做好定期重发,如果消息没有发送成功,定期去数据库扫描未成功的消息进行重发消息抵达Broker,Broker要将消息写入磁盘才算成功,此时Broker尚未持久化完成,宕机。publisher必须加入确认回调机制,确认成功的消息,修改数据库消息状态自从ACK状态

2020-06-14 23:51:33 2115

原创 通过逆向工程自动生成微服务代码,提升70%的研发效率

[email protected]:renrenio/[email protected]:renrenio/[email protected]:renrenio/renren-generator.git

2020-06-12 20:15:07 700

原创 简述RPC框架的原理

RPC的框架,首先加入有一个服务端,把这个接口暴露、发布出去,需要在服务端启动的时候,把这个接口发布到我的一个注册中心里面,而客户端就是那个consumer,在启动的时候,去注册中心里面找发布的一个接口,注入到consumer的服务里面,这样的话就相当于创建了一个start的代理对象,它把服务之间的通信封装成了一个对象的调用,但是底下设计到了比如说网络通信,还有一个协议的转换,netty+序列号的过程...

2020-06-11 23:47:59 183

原创 线程池的运行机制

private ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("thread-call-runner-%d").build();private ExecutorService taskExe = new ThreadPoolExecutor(10,20,200L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedT

2020-06-10 23:50:11 536

原创 IO模型

一、阻塞和非阻塞的区别:针对的对象是调用者阻塞指调用者在调用某一个函数后,一直在等待该函数的返回值,线程处于挂起状态非阻塞指调用者在调用某一个函数后,不等待该函数的返回值,线程继续运行其他程序(执行其他操作或者一直遍历该函数是否返回了值)二、同步和异步的区别:针对的对象是被调用者同步指的是被调用者在被调用后,操作完函数所包含的所有动作后,再返回返回值异步指的是被调用者在被调用后,先返回返回值,然后再进行函数所包含的其他动作三、IO模型①阻塞IO进程调用一个recvfrom请求,但是它不能

2020-06-09 22:46:54 97

原创 CentOS7安装Docker,配置阿里云镜像加速器地址

一、Docker是啥Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image镜像文件。只有通过这个镜像文件才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。image 文件生成的容器实例,本身也是一个文件,称为镜像文件。一个容器运行一种服务,当我们需要的时候,就可以通过dock

2020-05-29 18:36:54 1179 3

原创 集群高并发情况下,通过SnowFlake雪花算法保证生成分布式唯一全局ID

一、需要分布式全局ID的场景在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识如在美团点评的金融、支付、餐饮、酒店;猫眼电影等产品的系统中数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识,此时一个能够生成全局唯一ID的系统是非常必要的二、生成ID的常用解决方案UUID = ==>>> 存入数据库性能差数据库自增主键 = ==>>> 适合单机,不适合集群基于Redis生成全局i

2020-05-26 16:21:05 4218 1

原创 如何通过阿里开源中间件seata的@GlobalTransactional实现分布式事务

一、seata是什么2019年1月蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案,Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务Simple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架官网:http://seata.io/zh-cn/二、seata有什么用分布式事务处理过程由1ID+3组件组成Transaction ID(XID) 全局唯一的事务idTransacti

2020-05-25 22:57:05 6027

原创 通过RestTemplate实现http请求负载均衡,替换httpclient

一、什么是RestTemplateRestTemplate是Spring用于同步client端的核心类,简化了与http服务的通信,并满足RestFul原则,程序代码可以给它提供URL,并提取结果。默认情况下,RestTemplate默认依赖jdk的HTTP连接工具二、注入bean@Configurationpublic class ApplicationContextConfig { @Bean public RestTemplate getRestTemplate() {

2020-05-22 09:45:25 795

原创 dependencyManagement的作用,DependencyManagement和Dependencies的区别

一、dependencyManagement的介绍Maven使用dependencyManagement元素来提供一种管理依赖版本号方式,通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素二、使用dependencyManagement的好处使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号;maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然

2020-05-20 18:41:50 763

原创 分布式数据库里CAP原理与BASE思想

一、传统的ACID数据库ACID四大特性A:原子性 atomicityC:一致性 consistencyI:独立性 isolationD:持久性 durability二、CAP理论的三选二 C:强一致性 A:高可用性 P:分布式容忍性CAP 理论的核心是:一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个CA 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大CP 满足一致性,分区容忍性的系统,通常性能不是特别高AP 满足可用性,分区容忍性的系统,

2020-05-18 22:21:22 196

原创 Spring事务与MySQL数据库隔离级别的关系,方便记忆的Spring事务传播特性

一、MySQL数据库存在的3种读取问题脏读:一个事务有可能读取了另一个事务改写但没提交的数据,如果回滚,那读取的就是无效数据不可重复读:在同一个事务中,多次读取同一数据时,返回的结果却不相同;后续读取可能读取到另一个事务提交的更新数据幻读:一个事务读取几行记录后,另一个事务有插入了几行记录,在后来的查询中,第一个事务就会发现原来没有的记录二、Spring事务与MySQL数据库隔离级别的关系Spring事务是基于数据库隔离级别的封装4种隔离级别,解决3种读取问题,高并发为了下保证ACID,性能会大

2020-05-17 22:06:23 372

原创 Jmeter如何完成模拟压力测试,在并发场景下

在Windows环境下进行JMeter压测,通过多线程在并发场景下测试接口

2020-05-03 20:43:59 1095

原创 在JVM垃圾回收方面(GC),微服务如何完成定制化部署、调优

微服务定制化部署、GC调优

2020-05-02 16:07:49 333

原创 JVM下常用的基本配置参数

基本配置参数

2020-05-01 22:26:37 150

空空如也

空空如也

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

TA关注的人

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