自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis-Plus 实用工具:SqlHelper 让你的数据库操作更得心应手

SqlHelper 是MyBatis-Plus的一款SQL 辅助工具类,提供了一些常用的方法,简便我们的操作,提高开发效率。

2024-03-22 11:45:34 212

原创 java.lang.UnsatisfiedLinkError: Unable to load library ‘tesseract‘

java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract':dlopen(libtesseract.dylib, 0x0009): tried: 'libtesseract.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibtesseract.dylib' (no such file), '/Library/Java/JavaVirtualMachines/

2024-03-20 14:14:26 271

原创 JDK Locale的妙用:探索多语言和地区设置的强大功能

JDK(Java Development Kit)的Locale类用于表示特定的地理、文化和语言的环境信息。Locale对象包含了对应于特定地区或语言的信息,这对于国际化和本地化的应用程序是非常重要的。

2024-01-30 13:50:51 304

原创 避免灾难的良药:接口幂等性的架构秘术

我们经常会听到幂等性这个词,那什么是幂等性呢?为什么都在强调接口要做幂等性处理,如果不做幂等性处理会导致什么问题呢?哪些接口是幂等性的,哪些接口不是幂等性的呢?我们该如何保证接口的幂等性呢?我们一起来探讨一下吧。所谓接口的幂等性,就是不敢请求接口多少次获取到的结果都是一样的。

2024-01-29 15:39:33 918

原创 位运算的辉煌:通过异或实现代码优化

异或是一种二进制的位运算,符号以 XOR 或 ^ 表示。异或运算可以看作是模2加法,其结果等于对应位相加取模2。

2024-01-24 23:56:58 408

原创 Kafka速度之谜:高性能的幕后秘密大揭秘

Kafka的介绍kafka是linkedIn开源的分布式消息系统,归给Apache的顶级项目kafka主要特点是基于Pull的模式来处理消息的消费的,追求高吞吐量,一开始的目的就是来做日志传输的收集的kafka不支持事务,对消息的丢失,错误没有太严格的要求高并发业务场景很好有用到事务的kafka的特点跨平台分布式实时性伸缩性。

2024-01-23 21:15:17 387

原创 高空之盾:构建系统韧性的高可用投递方案设计

MQ一直是系统开发中必不可少的组件,众所周知MQ有流量削峰解耦异步三大特性。但是既然是第三方组件,那么如何保证消息投递性的可靠性,是我们开发人员必须要研究的。保障消息的成功发出保障MQ节点的成功接收发送端接收到MQ节点(Broker)确认应答完善的消息补偿机制如何保障100%投递成功需要有补偿机制生产端在投递消息的时候失败了的处理机制生产端消息投递到MQ,但在MQ给生产返回应答时出现网络闪断这就导致生产端不知道消息是否送达。

2024-01-23 15:59:38 368

原创 垃圾回收器手册:为你的项目挑选最适合的自动内存管理工具

串行收集器->Serial和Serial Old只能有一个垃圾回收线程执行,用户线程暂停。 适用于内存比较小的嵌入式设备 。并行收集器[吞吐量优先]->Parallel Scanvenge、Parallel Old多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 适用于科学计算、后台处理等若交互场景 。并发收集器[停顿时间优先]->CMS、G1用户线程和垃圾收集线程同时执行(但并不一定是并行的,可能是交替执行的),垃圾收集线程在执行的时候不会停顿用户线程的运行。 适用于相对时间有要求

2024-01-22 15:50:23 825

原创 大对决:选择明智,Java中Synchronized与Lock的并发之战

synchronized:在发生异常时候会自动释放占有的锁,因此不会出现死锁。Lock:发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,不然可能会引起死锁的产生

2024-01-19 20:01:18 396

原创 代码的守护者:拆解并发安全的三道防线

● 原子性问题通过 Synchronized, AtomicXXX、Lock解决● 可见性问题 Synchronized, volatile 解决● 有序性通过 Synchronized,volatile 解决。

2024-01-19 11:13:39 735

原创 Java多线程精选:Synchronized和ReentrantLock的选择之道

锁一直是多线程编程不可不谈的一个概念,Synchronized和ReentrantLock也是面试必问。对于简单的同步需求,Synchronized 是更简洁的选择。它隐式地获取和释放锁,减少了编码的复杂性。Synchronized 可以直接应用于方法上,使得整个方法成为一个原子操作,适用于简单的同步需求。Synchronized 内置了等待通知机制,方便实现线程之间的协作。ReentrantLock 提供了更高度的定制性,可以实现更复杂的同步控制,例如可中断锁、公平锁等。

2024-01-12 17:23:14 426

原创 MySQL 存储引擎全攻略:选择最适合你的数据库引擎

给出的有以下几种:我们也可以通过命令来查看:还可以通过ENGINES表查看。

2024-01-10 20:31:23 378

原创 隐身之术:深入解析代理模式的神秘力量

