![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
阿力.929
记录和分享
展开
-
基于docker-compose使用虚拟机搭建redis集群
【代码】基于docker-compose使用虚拟机搭建redis集群。原创 2024-04-30 13:43:52 · 259 阅读 · 5 评论 -
java导入maven项目爆红问题的一种解决方案,清除.lastupdated文件
在拉取项目依赖的时候,由于网络问题,maven依赖没有下载完的时候,会在下载目录中生成.lastupdated文件。其它项目需要引用这个依赖包的时候,看到.lastupdated文件,会默认其他线程在下载该依赖,当前线程就不会再下载了。如果网络中断了,下载请求结束,但是由于.lastupdated文件依然存在,导致了该依赖永远都下载不下来。编写脚本,清除maven仓库中所有的.lastupdated文件,运行完脚本后,重新刷新maven就可以正常下载了。原创 2024-04-30 13:32:33 · 164 阅读 · 0 评论 -
java注解形式实现自定义参数解析器,为方法中的参数注入值
观察以下demo代码,方法queryByCondition有两个传入参数,其中,只有id为前端传过来的,但是service还需要phone这个参数,在代码中还有很多类似的功能,如果每个接口都编写代码获取phone的值,会造成大量重复代码,影响工作效率。因此,本文通过java自定义注解的形式实现自定义参数解析器,为方法中的参数注入值。// return语句。原创 2024-04-28 13:37:29 · 262 阅读 · 0 评论 -
java自定义时间工具类方法,判断当前时间是否在指定有效时间之内
本文分享一个自定义的时间工具类方法,判断当前时间是否在指定时间段以内,如果不在该时间范围内,返回true,否则返回false。传值2)之间,如果不在,返回true,否则返回false。判断当前时间是否在日期2024-04-25(参数传值)中的10点(传值10)到12点(原创 2024-04-28 10:25:20 · 211 阅读 · 0 评论 -
面试逻辑题,有8个小球和一个天平,一个小球偏重,其它小球一样重,问最少称几次可以找出那个重球?
现在有8个小球和一个天平,已知其中1个小球偏重,其余小球重量相等。问:最少称几次一定可以找出那个重量更大的小球?原创 2024-04-23 15:55:39 · 362 阅读 · 0 评论 -
Mybatis批量插入大量数据的解决方案
有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗向MyBatis中批量插入数据。mapper configuration是用foreach循环做的。以下做法在小数据量的时候效率尚可,但是在插入大量数据的时候,性能会变差。Mybatis底层基于JDBC实现,在执行insert操作的时候,默认执行类型为Simple,会为每个语句创建一个新的预处理语句,也就是创建一个PrepareStatement对象。的语句,无法采用缓存,那么在每次循环时,都会重新解析sql语句。原创 2024-04-23 10:19:04 · 546 阅读 · 0 评论 -
docker-compose搭建MongoDB
【代码】docker-compose搭建MongoDB。原创 2024-04-17 14:09:14 · 503 阅读 · 0 评论 -
java快速排序算法详解
快速排序(Quick Sort)是一种高效的排序算法,它采用了分治的思想。基本流程是选择一个基准元素,将待排序数组分割成两部分,使得左边的元素都小于基准元素,右边的元素都大于基准元素,然后对左右两部分分别递归地进行排序。因为它使用了递归的方式,所以是一种分治算法。快速排序的时间复杂度为 O(n log n)。在平均情况下,它是最快的已知排序算法之一。然而,在最坏情况下(例如,选择的基准恰好是数组中的最小或最大元素),时间复杂度为 O(n^2)。原创 2024-04-17 09:41:33 · 291 阅读 · 0 评论 -
nacos连接配置中心报错[ spring.cloud.nacos.config.shared-configs[1] ] must give a dataId的一种解决方案
如果你选择分开配置服务注册和配置中心,那么application.yml中连接nacos服务端(服务注册)中的命名空间和group,必须和bootstrap.yml中指定的命名空间,group完全一致。原创 2024-04-08 13:41:16 · 284 阅读 · 0 评论 -
Springcloudalibaba整合dubbo与nacos实现服务调用与负载均衡
dubbo是一款开源的rpc框架,用于微服务调用。相比更常见的feign,dubbo具有更好的性能,但在配置和使用过程中比feign稍微复杂一些。dubbo框架的使用方法不像feign这么固定,网上也有各种方案,本文基于Springcloudalibaba整合dubbo的方案,用nacos作为dubbo框架的注册中心。本文默认读者已经安装好了nacos服务端。原创 2024-04-08 10:53:11 · 1030 阅读 · 2 评论 -
docker-compose安装nocos
【代码】docker-compose安装nocos。原创 2024-04-02 10:07:59 · 216 阅读 · 0 评论 -
使用Python代码统计Java项目中所有Controller接口的数量
基于Python代码编程,统计Java项目中所有接口的数量,输入为项目路径,输出接口数量,只统计restfull风格的接口。原创 2024-03-14 16:11:05 · 420 阅读 · 0 评论 -
Caffeine本地缓存快速上手教程,通俗易懂
使用缓存的优点是可以减少直接访问数据库的压力。Caffeine是目前单机版缓存性能最高的,提供了最优的缓存命中率。用法和java中的map集合比较类似,底层使用一个ConcurrencyHashMap来保存所有数据,可以理解为一个增强版的map集合,增强的功能有设置缓存过期时间,缓存数据驱逐,统计缓存数据等。本文会大量使用详细的代码示例,通俗易懂地帮助大家学会使用Caffeine本地缓存。原创 2024-03-13 14:09:22 · 1638 阅读 · 0 评论 -
Maven对项目构建过程中的每个步骤的详细介绍
Maven除了管理项目的依赖以外,还能对项目的构建过程进行管理。除了使用命令行以外,我们平时经常用IDEA图形化界面进行操作,如图所示:本文将详细描述Maven对项目构建过程中的每一个阶段。原创 2024-03-06 11:00:11 · 470 阅读 · 0 评论 -
Lombok的@Slf4j注解使用并集成Logback日志框架调试代码
我们平时在写代码的时候,除了IDE断点的形式以外,还会用到System.out.println在控制台中输出相关的调试信息。本文介绍了在控制台中输出调试信息的另一种实现方式,使用Logback日志框架可以在控制台中用自定义的格式,输出更详细的信息,还能将日志信息保存在文件中,以便后续分析。lombok的@Slf4j注解省略了创建日志类的代码,可以简化代码开发。原创 2024-02-29 16:57:55 · 691 阅读 · 0 评论 -
在消息队列kafka多消费者组消费同一Topic场景下的idea调试debug断点进不去的解决方案
不同类型的消息发到同一个Topic中,设置多个消费者组,为每个消费者组打一个标记。每一种消费者组只能消费对应的消息类型。这样做的好处是避免设置多个Topic,简化代码开发的同时性能损耗小。问题出现在消费端,由于多个消费者组对象随着项目初始化而初始化,导致了你的断点不一定能准确打在对应的消费者上,出现的问题就是进不去断点。所以,让断点生效有一个折中的方式,直接在被@KafkaListener修饰的代码中将消费者组的类型写固定。但是一定要记得调试完断点以后再改回来。原创 2024-02-25 18:58:30 · 607 阅读 · 0 评论 -
docker-compose在虚拟机上搭建zookeeper+kafka3.0.0集群
以docker-compose的方式搭建zookeeper+kafka3的集群,比起用docker命令的方式更加简单,还能保留配置信息。不会docker-compose没关系,按照我下面的操作步骤即可。集群的结构是三个zookeeper节点加上三个kafka节点,zookeeper镜像的版本是3.8.0,kafka的版本为3.0.0。在安装前默认你已经安装好了docker和docker-compose。原创 2024-02-24 19:04:40 · 843 阅读 · 0 评论 -
RedisDesktopManager无法远程连接到Linux虚拟机中Redis的docker容器的一种解决方案
除了RedisDesktopManager以外,使用java代码也无法连接到centos7虚拟机中的docker容器中的Redis ,按照网上其他博主的解决方案,在排除Linux防火墙问题,端口映射问题,redis.conf配置文件问题以后,仍然无法在虚拟机外访问到redis容器。我通过恢复之前快照的方式仍然无法连接到redis容器。在重启centos系统后,不用做其他修改,就用RedisDesktopManager连接上了虚拟机中的redis docker容器。原创 2024-02-21 20:50:23 · 736 阅读 · 1 评论 -
git基于idea的.gitignore文件内容,直接用就行
java编程,git相关,对于idea编辑器,好用的.gitignore文件原创 2024-02-19 12:09:05 · 332 阅读 · 0 评论 -
Python实现java代码生成器之枚举类
为了提高java开发效率,我用Python代码实现了一个代码生成器,用于生成java枚举类。原创 2024-01-27 20:24:59 · 325 阅读 · 0 评论 -
为什么SpringBoot日志系统默认集成Logback
这种组合的优势在于 SLF4J 提供了统一的日志抽象层,使得你可以在程序代码中使用相同的 SLF4J API,而底层的具体日志实现可以灵活切换。你可以根据项目的需求,在 pom.xml 或 build.gradle 中进行相应的依赖配置,然后进行相应的配置更改。需要注意的是,Log4j2 本身也是一个非常强大且成熟的日志框架,具有许多先进的特性,如异步日志、插件系统等。SLF4J 是一个为 Java 提供简单日志的门面(Facade)框架,而 Logback 是 SLF4J 的默认实现。原创 2024-01-26 23:30:10 · 459 阅读 · 0 评论 -
Java通过包名获取类的字节码文件的绝对路径
输入为包名,输出该包名下面所有类的字节码文件的绝对路径,也就是获取\target\classes\路径下的.class文件的绝对路径,代码参考如下。原创 2024-01-20 16:01:01 · 379 阅读 · 0 评论 -
详解基于JDK和cglib的两种java动态代理实现方式,通俗易懂
Java动态代理是一种在运行时生成代理类以代替实际类的技术。它通常用于实现面向切面编程(AOP),允许你创建一个代理对象,该代理对象可以拦截方法调用,并在方法调用前后执行自定义的逻辑。在实际项目中通常用于日志记录、性能监控、事务管理等方面。本文主要介绍两种常见的java动态代理方式。原创 2023-11-13 23:05:56 · 195 阅读 · 0 评论 -
Git将旧分支的代码复制到新分支中
使用git将旧分支的代码复制到新分支中原创 2023-07-21 10:25:33 · 1715 阅读 · 0 评论 -
Maven安装本地jar包的一种补充方法
今天在安装canal包到Maven本地仓库的时候遇到的问题用的是其他博主提供的mvn-install方法安装的,安装完显示的没有问题pom文件中没有被标红,maven本地仓库中也有对应文件。可是在使用时无法导包,重构完项目后提示软件包不存在。在无意间发现了解决办法:不使用命令行的mvn install安装方法使用IDEA,Jar包中必须包含pom文件解压jar包IDEA中点击下图中的加号,选择解压后的jar包中的pom文件导入成功并能成功使用相应的jar包问题发生的原因尚不明确,希望各位能原创 2021-11-28 16:55:24 · 185 阅读 · 0 评论 -
配置fastDFS遇到错误org.csource.common.MyException: getStoreStorage fail, errno code: 2和recv package size -
昨天配置fastDFS时遇到控制台报错org.csource.common.MyException: getStoreStorage fail, errno code: 2调试代码过程中提示信息recv package size -1 != 10代码问题出现在下面这一行:uploadResults = storageClient.upload_file(file.getContent(), file.getExt(), meta_list);看了网上很多相关资料,和我相同报错的博主的解决办法并原创 2021-10-05 17:01:44 · 922 阅读 · 1 评论