自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(286)
  • 资源 (2)
  • 收藏
  • 关注

原创 maven安装及配置(详细版)

1.下载:方式一可以从官方下载,下载页面:http://maven.apache.org/download.cgi方式二:或者题主提供的版本下载maven安装包提取码:ysns下载好后是一个压缩文件2.安装:maven压缩包解压到一个没有中文,空格或其他特殊字符的文件夹内即可使用。3.配置MAVEN_HOMEmaven 的使用是在jdk的基础上,所以电脑必须有jdk第一步:新增环境变量:MAVEN_HOME第二步:在path环境变量中添加:%MAVEN_HOME%\bin

2020-08-26 11:33:40 199571 49

转载 SpringCloudFeign引入feign-httpclient导致的坑

引入新技术栈时,一定要阅读相关文档了解组件的配置化参数信息(默认值往往在遇到高并发场景无法满足),特别是对于基于springboot构建的应用,往往由于自动化的配置,导致忽略了重要参数的指定。

2024-04-16 20:45:48 7

原创 spring cloud sleuth入门使用

详细介绍Spring Cloud 系列之 Sleuth 链路追踪(一)Spring Cloud Sleuth 为 Spring Cloud 实现了分布式跟踪解决方案。兼容 Zipkin,HTrace 和其他基于日志的追踪系统,例如 ELK(Elasticsearch 、Logstash、 Kibana)。链路追踪:通过 Sleuth 可以很清楚的看出一个请求都经过了那些服务,可以很方便的理清服务间的调用关系等。性能分析。

2024-03-10 13:36:53 956

原创 jar手动上传到Nexus私服

在maven项目中我们可以通过相关配置可以将项目打包成jar,然后deploy上传到私服中。要是别人提供的第三方jar,我们该如何上传到nexus私服中呢?

2024-01-25 19:13:25 771

原创 Nacos的统一配置管理

nacos配置中心使用介绍

2024-01-10 17:39:07 1022

原创 ideal一键部署SpringBoot项目jar包到服务器

我们在开发环境部署项目一般通过ideal将项目打包成jar包,然后连接linux服务器,将jar手动上传到服务中,重启服务。每次总是循环这一系列的操作,这都是一些固定的流水线操作,对于流水线型的操作最适合交给程序去做,我们只需要把那些个必要变量(路径/端口)抽离出来变成外部配置文件,这样我们就完全可以实现自定义流水线操作。

2023-11-07 17:02:28 1744

原创 使用arthas出现UnsupportedOperationException: class redefinition failed: attempted to change the scheam

我一问开发组长,果然在测试环境上开启了Skyworking,于是关闭Skyworking,再次使用trace追踪controller方法,不再出现异常。由于才接收项目,我也不知道到它是被什么修改了,一脸茫然。于是网上找出现这个异常信息,通过arthas的jad命令反编译代码发现,确实被修改了。经过一顿操作,发现别人也出现过和我一样的问题,是因为。

2023-10-26 15:19:35 1176

转载 arthas使用介绍

一、Attach 黏附一个进程1.1 准备代码1.2 启动Demo1.3 启动arthas1.4 通过浏览器连接arthas二、常用命令2.1 dashboard仪表盘2.2 cls 清屏2.3 thread 线程2.4 jad 反编译类2.5 watch 监视2.6 退出arthas三、基础命令3.1 help3.2 cat3.3 grep3.4 pwd3.6 reset3.8 quit3.9 stop四、JVM相关命令详解Arthas教程 - 命令篇 (二)Arthas使用教程(8大分类)

2023-10-23 20:13:36 404

原创 ideal远程Debug部署在服务器上的服务详解

在开发的时候我们通常在本地代码上debug程序,但是服务部署到了开发环境服务器上,我们也想调试远程服务,那么怎么样才能调试远程服务像调试本地代码一样方便呢?ideal支持远程调试代码,只需要简单的配置即可。

2023-10-13 16:52:58 1020

原创 调用feign接口时手动设置请求头信息

我们在provider服务有些参数是从请求头中获取的,但是consumer服务在调用feign接口时,本身接口请求头中并没有provider需要的的参数;此时想手动的将一些参数设置到feign接口!如果我们在@RequestHeader指定了请求头参数名称,那么取的时候也需要使用对应的名称。该方式是在方法执行前,先获取需要的参数,后将取出来的值作为参数传递到待执行的方法中。

2023-09-20 15:14:53 1912

原创 使用HandlerInterceptor 中注入其他service时为null分析及解决

在拦截器配置中将拦截器提前暴露,交给spring容器管理。2、拦截器添加@Component,交给容器管理。

