自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(286)
  • 问答 (1)
  • 收藏
  • 关注

原创 本博客文章汇总

Spring

2023-10-09 10:53:00 340

原创 跨境支付概念+术语

本期文章和大家科普一下做跨境电商独立站必须知道的11个支付专有名词。

2024-02-24 14:19:39 346

原创 开发规范-汇总

1、关于mapper和service查询方法命名技巧。最好不用使用BeanUtils.copy这种方式。

2024-02-24 14:13:18 147

原创 关于Mapper和Service查询方法命令

所以Service一般都是get、load等Mapper.java的接口文件一般都是些:query、select、find。

2024-02-24 14:08:59 210

原创 IDEA查询对应功能的快捷键

首先要知道快捷键的key叫什么,然后通过key来找到对应的快捷键。比如下面这个查找删除导入未使用的类。

2024-02-20 16:05:25 495

原创 项目开发中中-日志汇总

2、日志xml配置详解。1、日志记录器的作用。

2024-02-08 14:03:21 325

原创 项目中日志记录器的作用

比如我们在代码里面通过info对象来记录日志,info在代码里面是一个对象,我们管这个叫【日志记录器】

2024-02-08 11:51:56 361

原创 Spring状态机-待整理

例如事件是“按开门按钮”,动作是“开门”。状态机介绍2:https://blog.csdn.net/u012129558/article/details/90519577。对于自动门,“按下开门按钮”就是一个事件。状态机:https://www.cnblogs.com/javastack/p/17432557.html。也就是从一个状态变化为另一个状态。WAIT_PAYMENT(1, “待支付”),WAIT_DELIVER(2, “待发货”),WAIT_RECEIVE(3, “待收货”),

2024-02-07 15:11:04 394

原创 GitLag所有操作-汇总

Git基础操作:拉、put、删。1、MAC Git环境设置。Git回滚操作-复杂。

2024-02-05 17:27:20 669

原创 zoneId、ZoneOffset、Date、LocalDateTime、ZonedDateTime、OffsetDateTime的区别

1、zoneId2、ZoneOffset继承了zoneId3、ZoneOffset 和 TimeZone区别ZoneOffset 和 TimeZone 是 Java 编程语言中处理时区信息的两个不同的类。ZoneOffset 类:ZoneOffset 是 Java 8 中引入的日期时间 API 的一部分,位于 java.time 包中。它代表了与协调世界时(UTC)之间的固定时间偏移,以固定的小时和分钟表示。例如,+02:00 表示时间比协调世界时快 2 小时。

2024-01-31 23:59:30 784

原创 kibana使用

2024-01-15 21:51:27 368

原创 路由时权重和优先级的区别

可以这么理解,优先极高的先判断,但是优先级高不代表权重大,为什么要这么设计就是因为,比如有的利益最大话,可以设置成优先级高低,但是有点优先级高,但是他的陈功率比较低,所以我们要保障尽量走成功率有保障的。例如,可以先根据优先级排序规则,然后在每个优先级中根据权重选择目标。这样可以实现更精细的路由控制,兼顾了目标选择的概率和规则的执行顺序。就是权重大的,被选中的概率一定多,但是优先考虑优先级高的。当优先级高的,没随机中,在从第二个优先级里面判断是否符合权重规则,一致遍历下去。

2024-01-15 15:26:26 411

原创 业务记录笔记

1、银行转账,在app发起转账,生成虚拟账户,在ATM对这个虚拟账户转账就可以,或者线上对这个虚拟账户转账。2、电子钱包,机构:Gopay、OVO、Dana、LinkAja3、运营商支付:主要是代付,预充余额里面,后续代扣。4、便利店支付,通过第三方账号充值,这里就完成了现金转电子货币,后续消费只需要使用这个电子货币消费就可以,注意和电子钱包还有有区别的,电子钱包可以转账体现等更多功能。

2024-01-10 10:20:44 485

原创 开发规范及常用工具

entity : 是与数据库一一对应的字段vo : 返回给前端的视图对象dto : 前端传过来的参数封装成dto,用于返回给前端的对象,一般用于查询操作。POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

2024-01-09 21:33:33 672

原创 Mysql面试题

Mysql面试题。

2024-01-05 20:04:16 398

原创 数据结构-汇总

时间复杂度-汇总1、树的结构-初期2、二叉树的分类-平衡树-红黑树二叉树的旋转-LL\RR\RL\LR3、二叉树的旋转-高级一步到位4、红黑树特征、删除、插入

2023-12-26 15:32:39 579

原创 堆外内存处理和回收

