
每日一个小知识
文章平均质量分 69
争取每日分享一个知识点,欢迎大家关注和讨论,有什么问题及时指出,互相交流,虚心改正
unhappy404
技术会过时但思维不会
展开
-
分布式集群下的业务敏感数据加解密通用解决方案(附代码)
分布式集群业务下的敏感数据加解密解决方案、高效安全便捷原创 2024-05-28 10:50:51 · 1067 阅读 · 0 评论 -
关于分布式锁的释放和spring事务提交时机不符合预期从而带来的数据不一致的问题
首先注意,本文探讨的不是分布式事务,请读者注意区分!在我们的日常开发种,分布式锁和spring事务是常见的两种控制数据一致性的方式。分布式锁和spring事务各自的作用就不做阐述了,不是本文重点,本文重点阐述一下锁释放和事务提交的问题。原创 2024-04-18 18:30:30 · 940 阅读 · 0 评论 -
关于fail-fast机制和集合中删除元素报错这件事
ConcurrentModificationException、fail-safe、fail-fast,循环遍历中删除元素报错原创 2024-04-17 11:49:41 · 312 阅读 · 0 评论 -
全网最全的订单超时状态更新的几种实现思路
全网最全的订单超时状态更新的实现思路,使用了jdk的delay,redis,rocketmq,订单超时系统等原创 2024-02-18 13:59:26 · 1118 阅读 · 0 评论 -
思维发散之科学与魔法
魔法和科学分别怎么定义 有什么关系?哪个更厉害?神存在么?小说中的魔法、影视化魔法和科学化魔法又分别有什么区别原创 2024-01-08 16:45:03 · 1122 阅读 · 0 评论 -
xxl-job日志调度没问题日志一直报错xxl-job provider netty_http server caught exception java.io.IOException: Con
[EmbedServer$EmbedHttpServerHandler:exceptionCaught:230] [TID:N/A]: >>>>>>>>>>> xxl-job provider netty_http server caught exceptionjava.io.IOException: Connection reset by peer原创 2023-09-21 12:02:37 · 3450 阅读 · 0 评论 -
记录一次接入xxl-job的踩坑记录
接入企业公用邮箱的邮箱告警改造关于xxl-job接入eureka的坑关于xxl-job注册到容器中关于调度器无法访问容器中的执行器的坑原创 2022-08-25 12:12:48 · 2004 阅读 · 0 评论 -
关于一次fullgc告警分析与分布式任务调度框架的选型调研
但是这次定时任务导致的fullgc引发了我的思考,其实在当今分布式应用的大环境下,我们还用之前老一套的定时任务去处理,确实会带来很多不便,比如这次的问题,如果采用分布式任务调度框架的话,是不是就能避免或者更早的发现这样的问题了?task1与task2的调度间隔为1s,但是因为task1与task2的执行时间都超过了1s,所以预期的时间间隔应该是。这里没有写每种分布式框架的原理,其实分布式调度框架的目的是一样的,所以注定了它的原理不会有太大的差异。对我们的业务场景而言,分布式调度框架的优点就是。...原创 2022-08-17 18:02:12 · 397 阅读 · 0 评论 -
一种通过部分下载zip快速解析目录结构的方法
在涉及到多文件上传时,为了效率,往往会打成压缩包上传,而有些场景需要将压缩包中文件的层级结构保留并做以展示,以供用户下载前预览。若按照正常流程,需要业务线服务端将压缩包下载并解压,然后得到文件大小、类型、相对路径等信息后做层级封装,返回给前端展示。但是此场景下的压缩包,往往文件数量和体积都不会小,所以服务端去一一下载并解压就会很耗费资源。于是此方案目的就是通过不完全下载压缩包来获取压缩包内文件结构。......原创 2022-08-16 17:51:18 · 725 阅读 · 0 评论 -
100 万请求同时从 Redis 取相同的 Key,如何优化(热点key的问题)
背景其实这是一个很常见的场景我们单台redis的承载是有上限的业务场景中经常会有这种,比如热点商品抢购场景,热搜等,都会出现同时搜索同一个key的场景。哪怕部署了集群,通过一致性hash之后,这些请求还是会打到一个机子上,因为是一个key。如何发现热点数据主要针对的是C端,B端的话一是不会有这么高的并发,二是也能够预测中哪些是热点key。即便是C端,其实有些业务场景也是能够预测出热点key的,比如在做某些电商活动的时候,可以给一些热销商品做一个提前缓存。某些无法预测的,只能实时去处理,比原创 2022-03-24 11:57:41 · 2623 阅读 · 1 评论 -
用redis做注册中心如何感知服务的上线和下线?
这里是引用众所周知,分布式或者说微服务之间能够互相感知对方的存在,互相通信,就是因为有着注册中心的存在。springcloud常用的eureka、zookeeper,以及dubbo常用的zookeeper、redis等。这都是注册中心的不同实现。redis是相对来说使用的比较少的一种实例。redis注册中心的使用1. 存储形式服务在zookeeper中存放是以文件路径的形式存在的。而在redis中是以key-value形式存在的。外层的key是表明这个key存储的是生产者列表或者消费者.原创 2022-03-24 11:39:53 · 4554 阅读 · 0 评论 -
断言和异常的区别
二者的最大区别是业务异常还是需要修改代码的异常或者换句话讲断言:如果正常运行中不可能出现的错误,这种错误出现意味着编码有问题,是个bug,那就使用断言检测。它的目的是开发阶段用来检测编码异常的,一版在线上的版本都会使其失效。它属于契约式编程的一种。异常一般我们的业务异常,就是用户正常使用过程中会出现的异常,比如密码错误之类的,都会使用这个。...原创 2022-02-21 19:05:26 · 381 阅读 · 0 评论 -
jvm在分配内存的时候如何保证线程安全?
分配内存的时候为什么会线程不安全?因为JVM堆内存是共享的创建对象是会在多个线程中都会出现的操作线程在new对象的时候,需要拿一块内存去存放,可以理解为需要从一个空闲内存列表中拿取空闲内存。如果不做任何限制,那么多线程的场景下,极有可能出现多个线程分配到同一块内存的情况。也就是所谓的线程不安全了如何解决解决线程不安全的思想大概可以归为两类给线程不安全的方法加锁线程隔离解决方法1-加锁:一个很通用的思想就是,给线程不安全的操作加锁同样适用于分配内存如果我们给jvm堆中,分配内存这原创 2022-02-21 17:39:59 · 1781 阅读 · 0 评论 -
通过代理类获取原生类的方法
通过代理类对象获取原生类的工具类。因为有时候代理类上面没有一些原生类的信息,比如注解等,需要先获取到原始的类,再去获取注解。所以找到一个工具类方法,记录一下package com.shinedata.util.aop; import org.springframework.aop.framework.AdvisedSupport;import org.springframework.aop.framework.AopProxy;import org.springframework.aop.su原创 2022-02-21 15:37:23 · 2479 阅读 · 0 评论 -
jpa查询语句自动变成了update
今天在循环中查数据的时候,到了其中一条,每次断点一过去,就变成了update语句,最后发现问题所在,记录一下场景是我在循环中有个查询比如id分别为1,2,3的循环每次到查询2的时候,断点一过就会变成一条update语句。然后因为数据库设置了字段不为null,所以就会报一个更新错误。导致我一直以为是2的查询语句变成了更新语句其实不是,这条更新语句是1的更新语句因为在1查出来之后,对1的实体属性做了修改,但之后没有数据库操作,所以update语句没有提交,还在缓存中知道执行了2的查询,这个时候把原创 2022-02-18 18:58:13 · 1180 阅读 · 0 评论 -
循环依赖2-为什么会遇到循环依赖
上一篇文章主要阐述了解决循环依赖的几个方案,从简单到复杂,按照问题的紧急程度依次列出。在解决了循环依赖的问题后,空闲下来,我们肯定会思考一些问题,比如为什么会出现循环依赖?以后该如何避免?我的项目里还有没有循环依赖?解决bug并了解bug出现的深层次原因,才会使我们进步。循环依赖1-遇到循环依赖怎么解决.阅读本文前最好了解spring中的bean是怎么加载的,已经了解的可以直接往下了。没了解的可以参见我之前的一篇文章,这篇文章详解了spring几大思想,包括了bean的装载和使用,主要是整体的.原创 2022-02-18 18:07:04 · 1672 阅读 · 0 评论 -
循环依赖1-遇到循环依赖怎么解决
BeanCurrentlyInCreationException: Error creating bean with name 'TestService1':Requested bean is currently in creation: Is there an unresolvable circular reference?spring不是解决了循环依赖么?异步方法异步线程@Async导致的循环依赖?从设计层面解决循环依赖?怎么消除idea的依赖注入警告?依赖注入和构造方法注入哪个好?原创 2022-02-15 19:32:23 · 6473 阅读 · 3 评论 -
[问题记录]mysql中的bigint转换成Long?BigInteger?
java.math.BigInteger cannot be cast to java.lang.Long,mysql中的bigint和Long、BigInteger的问题原创 2022-02-08 20:00:33 · 3793 阅读 · 0 评论 -
java中的线程与操作系统的线程有什么区别
答:在多核操作系统中,jvm也会允许在一个进程内同时并发执行多个线程。java中的线程和操作系统中的线程分别存在于虚拟机和操作系统中,他们虽然不同,但却是一一对应,息息相关的。先总述一下,尽量概括到要点,接下来仔细阐述,阐述的详略程度视情况而定,别太简略就行。但是一定一定要条理,哪怕你讲的点都对,但是如果东一榔头西一棒槌,只会让人觉得你思路不清晰,或者知识不系统。阐述:我以线程创建与结束,来阐述一下他们的关系吧首先,日常开发中都是会使用线程池来获取或者创建线程的,而线程在创建时,其实是先创建一原创 2022-02-07 19:55:59 · 3335 阅读 · 0 评论