2023-09-15 18:00:04 615 1

原创 The dependencies of some of the beans in the application context form a cycle异常分析及解决

改成。

2023-09-15 17:58:06 4031

原创 使用feign时提供者从request中获取不到参数值解决方法

由于在consumer中子链路调用feign接口,request不支持继承。在调用feign接口时原有的request已经不会跟随到新的请求中,所以provider中request是空的,获取不到参数值。在开发中,A项目需要在后端调用B项目的feign接口。我们知道feign接口是不支持HttpServletRequest作为参数的,所以feign接口如下。request中的值手动设置到feign请求的http调用上。

2023-09-08 17:34:04 655

原创 maven配置nexus私服详解

前提是已经搭建好了私服,我们需要在本地maven中配置相关参数,连接私服作为仓库;

2023-09-06 18:20:47 1214

原创 Feign在实际项目中使用详解

我们在平时学习中简单知道调用feign接口或者做服务降级;但是在企业级项目中使用feign时会面临以下几个问题: 1. Feign客户端应该如何提供? 2. Feign调用的接口要不要进行包装? 3. Feign如何抓取业务生产端的业务异常?

2023-08-27 21:04:11 364

原创 Dubbo学习

Dubbo【 Dubbo概念(什么是分布式系统、什么是RPC、核心组件、Zookeeper注册中心 )】(一)-全面详解(学习总结—从入门到深化)Dubbo【 Dubbo入门案例(服务消费者配置、服务消费者代码编写、IDEA开启Dashboard 、序列化协议安全、地址缓存)】(二)-全面详解(学习总结—从入门到深化)Dubbo【Dubbo高级特性(重试机制、多版本 、负载均衡 、集群容错 、服务降级、服务限流原理 、结果缓存) 】(三)-全面详解(学习总结—从入门到深化)

2023-07-23 15:39:32 164

原创 ThreadLocal学习路径

1、ThreadLocal 超强图解,这次终于懂了~(深入介绍)2、保姆级教学,22张图揭开ThreadLocal(总结性介绍)3、多图深入分析ThreadLocal原理(源码方式介绍)4、线程本地存储 ThreadLocal(一般接介绍)

2023-07-22 14:54:52 108

转载 Java异常处理和最佳实践(含案例分析)

最近在代码CR的时候发现一些值得注意的问题,特别是在对Java异常处理的时候,比如有的同学对每个方法都进行 try-catch,在进行 IO 操作时忘记在 finally 块中关闭连接资源等等问题。回想自己对 java 的异常处理也不是特别清楚,看了一些异常处理的规范,并没有进行系统的学习,所以为了对 Java 异常处理机制有更深入的了解,我查阅了一些资料将自己的学习内容记录下来,希望对有同样困惑的同学提供一些帮助。

2023-07-22 14:13:01 163

转载 @Retryable(spring的重试机制)

在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。

2023-07-17 09:57:40 498

转载 线程本地存储 ThreadLocal

内存泄漏(Memory leak)本质上,内存泄漏可以定义为:当进程不再需要某些内存的时候,这些不再被需要的内存依然没有被进程回收。造成内存泄漏的原因:不再需要(没有作用)的实例对象依然存在着强引用关系,无法被垃圾收集器回收是通过递增的 AtomicInteger 作为 ThreadLocal 的 hashCode 的;

2023-07-15 11:43:17 119

转载 多图深入分析ThreadLocal原理

主要学习一下ThreadLocal的原理

2023-07-15 10:11:30 94

原创 WebSocket使用记录

2.3 添加WebSocketServer。

2023-07-11 16:31:04 881

原创 rabbitmq如何保证消息的可靠性传输(简述版本)?

我需要从三点去考虑,

2023-07-11 10:11:43 1042

原创 通过自定义线程池和completableFuture实现数据批量插入数据库

大数据批量新增or修改太慢太Low,线程池、CountDownLatch、CompletableFuture完美解决多线程批量插入数据到mysql基于CompletableFuture+多线程+内存分页实现的批量查询技巧

2023-07-09 20:46:40 680

原创 Optional使用详解

optional使用介绍

2023-07-05 09:07:02 157

原创 六大设计模式原则

设计模式原则简单介绍

2023-07-04 17:15:20 341

原创 线程的 run()和 start()有什么区别

调用 start 方法方可启动线程并使线程进入就绪状态,而 run 方法只是thread 的一个普通方法调用,还是在主线程里执行。

2023-07-03 17:20:26 227

原创 springcloudalibaba面试点