Jdk8中原来的方法区变成了元空间,并且使用的是堆外内存,那么堆外内存是如何进行回收的在Java中,堆外内存的管理通常由Java虚拟机外的【本地操作系统】或其他【本地资源管理器】负责。由于堆外内存不受Java虚拟机的直接控制,垃圾收集器无法直接处理堆外内存的回收。堆内存由JVM自己管理,堆外内存必须要由我们自己释放堆内存的消耗速度远远小于堆外内存的消耗,但要命的是必须先释放堆内存中的对象,才能释放堆外内存,但是我们又不能强制JVM释放堆内存。Direct ByteBuffer回收机制。

2023-12-24 12:05:56 362

原创 限流算法+每个算法实现方案

5、Guava类里面的RateLimiter。令牌桶的实现算法有:Guava。2、Gateway和Zuul。3、限流sentinel。

2023-12-19 14:39:29 330

原创 Redis-大key热点key的问题

大Key通常都会以数据大小与成员数量来判定。

2023-12-19 11:41:46 371

原创 类加载器相关的问题

只有两者都相同的情况,才认为两个类是相同的。即使两个类来源于同一个 Class 文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那这两个类就必定不相同。1、如果我们不想打破双亲委派模型,就重写 ClassLoader 类中的 findClass() 方法即可,无法被父类加载器加载的类最终会通过这个方法被加载。解答:类加载器在进行类加载的时候,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成(调用父加载器 loadClass()方法来加载类)。

2023-12-17 20:44:30 349

原创 Java开发面试题

Redis在bgsave时如果有更改请求,主进程不会立刻改数据(防止子线程写rdb时混乱),而会采用CopyOnWrite(写时复制)技术拷贝一份待更改数据到内存大页(如果开启了的话)里,再进行更改。2、内存上限导致写时数据淘汰:Redis实例设置了内存上限maxmemory,并且内容已满,导致每次写数据时都要淘汰数据,从而影响查询性能。原子性:事务的所有操作,要么全部成功,要么全部失败。实现方式:MULTI(开启事务,将命令都放进队列里),EXEC(执行事务),DISCARD(取消事务,清空队列)。

2023-12-17 15:32:41 783

原创 RedisCluster集群的配置-面试

2023-12-16 23:26:00 288

原创 一致性算法分类

【代码】一致性算法分类。

2023-12-16 23:09:27 263

原创 缓存淘汰算法

可以这么理解:先进入淘汰段,淘汰段也是一个LRU算法,当淘汰段满了,移除最早进来的,如果有重复的就会进入保护段,当保护段满了,进了新的元素,会吧数据挤到淘汰段里面去。

2023-12-16 21:21:36 343

原创 高可用和一致性的保障

1、集群部署将Eureka服务器部署在一个集群中,而不是单个节点。这可以通过在不同物理位置或虚拟机上运行多个Eureka服务器实例来实现。这样,即使一个节点失败,其他节点仍然可以提供服务。2、负载均衡在Eureka服务器之前使用负载均衡器,以确保流量均匀分布到各个Eureka服务器实例。这有助于防止单点故障,并提高系统的整体性能和可用性。3、数据复制和同步如果使用多个Eureka服务器实例,确保它们之间的服务注册信息是相同和一致的。

2023-12-16 10:07:42 845

原创 Flink+Kafka消费

分布式处理引擎Flink使用至少一个【job】调度和至少一个【task】实现分布式处理有界:就是指flink【消费指定范围内】的数据。例如我定义某个作业间隔时间为0.5秒,则flink已0.5秒为界,进行数据处理。有界数据用在离线数据的处理场景较多无界:就是指flink始终【监听数据源】里的数据,获取到就处理。无界数据往往用在【实时数据】处理下的场景较多。我这里结合我们项目的场景来给各位说一下该选那种处理。1 :尽量支持最多的数据落地 2 :数据必须要准确。

2023-12-15 15:50:52 1220

原创 CAP定理面试

分布式系统中,分区容错性是指什么分布式系统中的分区容错性是指系统在遇到【某节点】故障或【网络分区】故障的时候,仍然能够对外提供服务。简单来说,即使分布式系统中有一部分出现故障,其他部分仍能正常运作并满足系统需求。分布式系统中,网络分区故障是指什么分布式系统中的网络分区故障是指由于网络故障或其他原因导致系统中的节点无法互相通信的情况。

2023-12-14 17:29:03 389

原创 ZooKeeper为什么是CP

总结起来,ZooKeeper的ZAB协议,利用【消息广播阶段】和【崩溃恢复阶段】来实现数据一致性。1、在消息广播阶段,leader节点接收和广播事务请求,并根据大多数节点的反馈决定是否进行commit。2、崩溃恢复阶段,当leader不可用时,进行leader选举和数据同步操作。Zxid是ZAB协议中的一个重要概念,用于【标识事务的编号】和【确定leader周期】。通过这些机制,ZooKeeper保证了在分布式场景下数据的一致性和可靠性。

