自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 深挖Redis数据结构-自顶向下(包含基本结构源码解读)

了解Redis的朋友都知道,Redis数据库是以键值对的形式存储所有数据的,Redis还能通过自身支持的五种数据类型来更自由地存储数据,只需要用对应的命令就能以这五种数据类型的形式将数据存进Redis数据库,但是Redis里的具体实现并没有看起来这么简单,这篇文章就自顶向下地来讲讲Redis是如何存储数据的Redis存储结构Redis数据库中键值对数据是以下图的方式存储在Redis服务器的,具体每个结构在下面会逐一分析redisServerRedis启动时会在main函数中初始化一个redisSe

2020-09-16 21:42:51 269

原创 三步实现简易的IOC

IOC是什么IOC(Inversion Of Control)是一种设计思想,意思是控制反转,这个思想的目的是为了自动地管理类的生命周期以及所有类之间的依赖关系。传统Java SE程序中如果我们需要在一个实例中引用另一个对象,一般是直接用new关键字直接创建一个对象来构建这个依赖关系,这种依赖构建方式使程序之间具有很强的耦合关系,甚至程序不能独立编译,难以进行单元测试。IOC设计思想可以让我们实现程序之间的解耦,很大程度地提高程序的灵活性和可维护性。以前是对象控制其他对象,现在将所有对象的控制权都交给了I

2020-08-29 20:49:19 605

原创 ThreadLocal是怎么实现线程私有变量的

ThreadLocal的功能在JMM中,所有的对象都存储在堆中,每个线程都能去访问堆中的对象,如果要暂时占有对象,可以使用Synchronized关键字进行加锁操作,但是这种操作只是暂时的,线程释放了锁以后这个对象又会变成共享状态。如果遇到需要生成线程私有变量的场景时,Java提供了一个叫ThreadLocal的类,用来构造线程独享的对象public class Test { private static final ThreadLocal<Integer> localInstan

2020-08-29 20:36:33 824

原创 SpringBoot在前后端分离场景下的异常处理

在前后端分离项目中,系统中的异常不适合直接传递到前端,我们可以用错误码和异常信 息封装成的自定义异常类以json的形式发送到前端,前端再根据错误码指定的错误类型和错误信息对用户完成合适的提示,这篇文章就来具体说说怎么去实现这种异常处理方式通用返回模型为了方便后端向前端传送数据,我们得先实现一个适用所有场景的返回模型,这个模型包含请求的处理结果(成功与否)以及需要返回的数据模型public class CommonReturnType { // 表明对应请求的返回处理结果,success或f

2020-07-22 17:55:16 1614

原创 基础排序算法(C实现)

冒泡排序void BubbleSort(int array[], int length) { for (int i = 0; i < length; i++) { for (int j = 0; j < length - 1 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = ar

2020-07-22 17:48:54 128

JDK8安装包(Linux+Windows)

JDK是Java开发工具包,包括JVM(Java虚拟机)和核心类库以及Java编译工具和打包工具等开发工具,本安装包为Linux和Windows系统下JDK8的安装包

2020-07-22

空空如也

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

TA关注的人

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