自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入浅出聊聊如何保证数据库与缓存的一致性

分布式场景下的数据一致性的问题是我们无法绕过去的,那么我们如何解决缓存与数据库的一致性问题呢?

2023-02-26 18:06:15 296

原创 @Resource注解工作原理

引言在探索原理及源码时,最好是带有目的性的去验证,拿结论来探索过程,往往是最有效的本次我们来探索一下@Resource注解的工作原理,我们先看下结论1.如果@Resource注解中指定了name属性,那么则只会根据name属性的值去找bean,如果找不到则报错2.如果@Resource注解没有指定name属性,那么会先判断当前注入点名字(属性名字或方法参数名字)是不是存在Bean,如果存在,则直接根据注入点名字取获取bean,如果不存在,则会走@Autowired注解的逻辑,会根据注入点类型去

2020-10-23 15:55:59 2688

原创 @Autowired与@Value注解工作原理

一. 找到所有被@Autowired、@Value、@Inject(若项目中有引入)注解的字段和方法InjectionMetadata metadata = findAutowiringMetadata(beanName, bean.getClass(), pvs);判断是否能从缓存中获取到,获取到并且类型匹配则直接返回根据当前bean的class类型,获取所有的注入点1. 判断是否有@Autowired、@Value、@Inject注解2. 字段处理,获取required值(是否必须注入),

2020-10-22 13:19:11 705 1

原创 如何根据二进制数快速算出对应的十进制数字

例如:十进制数字 “4”:二进制位 0000 0100从右向左代表着低位到高位的存储,因为逢2进1,所以我们可以根据最后一位是0还是1,来很清楚的判断十进制数字是奇数还是偶数同时,因为从右到左代表从高到低位,所以我们计算的时候可以根据一个公式来套用(亲测,不信可以自己列出数字来试下):m2n + m2n-1 +……+m*20(n代表位数,m代表第n位的数字)我们的位数是从0开始算的,所以从右往左依次为,第0位、第1位……,数字“4”的二进制数第2位为1,所以我们可以根据公式计算1 *

2020-09-30 00:16:20 1654

原创 并发编程---JMM模型

引言在了解本文之前,我们知道所谓的并发编程就是平日中接触的多线程编程,既然扯到了多线程,那一定绕不开多线程的一些特性以及每个线程的结构或者说是线程的内存模型。接下来,我们从JMM(Java线程内存模型)来进行一些原理上的剖析。多线程的关系分为三种:1.同步:线程之间的协作2.互斥:常见的互斥锁3.分工:大任务的拆解多线程经常遇到的问题:1.死锁2.资源共享问题3.CPU调度问题(线程是由CPU来调度,JVM是没有权限的)4.脏读5.原子性问题并发的特性是什么?本质又是解决

2020-09-29 23:56:11 795

原创 JVM学习之路(一)----初识JVM

1.JVM是什么JVM全称Java Virtual Machine,也叫作Java虚拟机,是Java程序运行的必不可少的环境,它可以将为class字节码文件编译为机器识别码来实现跨平台运行,所以JVM是JRE的一部分。2.OOP-Klass模型Klass是Java类在JVM中的一种存在形式,可以说每个Java类在JVM中都有与之相对应的实例,而这个实例 就是 Klass。Klass模型图如下① InstanceKlass储存java类的元信息InstanceMirrorKlass学名

2020-09-14 12:44:10 89

原创 JVM GC算法及原理

引言Java程序在运行过程中会产生大量的对象,但是内存大小是有限的,如果仅仅使用而不去释放它,那内存迟早被耗尽,但是Java又不像C/C++需要手动释放内存,而是通过GC回收器来进行自动回收释放。垃圾回收器来进行内存回收的时候概括的来讲分为两步:1.标记垃圾2.回收垃圾上面两步是思想,所以基于此诞生了很多算法,但是在进行内存回收之前我们是需要一个前提,就是判断哪些对象是“垃圾”,才能给予打上回收的标记,下面我们进入正题垃圾判断算法即判断JVM的堆栈中对象哪些是存活的,哪些是可回收的的算法。

2020-08-20 00:54:34 488

空空如也

空空如也

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

TA关注的人

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