代理模式能将代理对象与真实被调用目标对象分离在一定程度上降低了系统的耦合性,扩展性好可以起到保护目标对象的作用可以增强目标对象的功能(代理模式核心的点)

2023-12-29 16:08:08 1140

原创 GoLand couldn‘t start listener: listen tcp 198.18.0.45:53638

使用Goland以Debug的方式运行,无法启动。

2023-12-17 19:21:10 319

原创 “灵活性之光:掌握策略模式塑造可扩展的代码未来“

策略模式符合开闭原则避免使用多重条件转移语句,如if…else…语句,switch语句使用策略模式可以提高算法的保密性和安全性。

2023-11-17 12:09:16 235

原创 模版方法模式解密:编写可复用、可维护的代码新境界!

将相同处理逻辑封装到抽象父类中,提高代码的复用性不同的代码放到子类中,通过子类扩展增加新的行为,提高代码的扩展性。

2023-11-16 10:32:11 107

原创 任务交给谁?委派模式告诉你最佳选择!

现实场景:老板(Boss)给项目经理(Leader)下达任务,项目经理会根据实际情况给每个员工派发工作任务,待员工把工作任务完成之后,再由项目经理汇报工走进度和结果给老板。通过任务委派能够将一个大型的任务细化,然后通过统一管理这些子任务的完成情况实现任务的跟进,能够加快任务执行的效率。任务委派模式需要根据任务的复杂程度进行不同的改变,在任务比较复杂的情况下可能需要进行多重委派,容易造成紊乱。:负责在各个具体角色实例之间做出决策,并判断并调用具体实现的方法。:定义一个抽象接口,它有若干实现类。

2023-11-15 22:59:28 136

原创 当设计模式遇上万象:探秘适配器模式的神奇变身

适配器模式(Adapter Pattern)又叫做变压器模式,它的功能是将一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能在一起工作。通过持有Adaptee对象实现适配器功能。具体做法:Adapter类实现Target接口,然后内部持有Adaptee实例,然后再Target接口规定的方法内转换Adaptee。场景:在中国民用电都是220V交流电,但我们收集使用的锂电池使用的5V直流电。:将源角色(Adaptee)转化为目标角色(Target)的类实例;

2023-11-15 17:46:08 395

原创 List的add(int index,E element)陷阱,不得不防

捕获到索引越界异常:Index: 5, Size: 0捕获到索引越界异常:Index: 10, Size: 3

2023-10-30 22:21:03 296

原创 “节省内存、提升性能:享元模式的神奇之处“

享元模式的本质是缓存共享对象,降低内存消耗。是对象池的的一种实现,一句话用到了缓存了对方和池化技术的地方绝大多是享元模式的体现。例如线程池,数据库连接池,字符串常量池。

2023-10-28 22:41:10 157

原创 MySQL精髓:如何使用ALL一次找到最大值

MySQL 中的 ALL 是用于与子查询一起使用的比较运算符,通常与其他比较运算符(如 , =, !=)一起使用。ALL 操作符用于比较值与子查询的结果集中的所有值。

2023-10-25 22:41:20 276

原创 Java中的常量管理:接口还是枚举,您如何选择?

在企业项目开发中,我们经常会需要设计一些常量的定义,两种常见的方式用于常量管理:接口和枚举。他们分别适用于什么场景了?

2023-10-23 22:10:27 432

原创 行列转换:MySQL中的数据变形魔法

使用CASE函数+聚合函数。

2023-10-19 21:28:48 279

原创 OpenFeign:让你的微服务互相聊天的秘密武器

Feign 是一个声明式的 http 客户端,官方地址:关键词HTTP客户端声明式feign:client:config:default: #这里用 default就是全局配置,如果是写服务名称,则是针对某个微服务的配置loggerLevel: FULL #日志级别。

2023-10-16 23:53:26 44

原创 依赖注入的进阶:深度解析ApplicationContextAware

Spring ApplicationContextAware的妙用,访问应用程序配置,动态注册Bean,执行初始化和清理逻辑,动态获取消息和国际化,访问事件发布机制

2023-10-14 21:20:40 256

原创 IDEA启动C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m报错

C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m ......Error occurred during initialization of VMFailed setting boot class path.

2023-10-14 08:37:29 1629 2

原创 启动Java应用的黑魔法:初始化性能解密@PostConstrut,InitialzingBean,init-method,BeanPostProcessor

Bean常见的初始化操作,@PostConstruct,InitializingBean,BeanPostProcessor

2023-10-13 22:55:08 986 1

原创 一招解决 Windows logstash安装报错 could not find java; set JAVA_HOME or ensure java is in PATH

一招解决logstash could find java; set JAVA_HOME or ensure java in PATH.带你踩坑logstash的bug!!!

2023-07-01 14:05:59 439

原创 vite跨域问题,你可能需要看这篇文章

这篇文章帮助你解决vite启动127.0.0.1,出现跨域。request.getSeesison().getAttribute()拿不到值,localhost和127.0.0.1的区别,Chrome SameSite如何解决

