Just play around
常用设计模式 常用设计模式
1.设计模式的六大原则单一职责原则一个类,应当只有一个引起它变化的原因;即一个类应该只有一个职责。 就一个类而言,应该只专注于做一件事和仅有一个引起变化的原因,这就是所谓的单一职责原则。该原则提出了对对象职责的一种理想期望,对象不应该承担太
2024-03-15
Redis高频面试题 Redis高频面试题
1.说一说Redis的持久化机制Redis主要是RDB持久化、AOF持久化这两种持久化方式。 RDBRDB(Redis Database)是Redis默认采用的持久化方式,它以快照的形式将内存数据持久化到硬盘中。RDB会创建一个经过压缩的二
2024-03-13
从源码上理解CAS操作 从源码上理解CAS操作
1背景在高并发的业务场景下,线程安全问题是必须考虑的,在JDK5之前,可以通过synchronized或Lock来保证同步,从而达到线程安全的目的。但synchronized或Lock方案属于互斥锁的方案,比较重量级,加锁、释放锁都会引起性
2024-03-04
途游-后端实习生一面面经 途游-后端实习生一面面经
1、谈一谈Java的集合 主要有Collection 和Map两类,Collection接口的实现子类是单列集合,Map的是双列集合。Collection 接口下面有两个子接口,List和Set。List有两个实现类ArrayList和
2024-02-28
SQL语句优化的常用技巧 SQL语句优化的常用技巧
1.回顾MySQL的执行过程MySQL内部服务组件可以分为server层和存储引擎层,其中跨存储引擎的功能都在server实现,比如触发器、视图等,而存储引擎执行实际的IO操作,数据的存储和提取。 数据库里面,长连接是指连接成功后,如果客
2024-02-19
深入理解MySQL中的锁 深入理解MySQL中的锁
锁机制是数据库为了保证数据的一致性,在共享的资源被并发访问时变得安全有序所设计的一种规则。利用 MVCC 性质进行读取的操作叫一致性读,读取数据前加锁的操作叫锁定读。
2024-02-17
分布式基础(二):BASE理论 分布式基础(二):BASE理论
在上一篇 CAP理论 中,我提到分布式系统理论上只能取CP或AP,如果要实现强一致性必然会影响可用性。但是,大多数系统实际上不需要那么强的一致性,而是更关注可用性。比如一个3节点的集群,假设每个节点的可用性为 99.9%,那么整个集群的可用
2024-02-08
分布式基础(一):CAP理论 分布式基础(一):CAP理论
集中式应用进行服务化拆分后,必然会出现一个问题:如何保证各个节点(Node)之间的数据一致性? 比如以下场景:用户首先发起一次更新操作,映射到节点A;然后,用户又做了一次查询操作,操作映射到了节点B,此时A和B的数据如果不一致,对用户来说就
2024-02-05
JVM之垃圾回收机制 JVM之垃圾回收机制
1.到底谁是垃圾?引用计数法日常生活中,如果一个东西经常没被使用,那么这个对象可以说就是垃圾。在 Java 中也是如此,如果一个对象不可能再被引用,那么这个对象就是垃圾,应该被回收。 根据这个思想,我们很容易想到使用引用计数的方法来判断垃圾
2024-02-02
JVM之Java虚拟机内存结构 JVM之Java虚拟机内存结构
概述Java虚拟机内存结构,也叫运行时数据区,根据《Java 虚拟机规范》,Java 虚拟机的内存结构可以分为公有和私有两部分。公有指的是所有线程都共享的部分,指的是 Java 堆、方法区、常量池。私有指的是每个线程的私有数据,包括:PC寄
2024-01-29
并发编程之volatile详解 并发编程之volatile详解
概述保证被 volatile 修饰的共享变量的 可见性 和 有序性,但不保证原子性 1.内存模型概述每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时
2024-01-24
深入理解MVCC机制 深入理解MVCC机制
我们先回顾一下事务并发执行过程中可能遇到的现象,按照一致性问题的严重性给他们排一下序: 肮写>脏读>不可重复读>幻读 在SQL标准中设立了4个隔离级别,级别越低就约有可能发生严重的问题,从低到高为: 隔离级别 脏读
2024-01-20
4 / 6