Nacos经典7道面试题微服务学习之面试知识相关总结(Nacos、MQ)Nacos、Sentinel相关面试问题

2023-06-29 15:46:27 128

原创 RabbitMQ Exchange类型和工作模式介绍

生产者发消息,启动多个消费者实例来消费消息,每个消费者仅消费部分信息,可达到负载均衡的效果。1.消息产生者将消息放入队列消费者可以有多个,消费者1,消费者2同时监听同一 个队列,消息被消费。C1 C2共同争抢当前的消息队列内容,谁先拿到谁负责消费消息(隐患:高并发情况下,默认会产生某一个消息被多个消费者共同使用,可以设置一个开关(syncronize) 保证一条消息只能被一个消费者使用)。

2023-06-25 16:00:46 598

原创 Redis的内存淘汰策略

Redis的内存淘汰策略的选取并不会影响过期的key的处理。内存淘汰策略用于处理内存不足时的需要申请额外空间的数据;过期策略用于处理过期的缓存数据。

2023-06-23 11:12:48 489

原创 Redis过期键的删除策略

我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。

2023-06-23 09:39:35 1398

原创 Redis持久化机制介绍

AOF持久化(即Append Only File持久化),则是将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新将持久化的日志中文件恢复数据。RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保 存到硬盘中,对应产生的数据文件为dump.rdb。2、AOF(Append-only file)持久化方式: 是指所有的命令行记录以 redis 命令请 求协议的格式完全持久化存储)保存为。持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。

2023-06-23 09:33:47 291

原创 Redis实现分布式锁详解

分布式锁满足分布式系统或集群模式下多进程可见并且互斥的锁。分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路可见性:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是并发编程中指的内存可见 性,只是说多个进程之间都能感知到变化的意思互斥:互斥是分布式锁的最基本的条件,使得程序串行执行高可用:程序不易崩溃,时时刻刻都保证较高的可用性高性能。

2023-06-15 19:50:29 3503

原创 Dubbo面试题

RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简言 之,RPC使得程序能够像访问本地系统资源一样,去访问远端系统资源。比较关键的一些方面包括:通讯协议、序列化、资源(接口)描述、服务框架、性能、语言支持等。简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器 (服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。

2023-06-15 15:50:46 674

原创 Async 使用详解

使用 @Async可以实现程序的异步执行,完成程序优化;被调用方法和调用方法处理同一个类中会导致异步失效同一个类中。失效的代码void a() {this . b();} }正常的代码void a() {} }从@Async案例找到Spring框架的bug:exposeProxy=true不生效原因大剖析+最佳解决方案。

2023-06-02 13:53:49 3869

原创 ThreadLocal介绍

线程本地存储 ThreadLocal面试中再问到ThreadLocal,应该这么答ThreadLocal类(线程本地存储)详解

2023-05-31 14:33:36 64

原创 基于数据库实现乐观锁

悲观锁可以实现对于数据的串行化执行,比如syn,和lock都是悲观锁的代表,同时,悲观锁中又可以再细分为公平锁,非公平锁,可重入锁,等等乐观锁一般会使用版本号机制或 CAS 算法实现,CAS 算法相对来说更多一些,这里需要格外注意。版本号机制一般是在数据表中加上一个数据版本号 version 字段,表示数据被修改的次数。当数据被修改时,version 值会加一。

2023-05-23 15:30:05 3280 1

原创 Redis实现全局唯一Id

id的规律性太明显受单表数据量的限制场景分析:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。场景分析二:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。UUIDRedis自增snowflake算法数据库自增每天一个key,方便统计订单量。

2023-05-21 23:35:49 1411

原创 Redis缓存更新策略、主动更新策略、穿透、雪崩、击穿实战

查询数据一般都是直接查询数据库,返回给前端。为了提高效率实际项目中会将基础数据等热点数据放入redis缓存中。

2023-05-19 11:03:31 915 1

原创 Nginx详解

是一个轻量级的高性能的基于 Http 的反向代理服务器静态 web 服务器。Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强。Nginx 最初是由俄罗斯人 Igor Sysoev(伊戈尔·赛索耶夫)使用 C 语言为俄罗斯访问量第 二的 Rambler.ru 站点开发的一款服务器。2004 年 10 月发布第一个版本。Nginx 的官网国内大型的站点,例如百度、京东、新浪、网易、腾讯、淘宝等,都使用了 Nginx。

2023-05-18 14:08:09 9

GetTree.zip

学习使用

2021-07-15

xxl-job-admin.jar

xxl-job-admin.jar运行文件

2021-04-17

空空如也

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

TA关注的人

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