自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

健康平安的活着的专栏

给我一次重生的机会,好好活着。

  • 博客(1385)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用maven-helper插件解决jar包冲突【经典版】

首先,解决idea中jar包冲突,使用maven的插件:maven helper插件,它能够给我们罗列出来同一个jar包的不同版本,以及他们的来源,但是对不同jar包中同名的类没有办法。

2024-01-30 23:40:50 1795

原创 设计模式 2 代理模式-静态或者动态

以房东,中介,买卖房子为例子,说明什么是代理,说白就是房东卖房子因为一些利益,或者怕麻烦,没有经商头脑等各种原因,不能和客户直接进行接触买卖房子,这时候需要中介代理其进行卖房子。......

2022-07-17 18:52:34 453

原创 linux实战项目经验得到的常用linux命令(-)

一.Linux系统的概述1.1 linux系统概述Unix是一个强大的多用户、多任务操作系统。1.2 linux的目录结构root管理员的home目录是root,其他用户的home目录是在home目录下1.3 linux的学习地址以下基本知识点是用来学习工作。https://www.orchome.com/100大神的学习文章二 .使用最频繁最高常用命令2.1 查看tomcat的进程号和端口号1.获得进程号ps -ef|grep tomcat...

2021-07-03 07:58:41 464 1

原创 个人能力与目标-顶级程序员

顶级程序员:1.基础知识要扎实,各种算法,数学功底,各种底层原理要通。2.业务项目要出彩,要搞出牛逼的作品来,开源项目源码要阅读,不断学习新知识。3.各种软件技能要有,沟通能力,做ppt演讲的能力,英文能力,写作能力,总结归纳能力。代写java系统,网站,大数据分析挖掘,nlp自然语言处理....都看到这里了,就顺手点击左上角的【关注】按钮,点击右上角的小手,给个评论,关注一下...

2017-05-18 11:06:50 1030 2

原创 springcloud第4季 springcloud-alibaba之sentinel

sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从等多个维度来帮助开发者保障服务的稳定性。

2024-04-20 08:41:46 405

原创 springcloud第4季 springcloud-alibaba之nacos篇-配置中心

namespace,group,dataid 之间的关系。

2024-04-20 00:11:48 268

原创 springcloud第4季 springcloud-alibaba之nacos篇通信和动态刷新

nacos是一个分布式的配置中心和注册发现中心。nacos是 dynamicmingservicenacos=config+bus 实现动态刷新;

2024-04-09 15:15:10 280

原创 多线程JUC 第2季 JMM的内存结构和作用

jmm就是屏蔽各个操作系统以及硬件之间的访问差异。实现让java程序在各种平台下能达到一致的访问效果。围绕着多线程的原子性,可见性,和有序性展开的。正常情况cpu的的运行,需要从缓存中读取数据,缓存从内存加载数据。但是就存在一个问题,内存和缓存数据存在不一致的问题。解决的策略就是JMM,

2024-04-08 22:47:14 179

原创 springcloud第4季 springcloud-gateway网关的功能作用

网关可以实现: 权限过滤拦截,请求转发;组包拆包,加密解密,报文解析,协议转换等功能。cloud gateway本身也是一个微服务,需要注册进服务到注册中心,从注册中心拉取可用服务。

2024-04-06 23:17:53 245

原创 springboot 在fegin调用中sdk集成主工程,A component required a bean of type.....

1.主工程启动类(这里是FeginApp8081)所在的路径,和调用sdk的类,这里是FeginJiekou接口类型,其所在目录和主工程目录启动一致。则不需要在启动加制定扫描注解。;2.主工程启动类(这里是FeginApp8081)所在的路径,和调用sdk的类,这里是PayFeginApi接口类型,其所在目录和主工程目录启动不一致。则需要在启动加制定扫描注解。;如果不指定基础扫描包,只写。

2024-04-06 09:19:51 286

原创 springcloud第4季 使用resilience4j实现服务流量治理

断路器是一种开关装置,当某个服务单元发生故障后,通过断路器向调用方返回一个符合预期,可处理的备选响应。保证服务不会被长时间,不必要的占用,从而避免在分布式系统故障的蔓延、乃至雪崩。

2024-04-05 11:49:58 374

原创 多线程JUC 第2季 synchornized和Lock锁(重入,公平)

synchronized,和lock锁都是一种悲观锁。悲观锁适用于写多场景,乐观锁适用于读多场景,实现策略有:版本号和cas自旋算法。

2024-03-30 19:11:37 163

原创 springcloud第4季 使用micrometer+zipkin实现链路追踪5

链路最终是在微服务中,一个请求经过的节点服务,每个服务的耗时,执行状态的完美展现。其中使用micrometer。

