- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 09:Redis-高级特性与原理
RDB(Redis DataBase)是Redis提供的一种快照式持久化机制。它会在指定的时间间隔内,将内存中的数据集以二进制的方式生成一个紧凑的压缩文件(默认为dump.rdb),保存到磁盘上。当Redis重启时,可以通过加载这个RDB文件来恢复数据。
2026-05-22 23:37:11
97
原创 08:MQ常见问题梳理
生产者使用事务消息机制。Broker配置同步刷盘+Dledger主从架构消费者不要使用异步消费。整个MQ挂了之后准备降级方案。
2026-01-11 18:10:28
960
原创 05:springboot
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必配置与逻 辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度 上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。
2025-12-12 16:01:00
156
原创 02:spring之AOP
一:AOP 简介1:AOP的概念AOP,Aspect Oriented Programming,面向切面编程,是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象都可以组成一个切面,而用这种思维去设计编程的方式叫做面向切面编程。2:AOP思想的实现方案动态代理技术,在运行期间,对目标对象的方法进行增强,代理对象同名方法内可以执行原有逻辑的同时嵌入执行其他增
2024-11-22 14:36:57
437
原创 01:spring之常见面试题&IOC bean&xml配置&注解
Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。比如Core Container中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和DI的基础,AOP组件用来实现面向切面编程。
2024-07-03 11:43:38
1180
原创 14:java基础-Tomcat-Web容器
文章目录面试题Web 容器是什么?HTTP 的本质面试题Web 容器是什么?让我们先来简单回顾一下 Web 技术的发展历史,可以帮助你理解 Web 容器的由来。早期的 Web 应用主要用于浏览新闻等静态页面,HTTP 服务器(比如Apache、Nginx)向浏览器返回静态 HTML,浏览器负责解析 HTML,将结果呈现给用户。随着互联网的发展,我们已经不满足于仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果,因此也就需要一些扩展机制能够让 HTTP 服务器调用服务端程序。于是 Sun
2024-05-10 23:26:30
663
原创 13:java基础-原子类&Unsafe类
Unsafe提供的API大致可分为内存操作、CAS、Class相关、对象操作、线程调度、系统信息获取、内存屏障、数组操作等几类,下面将对其相关方法和应用场景进行详细介绍。
2024-03-27 11:20:00
1123
原创 08:java基础-锁之AQS&ReentrantLock&BlockingQueue&CountDownLatch&Semapho
Exclusive-独占,只有一个线程能执行,如ReentrantLockShare-共享,多个线程可以同时执行,Semaphore/CountDownLatch同步等待队列条件等待队列不同的自定义同步器争用共享资源的方式也不同。自定义同步器在实现时只需要实现共享资源state的获取与释放方式即可,至于具体线程等待队列的维护(如获取资源失败入队/唤醒出队等),AQS已经在顶层实现好了。该线程是否正在独占资源。只有用到condition才需要去实现它独占方式。
2024-03-07 15:35:47
1073
原创 07:java基础-锁之volatile&synchronized
volatile是Java虚拟机提供的轻量级的同步机制。volatile关键字有如下两个作用。
2024-03-06 23:51:37
584
原创 03:java基础-io
可以简单地理解为一段内存区域,某些情况下,如果一个程序频繁地操作一个资源(如文件或数据库),则性能会很低,此时为了提升性能,就可以将一部分数据暂时读入到内存的一块区域之中,以后直接从此区域中读取数据即可,因为读取内存速度会比较快,这样可以提升程序的性能。在异步 I/O 操作完成后,操作系统会通知应用程序,应用程序可以注册一个回调函数(Callback),当 I/O 操作完成时,操作系统会调用这个回调函数来处理完成的结果。当应用程序发起一个异步 I/O 请求后,操作系统会立即返回,而不会阻塞当前线程。
2024-03-06 16:56:23
1128
原创 05:java基础-mysql
事务是逻辑上的一组操作,要么都执行,要么都不执行。事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。数据库连接本质就是一个 socket 的连接。
2024-03-01 17:27:19
1505
原创 02:java基础-泛型
JAVA推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常。泛型方法能使方法独立于类而产生变化如果static方法要使用泛型能力,就必须使其成为泛型方法/*** 静态的泛型方法,采用多个泛型类型* @param t* @param e* @param k*/类型通配符一般是使用"?"代替具体的类型实参。
2024-02-29 15:57:09
1120
原创 07:服务限流实现方案
令牌桶算法是对漏桶算法的一种改进,桶算法能够限制请求调用的速率,而令牌桶算法能够在限制调用的平均速率的同时还允许一定程度的突发调用。在令牌桶算法中,存在一个桶,用来存放固定数量的令牌。放令牌这个动作是持续不断的进行,如果桶中令牌数达到上限,就丢弃令牌,所以就存在这种情况,桶中一直有大量的可用令牌,这时进来的请求就可以直接拿到令牌执行,比如设置qps为100,那么限流器初始化完成一秒后,桶中就已经有100个令牌了,这时服务还没完全启动好,等启动完成对外提供服务时,该限流器可以抵挡瞬时的100个请求。
2024-01-21 17:22:12
1444
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1