楼上有只喵
  • 首页
  • 归档
  • 分类
  • 标签
  •   
  •   

xxlJob使用

1. 任务调度1. 什么是任务调度任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程。 2. 什么场景会需要任务调度 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前3天进行短信提醒 某财务系统需要每天凌晨结算前一天的财务数据 2. 分布式任务调度1. 什么是分布式任务调度采用分布式架构,一个服务往往会部署多个冗余实例来运行我们的
2024-07-04

pgsql

1. pgsql的优势1. 开源和社区支持 开源:PostgreSQL 是完全开源的,无需支付许可费用。 活跃的社区:有一个活跃的社区提供支持和开发,不断改进和更新功能。 2. 强大的功能集 ACID 合规:完全遵循 ACID 原则,确保数据的可靠性和一致性。 高级 SQL 功能:支持复杂查询、子查询、窗口函数、CTE(Common Table Expressions)等。 并发控制:使用多版本
2024-07-03

内存泄漏和内存溢出

1.内存泄漏 (Memory Leak)1. 定义 内存泄漏是指程序未能释放已经不再使用的内存,从而导致内存资源被浪费。尽管这些内存不再被程序使用,但由于程序仍然持有对它们的引用,垃圾收集器无法回收它们。 2. 症状: 随着时间推移,程序占用的内存不断增加。 程序可能在长时间运行后变得越来越慢。 最终可能导致内存溢出错误(OutOfMemoryError)。 3. 原因: 忘记移除不再使用的对象
2024-06-13
JVM

RabbitMQ的消息零丢失方案

RabbitMQ如何保证消息的可靠性?哪些环节会有丢消息的可能? 普通消息处理流程 消息生成者发送消息 MQ收到消息,将消息进行存储(持久化到硬盘)。 返回ACK给生产者 MQ push 消息给对应的消费者,然后等待消费者返回ACK 如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新
2024-06-13
RabbitMQ
#MQ #消息可靠性

FullGC

1. FullGC 是什么?Full GC(Full Garbage Collection,全垃圾收集)是 Java 虚拟机(JVM)执行的一种垃圾收集过程,它会对整个堆内存进行垃圾收集,包括年轻代(Young Generation)和老年代(Old Generation),以及永久代(PermGen)或元空间(Metaspace)。 Minor GC:仅针对年轻代(Eden 和 Survivo
2024-06-13
JVM

操作系统OOM Killer

1. OOM Killer 是什么?OOM Killer(Out of Memory Killer)是 Linux 操作系统内核中的一个机制,用于在系统内存耗尽时,通过终止进程来释放内存资源,从而防止系统崩溃或无法响应。 2. OOM Killer 的触发条件当系统的物理内存和交换空间(swap)都被完全占用,且内核无法再分配内存时,就会触发 OOM(Out of Memory)状态。在这种情况下
2024-06-12

脑裂

1. 脑裂是什么?脑裂是指在分布式系统中,网络分区或其他原因导致集群中的节点分裂成多个子集。由于互相无法通信,这些子集各自认为自己是唯一的集群,从而可能导致数据不一致性、服务重复、竞态条件等严重问题。 在分布式数据库、分布式文件系统、分布式锁等系统中,脑裂问题尤为重要,因为它直接影响系统的正确性和一致性。 2. 脑裂的成因 网络分区:集群中的节点因网络故障被分隔成多个子集,子集之间无法通信。 节点
2024-05-30

java基础

1. Java 面向对象的三大特性及理解 默认情况下,面向对象有三大特性:继承、封装、多态。但如果考官让回答4大特性,我们就把抽象加上去。 1、继承 继承就是从已有的类继承信息创建新类的过程,被继承的类称为父类(也叫基类、超类),继承的类叫做子类(也叫派生类)。子类可以全盘接受父类的所有属性和方法(甚至是private修饰的,也可以继承,但是不能在父类之外访问,提供共有的访问方法(比如封装s
2024-05-25

spring常见面试题

1. Spring 注入过程 启动 Spring 容器 读取配置文件或注解扫描(如 @ComponentScan)加载 Bean 的定义。 Spring 容器会根据 Bean 的定义实例化对象。这个过程称为实例化(Instantiation)。 Spring 容器会注入依赖对象到 Bean 中。依赖注入可以通过构造器、Setter 方法或字段注入来实现。 依赖注入完成后,可以通过 Spring
2024-05-24

线程池

1. 线程池的定义 线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源,提高了代码执行效率。 线程池和工厂模式、观察者模式有关(自己不要提,设计模式是个坑) 2. 使用线程池的好处1.降低资源消耗。通过重复利
2024-05-22
123456…26

搜索

Hexo Fluid
总访问量 次 总访客数 人