2023-05-13 18:37:04 1250 1

原创 解决报错[emerg]: getpwnam(“nginx”) failed

原因是在nginx安装配置中是用nginx用户和nginx组来启动服务,但系统中没有nginx用户与nginx用户组。

2022-10-19 20:31:49 4364

原创 Linux下配置Nginx开启自启

1./etc/init.d/目录下新建一个脚本文件nginx。也可以使用官方提供的。2.授权chmod a+x /etc/init.d/nginx 3.chkconfig add nginx #配置成服务,chkconfig nginx on #开启自启

2022-10-18 23:34:03 538

原创 Navicat如何为单独数据库分配单独账户和密码

前言因为公司项目的分库的,最近在开发了一个新功能之后,部署上线之后发现一直访问的是另外一个库。本地测试没有任何问题,这让我有些苦恼。因为本地数据库都是使用的root用户的用户名和密码,所以很难查出问题是在哪里,于是就想单独分配帐户和密码,因此才有了这篇文章。操作步骤第一步: 新建一个用户选中所要操作的连接工具栏找到用户选项,点击打开在打开的页面中我们可以看到我们已有的用户,有的话可以直接选中用户进行授权,这里只演示新建用户,如下图所示,点击新建用户按钮:在新建用户界面填写用户和密码,其

2022-05-13 11:23:25 918

原创 关于数据表中没有重复记录,mysql报Duplicate entry for key “XXX“的错误

问题背景由于每天都需要对公司的数据进行一个统计,公司工作人员在对账的时候,发现有一天没有查到记录,于是我就把程序统计调整到没有记录的那天重新统计入库。奇怪的事情发生了,数据插入不进去,唯一索引报Duplicate entry for key xxx的错误。解决过程首先我去表中看了,唯一索引的确没有重复为了排除其他数据的影响,直接将表中数据清空了(当然是本地环境),依然报错打断点,输出,对重复的那个key进行debug,看数据统计是否有有重复的,控制台指打印出一次,debug也只停留一次。进行

2022-05-13 10:42:50 3510

原创 int转double会存在丢失?

问题是这样的,当我用一个int类型的值去整除100的时候,结果用double类型接收,直接变成0.0了???? int a=97; double b=a/100; System.out.println("result:"+b);输出结果如下:正确写法://1double b=a/100.0//2.double b=(double) a/100//3.double b=new BigDecimal(a).divide(new BigDecimal(100)..doubleValu

2021-09-19 19:45:50 2418 2

原创 java集合求交集注意事项

是这样的,我想判断集合A中的元素在集合B中是否出现的,用for循环去遍历,显然代码比较臃肿,而且效率也比较低下,所以我想到了求两个集合的交集就行。在Java中,求两个集合的交集使用的是retainAll()方法,他会返回一个布尔值。如下我创建了两个集合 @Test public void test(){ List<String> a= Arrays.asList("1","2","3"); List<String> b= Arrays.as

2021-09-19 16:50:18 558

原创 Java解析嵌套json

格式如下:{ "Code":0, "errMsg":"你的积分余额不足!", "Data":{"orderId":"2021091711284000000009F7","phoneNum":1}}1.使用fastjsonJSONObject object=JSONObject.parseObject(response)2.使用gson1.引入依赖 <dependency> <groupId>com.google.code.gso

2021-09-17 20:39:53 1305 1

原创 解决Redis读取不到数据的问题

1、首先检查redis配置是否一致。2、确认value是否存进去,中间是否有删除操作,过期时间3、检查key是否一致。这个特别得注意,存的一方和取的一方编码是否一致。4、存的方式和取的方式是否一致。key的类型是否一致...

2021-08-23 23:35:02 4338

原创 mysql遇见Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggre的问题

Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘xxxx’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by查阅资料发现,对于group by聚合操作,如果在select中的列没

2021-07-19 20:51:13 17875 2

转载 Linux环境邮件服务报错:Couldn‘t connect to host, port: smtp.qq.com, 25; timeout -1;

在Windows环境下邮件服务能够正常使用,但是在Linux环境下,邮件服务报错,无法发送邮件。具体报错信息如下:com.sun.mail.util.MailConnectException: Couldn’t connect to host, port: smtp.qq.com, 25; timeout -1;这个报错的原因是因为阿里云服务器出于安全策略的考虑,主动屏蔽了服务器25端口,导致邮件服务无法正常使用。第一:开放25端口。阿里云服务25端口的屏蔽策略和普通的安全策略不同,无法通过配置

2021-07-17 12:29:00 2987 2

原创 记录使用StringEntity编码格式化乱码的经历

问题是这样的,使用HTPP发送请求的时候,写了一个Post方法:public static String postRequest(String url, String request, int timeout) { RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout).setSocketTimeout(timeout).bu

2021-07-15 12:12:20 1715 2

空空如也

空空如也

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

TA关注的人

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