自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 02-CPU是如何执行任务的

理解 CPU 是如何读写数据的前提,是要理解 CPU 的架构,CPU 内部的多个 Cache + 外部的内存和磁盘 都就构成了⾦字塔的存储器结构,在这个⾦字塔中,越往下,存储器的容量就越⼤,但访问速度就会⼩。CPU 读写数据的时候,并不是按⼀个⼀个字节为单位来进⾏读写,⽽是以 CPU Line ⼤⼩为单位,CPU Line ⼤⼩⼀般是 64 个字节,也就意味着 CPU 读写数据的时候,每⼀次都是以 64 字节⼤⼩为⼀块进⾏操 作。

2022-09-26 10:02:14 279

原创 01-缓存一致性问题

随着时间的推移,CPU 和内存的访问性能相差越来越⼤,于是就在 CPU 内部嵌⼊了 CPU Cache(⾼速缓 存),CPU Cache 离 CPU 核⼼相当近,因此它的访问速度是很快的,于是它充当了 CPU 与内存之间的 缓存⻆⾊。CPU Cache 通常分为三级缓存:L1 Cache、L2 Cache、L3 Cache,级别越低的离 CPU 核⼼越近,访问 速度也快,但是存储容量相对就会越⼩。

2022-09-26 10:00:55 129

原创 09-@Value注解

/@1}要求标注@RefreshScope注解的类支持动态刷新@Value的配置@1:这个地方是个关键,使用的是ScopedProxyMode.TARGET_CLASS下面类中有几个无关的方法去掉了,可以忽略//来个map用来缓存bean//@1}}/*** 清理当前*/}@Override}}}

2022-09-23 11:11:35 1093

原创 08-Spring父子容器

创建spring容器的时候,可以给当前容器指定一个父容器。本文需掌握父子容器的用法,了解父子容器的特点:子容器可以访问父容器中bean,父容器无法访问子容器中的beanBeanFactory接口支持层次查找ListableBeanFactory接口不支持层次查找BeanFactoryUtils工具类中提供了一些非常实用的方法,比如支持bean层次查找的方法等等。

2022-09-23 11:10:35 122 3

原创 06-注解

有些项目,前期可能采用xml的方式配置bean,后期可能想采用spring注解的方式来重构项目,但是有些老的模块可能还是xml的方式,spring为了方便在注解方式中兼容老的xml的方式,提供了@ImportResource注解来引入bean定义的配置文件。spring在创建bean的时候,如果bean之间没有依赖关系,那么spring容器很难保证bean实例创建的顺序,如果想确保容器在创建某些bean之前,需要先创建好一些其他的bean,可以通过@DependsOn来实现,

2022-09-22 18:05:53 93

原创 05-单例bean中使用多例bean(三种方式)

*** @param obj 被替换方法的目标对象* @param method 目标对象的方法* @param args 方法的参数}当调用目标对象需要被替换的方法的时候,这个调用请求会被转发到上面的替换者的reimplement方法进行处理。/*** servieB的方法替换者} }lookup-method:方法查找,可以对指定的bean的方法进行拦截,然后从容器中查找指定的bean作为被拦截方法的返回值。

2022-09-21 23:20:03 1083

原创 04-bean的创建和销毁

无依赖的bean创建顺序和定义的顺序一致,销毁顺序刚好相反通过构造器强依赖的bean,会先创建构造器参数中对应的bean,然后才会创建当前bean,销毁顺序刚好相反depend-on可以指定档期bean依赖的bean,通过这个可以确保depend-on指定的bean在当前bean创建之前先创建好,销毁顺序刚好相反bean的销毁顺序和bean创建的顺序相反。

2022-09-21 23:19:14 140

原创 03-依赖注入

本文主要讲解了xml中bean的依赖注入,都是采用硬编码的方式进行注入的,这种算是手动的方式注入普通类型通过value属性或者value元素设置注入的值;注入对象如果是容器的其他bean的时候,需要使用ref属性或者ref元素或者内置bean元素的方式还介绍了其他几种类型List、Set、Map、数组、Properties类型的注入。

2022-09-21 21:12:02 127

原创 02-Spring的scope

有时候,spring内置的几种scope都无法满足我们的需求的时候,我们可以自定义bean的作用域自定义作用域三步骤下面我们来实现一个线程级别的bean作用域,同一个线程中同名的bean是同一个实例,不同的线程中的bean是不同的实例。要求bean在线程中是共享的。

2022-09-21 21:11:13 136

原创 01-Spring容器基本使用及原理

负责对象的,对象的整个生命周期都是由容器来控制的。当我们需要使用的时候直接从ioc容器中直接获取就可以了。spring ioc容器时如何知道需要管理哪些对象的?需要我们给ioc容器提供一个配置清单,这个配置和,当spring容器启动时,就会加载这个配置文件,然后将这些对象给组装好以供外部访问者使用。这里所说的ioc容器也叫spring容器。

2022-09-21 21:10:17 168

原创 缓存穿透 击穿 雪崩

缓存穿透是指客户端请求的数据再redis缓存中和数据库中都不存在这样缓存永远不会生效,这些请求都会达到数据库中。在查询缓存时客户端首先将请求交给redis处理,发现redis中没有数据后查询数据库,此时redis中也没有数据,就不会建立缓存。那么如果客户端频繁查询该key对应的value就会导致请求频繁的打到数据库。这种现象叫做缓存穿透缓存空对象:当客户端查询时,即使数据库中没有数据,也将客户端传递过来的key缓存再redis中,value可以设置为null,这样当客户端频繁的查询该key时,就不会将请求打

2022-07-11 18:15:11 73

原创 redis实现缓存查询(商铺信息缓存为例)

缓存就是数据交换的缓冲区,是存贮数据的临时地方,一般读写性能较高。

2022-07-11 13:38:27 1173

原创 ClickHouse入门学习01

2016年俄罗斯Yandex(类似本土的百度)公司,开源的一款olap数据库

2022-07-05 17:48:42 480

原创 基于SpringBoot和Redis实现短信验证码功能

app中使用短信登录,使用redis实现

2022-07-04 16:47:08 1072 1

空空如也

空空如也

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

TA关注的人

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