自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 mysql8.x 新增一个端口映射到当前服务(Windows)

3. 创建一个用户( 'myuser'@'%' %指的是所有IP都能访问)1. 查看当前端口是否被占用。

2024-07-26 10:08:09 207

原创 activiti用法随记

虽然 Activiti 主要支持 BPMN,但它也可能通过扩展或插件支持其他流程定义语言,如 BPEL(Business Process Execution Language)。

2024-06-06 13:33:29 601

原创 spring boot 2.1 集成activiti 6.0.0和activiti-modeler 5.23.0可视化编辑器(随记)

放置到resources下。modeler 就可以了。

2024-06-04 21:33:13 367

原创 Spring常用拓展点(随记)

如上:它可以具体的去AOP切某个类。

2024-06-03 17:30:02 875

原创 git随记

*注意:**如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories。适用场景:例如某需求先后进行过第一、第二、第三次版本提交之后发现第二个版本有问题,需要撤销第二个版本的操作,同时保留第三次版本的提交,可使用git revert操作。,再次查看状态就没了。

2024-05-30 19:38:24 1140 1

原创 Java 用RedisTemplate非阻塞模糊删除相关key

在游标里写逻辑,控制删除哪些key。

2024-05-27 14:22:12 242

原创 excel poi的titleRows 和 headRows含义

比如有一个excel如下,1-2行是标题,3-4行是表头,他们都合并了。

2024-05-25 10:55:06 779

原创 CompletableFuture 和 ExecutorService 任务拆分的简单例子

假如我们有一个记录流水号的列表List lshList = new ArrayList();此流水号时某一个map中的key,map中的value则是流水号对应的业务数据, 我们想将列表分为三份,通过异步任务分别处理他们,并将处理结果进行合并。

2024-05-23 10:00:39 297

原创 Quartz Scheduler 动态定时任务

假如有一个场景:比如当前定时任务执行时间不确定,有可能10分钟执行完毕,也有可能20分钟才执行完毕,也有可能时间会更长。如果设置成20分钟执行一次,如果涉及到数据库操作,两个定时任务都跑起来了,就可能会导致数据异常,怎样设计让当前定时任务执行完毕后,5分钟后再次执行,始终保持一个任务执行呢?由于你的需求是动态地调度任务,你可能需要在运行时动态地创建和更新这些对象。相反,你可能需要在任务执行完成后,通过其他方式(如事件监听器、回调方法等)来重新调度任务。来监听任务的完成事件,并在事件处理程序中重新调度任务。

2024-05-20 11:37:21 362

原创 spring cloud gateway一些相关概念

例子:假如有两个相同的服务实例cloud-payment-service(即它们提供相同的功能和API),并且你希望它们能够共同分担负载(即实现负载均衡,端口分别为8001和8002),现在通过gateway的断言设置分别请求这两个服务里的/payment/hello方法。路由:路由是构建网关的基本模块,它由ID,目标URI,一系列的断言Predicates和过滤器Filters组成,如果断言为true,则匹配该路由。作为API网关,会首先接收到来自客户端的请求,并在处理这些请求时可能会涉及到。

2024-05-20 00:42:28 1042

原创 Hystrix一些概念

这里还需要注意的是:客户端访问服务端,如果服务端产生了异常,我们如何获取服务端的异常呢?在使用Feign作为声明式HTTP客户端时,如果后端服务调用失败(例如,超时、网络错误、服务端返回非2xx状态码等),你可以使用。

2024-05-19 12:47:14 784

原创 菜鸟学dubbo 2.x配置笔记(更新中)

连接控制功能可以使用户能够控制和管理进出服务器连接数,限制连接数并设置超时,以确保 Dubbo 系统的稳定性和性能,还允许用户根据 IP 地址、端口和协议配置不同级别的访问控制,保护系统免受恶意流量的影响,并降低服务中断的风险,此外提供了一种监视当前流量和连接状态的方法。为方便开发测试,可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务,因为如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。接口,用于处理订单相关的业务逻辑。

2024-05-16 23:59:03 961

原创 一个简单的webservice客户端demo

