logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【分布式】手把手带你搞定,JVM本地锁, MySql 悲观锁与乐观锁,redisson分布式锁,zookeeper分布式锁及应用

这个时候已经进入了判断内部了,所以会执行删除锁,但是这个时候因为锁恰好失效,所以其他请求就占有锁,那么自己在删除锁的时候,其实删除的是别人的锁,这样在极端的情况下其实也会出问题的。举个例子:我们这的艾鹿薇奢侈品,由于疫情,是不让所有人全进去店里购买的,必须没人排队发放一张卡,有了这张卡才能进店里购买,并且只能进一个人(或一个家庭),直达出来,才能放后面的进入,也就是每次都是一个个的进去,这么这个一

文章图片
#分布式#spring cloud#redis
【状态机实现】前置——设计模式中的孪生兄弟(状态模式和策略模式)

【摘要】行为型设计模式通过运行时改变对象行为来提升灵活性。状态模式将对象行为封装在状态类中,实现状态驱动的行为转换,适用于复杂状态管理;策略模式则封装算法为独立策略类,支持动态切换算法,常用于支付方式等场景。两者核心区别在于:状态模式强调状态自动流转(如审批流程),策略模式侧重算法主动选择(如支付方式)。状态模式由内部状态控制行为,策略模式由外部调用决定策略。二者都能优化条件判断,提升代码可维护性

#状态模式#java#设计模式 +1
【SpringCloud】 微服务分布式环境下的事务问题,seata大合集

前面聊了一些常见的分布式事务方案,接下来我们所主要实现的是通过微服务的阿里组件,seata来实现微服务领域中的分布式事务。Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式(Auto Transcation)是阿里首推的,因为对代码是零侵入的,使用

文章图片
#spring cloud#微服务#分布式
【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型

可能有些同学第一次听说集群和负载均衡,所以呢,我们先来做一个介绍,然后再聊服务端与客户端的负载均衡区别。

文章图片
#负载均衡#前端#服务器
【云服务】阿里云esc服务器2核2G,解决nacos总自动退出,日志显示正常

租的云服务器,2核2G。使用Docker运行Nacos容器的时候发现总是自动退出。Nacos日志里面没有明显的报错信息。查了一下是内存溢出错误,指令如下。又重新看了下Nacos日志,如下图所示,发现堆内存设置的太大了,初始堆内存Xms设置的1G,最大堆内存Xmx设置的1G,年轻代Xmn设置的512M。发生了OOM错误,自动杀死了相关进程。问题找到了,将JVM堆内存设置小即可。

文章图片
#阿里云#云计算
【Linux】关于内存不足,docker中容器自动停止解决办法,比如nacos分配内部不足,自动停止。

在使用linux系统时,总会发现buff/cache过高,不清理的话一直挂在那,因此写了一个定时清理程序free -h6个字段列的意思分别是:total:系统内存总大小used:已使用内存free:可用内存(剩余多少内存)shared:多个进程共享的内存buff/cache:系统缓存大小available:还可以被使用的内存左侧两个字段行的意思分别是:Mem:物理内存空间使用情况,通常意义上的物理

文章图片
#linux#java#docker
【Git异常问题解决】大问题大问题~remote: error: File: MB, exceeds 100.00 MB.git push提示我文件大于100m处理方法

Git单个文件大小超过100M时,就会上传失败,因为默认的限制了上传文件大小不能超过100MB 进入项目所在的文件夹,打开终端 输入命令:设置上传限制的文件大小。git config -l 查看配置 有http.postBuffer 524288000就是配置成功了 这样就可以上传大于100MB的文件了。

文章图片
#git
【java开发环境】多版本jdk 自由切换window和linux

一、准备各种版本的jdk,按自己的需要下载。我这里是需要jdk17和jdk8。1、jdk17,选择exe后缀文件2、jdk8下,选择exe后缀文件二、详细步骤1、安装jdk很简单,双击exe文件后全部默认下一步即可,安装的时候记住安装路径。如果想卸载,按照正常应用的卸载方式即可。2、设置环境变量2.1 删除jdk安装时自动添加的环境变量操作位置:系统—关于—高级系统设置—环境变量—系统变量。

文章图片
#java#linux#开发语言
【Docker】3.docker操作容器命令(运行mysql8为例)

如果不开启后面会报错。云服务器不需要设置,部分centos需要设置,可以检测一下是否设置,如果没有则修改配置文件并添加 net.ipv4.ip_forward=1添加标红代码。一旦修改的与网络相关的东西,需要重启相关服务,重启依赖于网络的docker。

文章图片
#docker#容器#运维
状态机实现】前置——使用Spring的ApplicationContext的getBeansOfType方法实现接口多实现类的动态调用

本文介绍了如何利用Spring IoC容器实现多交通方式选择的工厂模式。通过定义TrafficMode接口及其实现类(BusMode和TrainMode),并使用枚举TrafficCode标识不同交通类型。关键点在于TrafficModeFactory工厂类,它实现了ApplicationContextAware接口,通过Spring容器自动获取所有TrafficMode实现类,并建立类型与实例的

#spring#java#后端
    共 12 条
  • 1
  • 2
  • 请选择