2024-03-30 17:41:35 214

原创 springcloud第4季 微服务间使用fegin进行调用以及超时,重试等功能4

openfegin是一个声明式的web客户端;只需要创建一个rest接口并在该接口上添加注解@FeginClient即可。openfeign基本上就是当前微服务之间调用的事实标准。

2024-03-27 21:39:46 257

原创 使用mybatis的@Interceptor实现拦截sql

拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。

2024-03-25 20:26:32 1617

原创 工作中遇到的疑难杂症,以及解决办法

记录工作中遇到问题以及解决办法

2024-03-25 17:35:27 365

原创 springboot 中Aop注解切面实现收集日志与统计耗时2

@Before:前置通知, 在方法执行之前执行@Aroud:环绕通知, 围绕着方法执行@After:后置通知, 在方法执行之后执行@AfterReturning:返回通知, 在方法返回结果之后执行@AfterThrowing:异常通知, 在方法抛出异常之后

2024-03-25 10:35:34 336

原创 springcloud第4季 loadbalance负载均衡的操作3

一 loadbalance1.1 负载均衡的介绍

2024-03-24 07:49:06 361

原创 springcloud第4季 注册中心consul的使用配置(含持久化)2

一 注册中心1.1 consul的介绍

2024-03-24 07:47:59 127

原创 java篇 让java对象具有链式调用

1.在类中引入注解@Accessors(chain = true),引入后,不要在使用自定义的getter,setter方法。

2024-03-23 10:54:24 202

原创 多线程JUC 第2季 重入锁中lock和trylock方法

lock方法是一种阻塞性的获取锁的方式,当调用一个对象的lock方法时,如果锁当前被其他线程持有,那么当前线程将会被挂起(即阻塞),直到锁被释放,这种机制确保了只有一个线程能够在同一时间访问被锁保护的代码块或资源,从而避免了并发问题,但是,它也可能导致线程长时间等待,特别是在高并发环境下,如果锁的持有者因为某些原因(如死锁)未能及时释放锁,那么其他线程可能会一直等待下去。tryLock方法则是一种非阻塞性的获取锁的方式,当调用一个对象的tryLock方法时,如果锁当前可用,那么将成功获得锁并继续执行;

2024-03-17 21:55:29 340

原创 多线程JUC 第2季 wait和notify唤醒机制

1) 使用wait()、notify()和notifyAII()时需要先对调用对象加锁。否则直接调用的话会抛出 IllegalMonitorStateExceptiona。2) 调用wait()方法后,线程状态。由RUNNING变为WAITING,并将当前线程放置到对象的等待队列。3) notify()或notifyAlI()方法调用后,等待线程依旧不会从wait()返回,需要调用notify()或notifAII()的线程释放锁之后,等待线程才有机会从wait()返回。

2024-03-17 21:02:21 793

原创 多线程JUC 第2季 Future接口与completablefuture接口异步

如果主线程需要执行一个耗时的计算任务,可以使用future把这个任务放到异步线程中执行。主线程继续处理其他任务或者先行结束,再通过future获取计算结果。future接口可以为主线程开一个分支任务,专门为主线程处理耗时和费力的复杂业务。特点:多线程,又返回值,异步任务。

2024-03-14 23:08:22 329

原创 springcloud第3季 consul服务发现注册,配置中心2

为何要用注册中心?1.A服务调用B服务,使用ip和端口,如果B服务的ip或者端口发生变化,服务A需要进行改动;2.如果在分布式集群中,部署多个服务B,多个服务X,服务Y等调用服务B,B发生变动,其他服务需要改动内容,波及范围太大,维护有成本。改成从注册中心拿到服务名称,服务名称对应ip和端口随变改动,对调用方A来说无感知。EUREAK为何不使用?1.官网停止更新;2.对新手使用不太友好,自我保护机制,动不动就提示。

2024-03-10 08:03:27 539

原创 springcloud第4季 项目工程搭建与需求说明1

订单接口调用支付接口。

2024-03-10 07:51:13 432

原创 idea中2022.03.04版本和jdk17搭配使用

idea2022的安装,自行解决。jdk17的安装,自行解决。见IDEA2022.3.2安装教程

2024-03-09 12:09:42 391

原创 多线程JUC 第2季 volatile变量的使用

当写一个volatile变量时,jmm会把该线程对应的本地内存中共享变量值立即刷回主内存中。当读一个volatile变量时,jmm会把该线程本地的内存值设置无效,重新回到主内存中读取最新的值。所以,

2024-03-09 09:14:17 376

原创 高可用架构实现流量治理的策略