首先我们是客户端,我们要找一个服务端来配合我们调试,可以在这个网址里找个你喜欢的免费服务。我们新建一个maven工程,在pom文件里引用axis依赖(可以在此连接。然后我们创建一个client。填入刚刚的wsdl url(我们再写个测试类调用一下看看。然后就生成了相应的类。对axis进行了解)。

2024-05-16 13:54:54 314

原创 小白学dubbo傻冒连问-长连接篇

在Dubbo中,如果默认的线程池大小设置为200,并且同时有超过200个请求到达,那么具体会发生什么取决于Dubbo的线程池类型和业务场景。另外,Dubbo的默认连接数通常是200,但这并不意味着每个服务接口都会使用这么多连接,实际的连接数取决于你的配置和业务需求。总之,在Dubbo中处理超过默认线程池大小的并发请求时,需要根据具体的业务场景和性能需求来选择合适的线程池类型和配置参数。Dubbo的默认连接数通常是200,但这并不意味着每个服务接口都会使用这么多连接,实际的连接数取决于你的配置和业务需求。

2024-05-15 22:32:42 1114

原创 Maven 依赖排查

总之,这两个术语都涉及Maven在构建项目时如何处理依赖冲突,但“omitted for duplicate”更侧重于描述多个相同依赖项的存在,而“omitted for conflict with”则更具体地指出了哪个依赖项与当前依赖项存在冲突。在 Maven 的依赖树中,当你看到“omitted for conflict with 1.0.5”这样的信息时,它意味着 Maven 在解析依赖时遇到了版本冲突,并决定省略(排除)了与指定版本(在此例中为 1.0.5)冲突的那个依赖。

2024-05-15 17:17:40 1145

原创 Dubbo配置上的一些概念

在Dubbo中,QoS服务可以通过动态的方式对服务进行查询和控制,比如获取当前提供和消费的所有服务,以及动态地将服务进行上下线操作,即从注册中心上进行注册和反注册。然而,随着服务数量的增加,注册中心存储的元数据也会不断增加,导致注册中心的压力逐渐增大。在Dubbo的服务治理中,元数据主要包括服务的一些基本信息和特性,比如服务分组、服务版本、服务名、方法列表、方法参数列表、超时时间等。在服务注册与发现的过程中,注册中心会存储服务的注册信息(如服务名、地址列表等),而元数据中心则存储了服务的元数据。

2024-05-15 15:28:01 880

原创 rabbitmq交换机,死信队列的简单例子

假设我们有一个场景,生产者有消息发到某个直连交换机,这个交换机上有两个队列分别存储两种类型的消息,但是与这两个队列相连的消费者太不争气了,处理消息有点慢,我们想5秒钟这个消息在队列中还没有被消费的话,就给它丢进死信队列里得了,后续再处理,但是这俩队列明显存储的消息不一样,我们又不好意思将它都扔到同一个死信队列里去,如果我们想要俩死信队列分别装这两个消费者漏掉的消息,那我们怎么做呢?:我们先创建一个工具类用来连接rabbitmq,注意你需要去创建对应的虚拟主机,以及对应的登录账号和密码。

2024-05-14 18:07:22 605

原创 河南方言翻译

懒着个jio子:懒,不想动,不想做某事。迷登:迷糊,脑子不清醒,反应不过来。麻剌(la):小凸起不平,摸着刺手。姥娘:小孩称女方父母,也就是外婆。憋住:忍住不做某事,不发声或不哭。来kie(发降音:客也):来客人。piu(发重音:坡一悠):屁股。带(发音:呔)劲儿:得劲,爽。yo(发降音:医我)匙:钥匙。老丈人:南方称呼女方的父母。哟呵:喊(多传递某种信息)。摩蹭:慢,多去做某事不愿意。jio(发降音:己我):脚。坷(kie)垃头:土坷垃块。yo(发降音:医我):药。膈应:胃部不舒服,恶心。

2024-05-11 14:25:50 791

原创 JVM8参数设置相关

JVM堆内存的设置大小应根据应用程序的具体需求和系统环境来确定。

2024-05-11 09:19:27 554 1

原创 Java怎样来解决线程不安全问题

在Java中,解决线程不安全问题的方法主要围绕几个核心概念:同步、原子性、内存可见性和避免指令重排序。

2024-05-10 11:09:19 218

原创 信号量隔离

但是,需要注意的是,信号量隔离只是限制了请求的数量,对于单个请求的处理时间和结果并不能起到任何作用。与线程池隔离(Thread Pool Isolation)不同,信号量隔离不会为每个请求创建新的线程,而是利用应用程序的主线程或容器(如Tomcat)的线程来处理请求。它利用信号量(一个计数器)来限制同时访问某一资源的并发量,当信号量达到设定的最大值时,新的请求将无法再获取到信号量,从而被放弃或等待。它不需要为每个服务或功能创建独立的线程池,而是通过控制信号量的值来限制对共享资源的并发访问数量。

2024-04-30 16:15:10 827

原创 23种设计模式简单记录

23种设计模式主要分为三大类:创建型模式、结构型模式和行为型模式。

2024-04-28 14:24:28 497

原创 spring boot应用停止服务需要注意的地方

在应用启动时,注册一个JVM的Shutdown Hook,用于执行清理工作。2 // 清理资源、关闭连接等操作3 System.out.println("执行关闭前的清理工作...");4}));

2024-04-28 14:23:16 490

原创 Java NIO概念

I/O多路复用(I/O Multiplexing)是一种在单个线程或进程中同时管理多个I/O操作的技术,特别适用于需要同时处理多个输入输出通道的场景,如网络服务器处理多个客户端连接。这项技术允许程序监视多个文件描述符(例如,网络套接字、管道、常规文件等),等待其中的一个或多个变为“就绪”状态(即可以进行读取或写入操作),而无需为每个描述符分配单独的线程或进程。I/O多路复用的核心优势在于它减少了系统中线程或进程的数量,从而降低了资源消耗和上下文切换的开销,提高了系统在高并发环境下的性能和可扩展性。

2024-04-26 10:02:11 1337

原创 Seata 的AT模式写隔离问题,求大佬解答。

tx2 后开始,开启本地事务,拿到本地锁,更新操作 m = 900 - 100 = 800。tx1 先开始,开启本地事务,拿到本地锁,更新操作 m = 1000 - 100 = 900。如果 tx1 的二阶段全局回滚,则 tx1 需要重新获取该数据的本地锁,进行反向补偿的更新操作,实现分支的回滚。,同时持有本地锁,则 tx1 的分支回滚会失败。分支的回滚会一直重试,直到 tx2 的。,同时持有本地锁,则 tx1 的分支回滚会失败。,tx1 全局提交前,该记录的全局锁被 tx1 持有,tx2 需要重试等待。

2024-04-25 16:35:25 315

原创 @PropertySource的使用

这样,当 Spring 应用启动时,它会自动读取这些外部配置,并正确地配置数据源 Bean,无需硬编码任何数据库连接细节。的属性文件,内容如下,该文件位于项目的类路径 (然后,创建一个 Spring 配置类,使用。方法读取属性值,并将这些值应用于数据源 (

2024-04-24 23:38:39 227

原创 CentOS yum安装jdk8

如果有旧版本的Java或者其他不需要的Java版本,可以使用如下命令进行卸载。6.通过readlink -f $(which java)命令查看安装路径。: 安装完成后,通过运行以下命令来确认JDK 8是否安装成功,并查看其版本信息。: 在开始安装之前,建议先更新你的系统包,确保使用的是最新的软件包信息。: 如果你不确定系统中是否已有Java安装,可以先检查一下。安装OpenJDK 8。(用于运行Java程序)和。在CentOS系统中使用。为你需要卸载的包名。

2024-04-24 10:01:37 626 3

原创 @PostConstruct ,InitializingBean接口,init-method属性 三者的概念

注解、实现接口以及使用属性。

2024-04-23 15:43:22 683 1

原创 ApplicationListener监听器

中的ApplicationContext ,它可不得了,它是IOC容器的高级模式,它是BeanFactory的拓展,他能管理Bean的生命周期,它能提供多种配置载入方式如(XML,注解等),它能自动装配Bean之间的依赖关系,它内置AOP支持,当然它也支持我们所讲的事件监听机制。监听器顾名思义,它得监听点什么,就像老奶奶一样支楞着耳朵打听一些事情一样,它也要监听一些事件,它既然是在context包下,那么它也肯定和context有关。方法完成的,该方法会初始化剩下的单例Beans,包括事件监听器。

2024-04-23 14:47:26 992

原创 spring中的Aware接口概念

setApplicationContext(ApplicationContext applicationContext),注意这里的set可不是让你去给它设置自己的容器,我们最多用的是获取这个容器类,后续从容器里拿到一些我们喜欢的bean之类的微操一下,当然你有能力你也可以在这里替换为自己的容器类。这点是不是很费解,我这个bean竟然不知道自己在哪,自己叫啥,是不是显得很呆,其实spring的IOC导致的,我这个bean刚开始并不知道我在容器中到底叫啥,直到比如在xml配置中给我指定我是谁。

2024-04-23 12:46:57 1126

原创 HandlerInterceptor周边概念

是Spring MVC框架中的一个接口,在org.springframework.web.servlet包下,它是Spring MVC框架中的一部分,它参与到Spring MVC的请求处理生命周期中,所以不是Spring IoC容器的Bean生命周期中的东西,它用于实现拦截器功能,也就是说用它的时候容器都已经启动了。需要创建一个实现该接口的类,并在Spring MVC的配置中注册这个拦截器,之后所有匹配的请求都将经过这个拦截器的处理流程。对象的模型部分可以用来存储要传送给视图的数据。

2024-04-23 09:59:54 947 1

原创 mybatis的SqlSession

这个代理对象在其invoke方法中,当调用Mapper接口的方法时,会利用内部持有的SqlSession来执行相应的SQL语句,即通过SqlSession的API来完成数据库操作。当调用BaseMapper的某个方法时,实际上是调用代理对象的方法,代理对象内部通过SqlSession找到对应的MappedStatement(已解析好的SQL语句和参数映射信息),然后调用Executor执行SQL,最后将数据库结果转换为Java对象并返回。标签,定义查找用户信息的SQL查询语句,并指定它与方法的映射关系。

2024-04-22 13:13:49 1036

原创 mybatis的一二级缓存

MyBatis 给我们提供了一级缓存和二级缓存机制来提高查询效率和减少数据库交互次数,一级缓存主要用于单次数据库会话内的查询优化,而二级缓存则着眼于整个应用层面的数据复用。

2024-04-22 12:49:59 1070

原创 mybatis拦截器和mybatis plus的拦截器

MyBatis拦截器和MyBatis Plus的拦截器在概念上是一致的,都是通过拦截器机制对MyBatis的SQL执行过程进行扩展和控制,但是在实现细节和功能上有所差异。MyBatis Plus的拦截器是建立在MyBatis拦截器基础之上,通过封装简化了开发流程,同时也针对MyBatis Plus的特性和功能进行了强化和扩展。: 作用是执行SQL语句(所有的sql),并且对事务、缓存等提供统一接口,它负责处理 SQL 语句的编译、参数设置以及结果集的映射等工作。: 方法签名,唯一的标记一个接口的方法。

2024-04-22 09:58:40 2746

原创 记录一个Java记录日志的切面实现

【代码】记录一个Java记录日志的切面实现。

2024-04-21 00:46:28 321 2

原创 SpringBoot中的扩展点

时机 : 所有的配置文件都已经加载,spring容器还没被刷新之前 准备阶段 this.prepareContext(context, environment, listeners, applicationArguments, printedBanner); 它允许开发人员在Spring应用上下文()被创建和刷新之前,对上下文进行自定义的初始化设置。通过实现接口,您可以执行以下类型的自定义功能:定制ApplicationContext配置:注册额外的Bean Definition:定制资源加载:初始化第三方

2024-04-21 00:22:51 858 2

原创 过滤器Filter和拦截器Interceptor心得

这时候过滤器Filter就登场了,它与servlet非常类似,过滤器就是Java组件,请求发送到servlet之前,可以用过滤器截获和处理请求,另外servlet结束工作之后,但在响应发回给客户之前,可以用过滤器处理响应。过滤器可以链到一起,一个接一个地运行。此外,Spring AOP也可以看作是一种广义的拦截器,它可以应用于整个Spring容器中所有bean的方法调用,实现更为广泛的切面编程,但与Spring MVC中的HandlerInterceptor不同,它更多的是面向服务和业务层的增强。

2024-04-20 22:58:20 1771

原创 HttpServlet,ServletContext,Listener它仨的故事

我们Java程序员经常到处吹嘘我们做的web程序是MVC架构的,抱着spring mvc的大腿到处讨饭吃,在Spring MVC框架中,Servlet扮演着至关重要的角色,特别是DispatcherServlet作为Spring MVC的核心组件,它是整个Spring Web MVC架构的前端控制器(Front Controller)设计模式的实现。在Spring MVC中,在上面古老的例子里,我们看到web容器的context上下文配置的都是字符串,那只是字符串可不中,我们来看一下这个美女的担忧。

2024-04-20 14:43:02 822

原创 使用spring boot集成shardingsphere分库分表简易测试

再用mysql整一个名为shardingsphere-test的库(编码集utf8mb4,也可以选自己喜欢的编码集),再往里弄上两个测试表。根据如下pom整上一个spring-boot项目,spring-boot版本用2.3.5,shardingsphere用5.1.1。最后再弄上一个spring boot的启动类,用来启动这个sping boot项目。再弄上一个controller,来接收远方的呼唤。按道上的规矩再搞一个service接口的实现类。再弄一个对应数据库的实体类。再搞一个service接口。

2024-04-19 14:07:51 1062

原创 spring cloud config配置中心简述

当然如果你使用了 spring cloud Alibaba, 还可以配到spring cloud Alibaba的nacos中去。如果你使用git或者svn之类的当配置文件的存放点,可以使用config client 和config server。如果你使用consul做注册中心,consul带有key/value配置模块,可以将配置配在这里,然后在项目中使用。我们在官网可以看出给的配置中心有这几种。

2024-04-18 17:13:15 263

空空如也

空空如也

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

TA关注的人

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