2023-12-14 16:53:44 911

原创 Redis扩容问题

Redis集群是一种水平扩展的方式,可以动态添加或移除节点,实现高可用性和容量扩展。在需要扩容的时候,添加新的节点,让集群自动将数据迁移到新的节点上。将Redis部署为集群,每个节点存储部分数据。1、使用持久化和快照RDB。

2023-12-12 22:32:36 340

原创 Redis持久化保存机制

这2个命令都会写到AOF文件里面,当AOF的文件越来越大,就会触发AOF的重写机制,【重写机制】会简化AOF文件里面的命令,比如上面的命令就会被【精简】成set key1 b。2、AOF文件满了触发【重写机制】,就【不会精简】AOF文件,而是将内存的数据【生成快照】,保存到RDB中,同时将当前正在执行的命令保存到【AOF文件】中,并将原来的AOF文件删除。AOF:这个是以日志的形式保存,所有的命令都会写到AOF文件里面,比如操作同一个key的命令有2个,set key1 a、set key1 b。

2023-12-12 22:25:32 333

原创 redis集群-主从复制

互联网的架构中需要保证高并发,高性能,高可用。主从复制为了保证系统的高可用而诞生,指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点,后者称为从节点。数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave读为主禁止写。

2023-12-12 20:46:49 336

原创 xxlJob源码分析-待完善

1 、 AppName :就是触发我们任务的那个执行器,所以客户端要指定使用那个执行器,这样在触发任务的时候,执行器就可以找到,对应的客户端 IP 地址,发送任务执行指令。2 、名称: 3 、注册方式:分为下面 2 个钟自动注册:启动时候时候注册进去手动录入:手动填写。

2023-12-10 10:30:13 937

原创 分库分表和非分库分表的映射关系保存-解决方案

针对分库分表和非分库分表的映射关系保存在哪里,以下是解决方案。

2023-12-10 09:27:10 319

原创 Mybatis、Mybatis整合Spring的流程图

注意MapperProxy里面有invoke方法,当进到invoker方法会拿到。

2023-12-09 23:40:31 533

原创 面试题整理需要重点关注的

强引用:new的对象。哪怕内存溢出也不会回收软引用:只有内存不足时才会回收弱引用:每次垃圾回收都会回收虚引用:必须配合引用队列使用,一般用于追踪垃圾回收动作。

2023-12-09 17:46:07 798

原创 服务的高可用、高并发、高性能

【代码】服务的高可用、高并发、高性能。

2023-12-07 17:15:11 358

原创 全部面试题-汇总

Java面试题敖丙的面试题Java面试题2-这个差点意思。

2023-12-05 17:13:15 297

原创 Redis和DB的缓存一致性

在三中,第二次清空缓存之前,多延时一会儿,等B更新缓存结束了,再删除缓存,这样就缓存就不存在了,其他事务查询到的为新缓存。延迟双删策略是分布式系统中数据库存储和缓存数据保持【最终一致性】的常用策略,但它不是强一致。其实不管哪种方案,都避免不了Redis存在脏数据的问题,只能【减轻】这个问题,要想彻底解决,得要用到【同步锁】和对应的业务逻辑层面解决。流程上:先删除redis,再更新数据库,延迟N秒后再删除一次redis。

2023-12-03 18:39:59 304

原创 redis面试题小结

Redis 中数据过期策略采用定期删除+惰性删除策略+内存淘汰机制定期删除策略:Redis 启用一个定时器定时监视所有的 key,判断key是否过期,过期的话就删除。这种策略可以保证过期的 key 最终都会被删除,但是也存在严重的缺点:每次都遍历内存中所有的数据,非常消耗 CPU 资源,并且当 key 已过期,但是定时器还处于未唤起状态,这段时间内 key 仍然可以用惰性删除策略:在获取 key 时,先判断 key 是否过期,如果过期则删除。

2023-11-30 17:35:58 6

原创 Redis Cluster集群分派问题

Redis集群脑裂问题是指,因为网络问题导致Redis Master节点跟Redis Slave节点和Sentinel集群处于不同的网络分区,此时因为Sentinel集群无法感知到Master的存在,所以将Slave节点提升为Master节点。集群脑裂问题中,如果客户端还在基于原来的Master节点继续写入数据,那么新的Master节点将无法同步这些数据,当网络问题解决之后,Sentinel集群将原先的Master节点降为Slave节点,此时再从新的Master中同步数据,将会造成【大量的数据丢失】。

2023-11-30 10:22:28 318

空空如也

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

TA关注的人

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