1.平均故障间隔(Mean Time Between Failure,简称 MTBF):表示两次故障的间隔时间,也就是系统正常运行的平均时间,这个时间越长,说明系统的稳定性越高;2.故障恢复时间(Mean Time To Repair,简称 MTTR):表示系统发生故障后恢复的时间,这个时间越短,说明故障对用户的影响越小。可用性(Availability)的计算公式:Availability= MTBF / (MTBF + MTTR) * 100%

2024-03-04 21:48:02 356

原创 多线程JUC 第2季 LockSupport的等待唤醒机制

locksupport阻塞当前线程和唤醒指定阻塞的线程。

2024-03-03 10:38:01 341

原创 多线程JUC 第2季 中断线程

1.public void interrupt(): 实例方法,仅仅是设置线程中断状态为true,发起一个协商而不会立刻停止线程。静态方法,判断当前线程是否中断并清除当前线程的中断状态。做两件事:a)返回当前线程的中断状态,测试当前线程是否已经中断。b)将当前线程的中断状态清零并重新设置为true,清除线程的中断状态。3.public boolean isinterrupted():实例方法判断当前线程是不是中断,检测中断标志位。

2024-03-03 07:57:31 407

原创 java中Timer和Timertask的关系

1.Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类;2.Timer和TimerTask成对出现,Timer是定时器,TimerTask是定时任务。换句话说,定时任务TimerTask是给定时器Timer执行的具体任务。TimerTask实现Runnable接口的run方法。3.每一个Timer仅对应唯一一个线程。Timer不保证任务执行的十分精确。Timer类的线程安全的。

2024-03-02 11:54:16 1038 1

原创 ConcurrentHashMap的putIfAbsent方法

putIfAbsent方法主要是在向ConcurrentHashMap中添加键—值对的时候,它会先判断该键值对是否已经存在。

2024-02-28 15:43:16 539

原创 springboot项目打成含crud操作的sdk集成到springboot启动引擎项目

sdk项目目录中只有基础的service类以及mybatis操作数据库的相关文件,service类中包含查询数据库的方法。

2024-02-26 00:03:51 591

原创 java基础知识-18 文件IO流的操作

java中文件的io相关操作

2024-02-18 09:23:19 401

原创 java设计模式- 建造者模式

建造者模式可以帮助我们创建复杂的对象,同时保持代码的可读性和灵活性。通过将对象的构建过程与其表现分离,我们可以使用同样的构建过程创建不同的表现。在实际开发中,当遇到需要创建复杂对象的场景时,可以考虑使用建造者模式。

2024-02-06 16:03:05 1059

原创 常见java,数据库锁汇总篇,舍我其谁

表级锁:粗粒度的锁,对整张表加锁,加锁快开销小,不会出现死锁,但并发度低,会增加锁冲突的概率;行级锁:是mysql粒度最小的锁,只针对操作行加锁,加锁慢开销大,会出现死锁,并发度高,但可大大减少锁冲突概率;1.3 概述ReentrantLock悲观的独占的可重入的可公平可不公平锁synchronized悲观的独占的可重入的非公平锁。

2024-01-22 21:34:46 469

原创 分布式锁4 :数据库DB实现分布式锁的悲观锁和乐观锁,unique实现方式

在读取数据时锁住那几行,其他对这几行的更新需要等到悲观锁结束时才能继续。,交出CPU资源,可以把CPU给其他线程使用,提高了CPU的利用率。

2024-01-21 19:33:11 669

原创 idea中设置控制台显示service窗口项

3.选择应用类型: appplication,springbootapplication等。

2024-01-17 16:05:29 915 1

原创 数据库悲观锁 select for update的详解

在mysql中,select ... for update 仅适用于InnoDB,且必须在事务块中才能生效。Innodb引擎默认是行锁。场景1:查询条件为主键会话A: select * from tb_pab where id=1 for update;会话B: update tb_pab set uname='bj' where id=1;

2024-01-11 16:20:10 1161

原创 分布式锁3: zk实现分布式锁5 使用中间件curator-interprocessmutex可重入锁

简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册wathcer和NodeExistsException异常等。、集群领导选举、共享计数器、缓存机制、分布式队列等)的抽象封装,这些实现都遵循了zk的最佳实践,并考虑了各种极端情况。1.封装ZooKeeper client与ZooKeeper server之间的连接处理。提供了一套Fluent风格的操作API。Zookeeper提供的原生客户端。

2024-01-06 17:27:50 690

linux服务器上centos7.5离线安装redis 所需要的gcc包

linux服务器上centos7.5离线安装redis 所需要的gcc包

2021-07-26

解决问题包libaio-0.3.109-13.el7.x86_64.cpio.lzma

解决安装mysql时报,libraries: libaio.so.1这个内容缺失

2021-06-29

空空如也

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

TA关注的人

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