自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java对象创建过程

除了其他类加载器均由 Java 实现且全部继承自。如果我们要自定义自己的类加载器,很明显需要继承抽象类。:加载指定二进制名称的类,实现了双亲委派机制。name为类的二进制名称,resolve如果为 true,在加载时调用> c)方法解析该类。:根据类的二进制名称来查找类,默认实现是空方法。官方 API 文档中写到:建议的子类重写方法而不是方法。如果我们不想打破双亲委派模型,就重写类中的方法即可,无法被父类加载器加载的类最终会通过这个方法被加载。但是,如果想打破双亲委派模型则需要重写方法。

2023-08-16 20:52:55 139

原创 缓存三兄弟(穿透、击穿、雪崩)讲解及实例

本文主要讲解缓存穿透、缓存击穿、缓存雪崩的概念及相关实例,如布隆过滤器的使用、互斥锁的实现等。向value中添加一个时间值,每次访问时,获取当前时间,与过期时间比较,如果当前时间小于过期时间,没过期。反之,逻辑过期,此时获取互斥锁,并开启新线程,返回过期数据。查询数据时,使用相同的hash函数获取hash值,判断对应位置是否都为1,如果是,则该数据存在redis中;第二个线程过来,没得到锁,只能不断重试去获得锁,直至第一个线程释放锁,然后第二个线程就能够直接从缓存中获得数据。

2023-07-31 21:10:38 402

原创 阿里云短信服务实例(生成随机验证码,并存储到redis中)保姆教学

的功能,这里我们通过阿里云的短信服务实现这个功能,这篇文章,主要分为两个模块向大家展示功能的实现。随着智能时代的开启,我们几乎人手一部手机。在我们日常生活中使用各种APP都会有。代码大同小异,表达能力不行,我直接粘贴下来方便大家理解。跟签名一样都是需要申请的,当然我们也可以用自带的。到此为止,我们的准备阶段完成,下来上代码!,根据个人需求选择。,这个是实现短信服务的钥匙。登录成功后,点击控制台。创建成功后,保存自己的。

2023-06-30 18:14:08 827

原创 Swagger 的简介和使用

wagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。后端开发要为前端提供接口,同时还需要提供接口的说明文档。但我们的代码总是会根据实际情况来实时更新,这个时候有可能会忘记更新接口的说明文档,造成一些不必要的问题。归根到底,swagger就是帮助我们自动写接口说明文档的。更具体地,可以看下面的图片,swagger官方建议使用下面的红字部分。Swagger简单,易上手,是居家旅行必备良药。

2023-06-26 16:58:09 273

原创 IDEA搭建MySQL逆向工程

逆向工程是一种用来提取源代码或软件程序的技术,可以将数据库结构转换成可阅读的标准格式,从而了解数据库的内容。它的主要步骤有:首先识别每个数据库记录的内容,然后将记录转换为结构化的文本文档,最后将文档格式转换为其他格式,例如XML和JSON,以便在其他程序中使用。如果没有该插件,刷新几下。双击后等待加载,路径下没有显示对应文件,重启IDEA就好啦。

2023-06-22 16:16:58 954 4

原创 HashMap源码解析及常用方法

HashMap源码解析,简介,常用方法,源码解析,底层数据结构:jdk1.8以前 vs jdk1.8以后,Node节点类源码,树节点类源码:,构造方法,put方法,get方法,resize方法。首先,我们先通过LinkedList注释来了解这个集合的性质。Map接口的基于哈希表的实现。这个实现提供了所有可选的映射操作,并允许null值和null键。(HashMap类大致相当于Hashtable,只是它不同步并且允许null。)这个类对映射的顺序没有任何保证;

2023-06-18 22:27:43 77

原创 LinkedList源码解析及常用方法

首先,我们先通过LinkedList注释来了解这个集合的性质。双链表实现了list和Deque接口。实现所有可选的列表操作,并允许所有元素(包括null)。所有操作的执行都与双链表所预期的一样。索引到列表中的操作将从开始或结束遍历列表,以更接近指定索引的为准。请注意,此实现不是同步的。如果多个线程同时访问一个链表,并且至少有一个线程在结构上修改了该列表,则必须对其进行外部同步。(结构修改是指添加或删除一个或多个元素的任何操作;仅仅设置元素的值并不是结构修改。

2023-06-16 13:31:11 92 3

原创 ArrayList 源码解析扩容机制及常用方法

首先,我们先通过ArrayList注释来了解这个集合的性质。List接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括null在内的所有元素。除了实现List接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于Vector类,除了此类是不同步的。size、isEmpty、get、set、iterator和listIterator操作都以固定时间运行。ArrayList扩容机制,add()等方法详述。

2023-06-15 17:54:57 186 3

原创 125.Leetcode 验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。仅由可打印的ASCII字符组成。

2023-06-14 23:25:37 90

原创 事务四大特性及其分析

事务就是由单独单元的一个或多个sql语句组成,在这个单元中,每个sql语句都是相互依赖的。而整个单独单元是作为一个不可分割的整体存在,类似于物理当中的原子(一种不可分割的最小单位)。也就是事务只存在两种状态:成功,失败状态。我们的数据都是通过各种不同技术的存储引擎来引导存储的,不同的存储引擎,都有各自的特点。在mysql中,常见的存储引擎有innodb、myisam,memory等。其中InnoDB支持事务(transaction),而myisam,memory等不支持事务。

2023-06-12 21:57:38 500 1

原创 28.Leetcode 找出字符串中第一个匹配项的下标

给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是 haystack 的一部分,则返回-1。needle。

2023-06-12 21:05:41 46

原创 344.Leetcode 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

2023-06-12 21:04:19 47

原创 18.Leetcode 四数之和

题目:给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组。

2023-06-12 21:03:07 53

原创 142.Leetcode 环形链表 II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。提示:链表中节点的数目范围在范围 [0, 104] 内。

2023-06-07 16:59:49 48

原创 206.Leetcode 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。提示:链表中节点的数目范围是 [0, 5000]

2023-06-06 22:17:51 55 1

原创 203.Leetcode 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。提示:列表中的节点数目在范围 [0, 104] 内。

2023-06-06 17:56:50 53 1

原创 704.Leetcode 二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

2023-06-06 16:08:41 56 1

原创 209.Leetcode 长度最小的子数组

但是根据题目要求,我们需要长度最小的子数组,基于这个问题:我们一定遍历完整个数组,换句话说快慢指针需要移动到数组最后一位,找到最小长度的子数组。输入:target = 11, nums = [1,1,1,1,1,1,1,1]先举个例子: int[] nums = {2, 3, 1, 2, 4, 3};输入:target = 7, nums = [2,3,1,2,4,3]输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。

2023-06-05 20:57:17 52 1

原创 第二节: 流量控制简介及案例演示

关联模式,链路模式,流控效果,warm up,排队等待,热点参数限流等

2023-05-30 18:29:11 726 1

原创 第一节:初识Sentinel

什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlSentinel 具有以下特征:•丰富的应用场景。

2023-05-27 17:34:42 70 1

原创 Nacos的简介及安装和使用

1. Nacos简介1.1 核心特性1.2 常见的注册中心1.3 Nacos结构图2. 如何安装和配置Nacos?2.1 Nacos的安装2.2 如何使用Nacos?​ Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴开发和维护。​ Nacos支持多种注册中心和配置管理器,包括Spring Cloud Discovery、Dubbo、Kubernetes和Apache ServiceComb等。

2023-05-11 19:03:59 9060 3

原创 第四节 SpringBoot中的注解符使用

​ Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。注解本身是没有功能的,和xml一样,注解和xml都是一种元数据,元数据即解释数据的数据,也就是所谓的配置。:标注某个被访问的方法返回类型前,该方法将会返回JSON类型而不是String或其它类型。:是声明式事务管理,在接口实现类或接口实现方法上添加,只有public的方法才起作用,只读的接口不需要使用事务接口。常用于在一个组件中引入其他组件。

2023-05-10 19:15:49 57

原创 第三节 SpringBoot项目配置及yaml文件

在Spring Boot项目中,可以使用application.yml文件来代替application.properties文件进行配置。​ Spring Boot项目可以通过多种方式进行配置,包括application.properties文件、application.yml文件、命令行参数、环境变量等。如果一个工程中同时存在两种格式的文件,那么会 优先加载 .yml 文件,然后再加载 .properties,而且后加载的 .properties 会覆盖之前加载的 .yml 文件。

2023-05-10 19:13:43 921 1

原创 第二节 Spring Boot项目pom文件中starter解析

​ Spring Boot Starter是一组方便的依赖描述符,可以在应用程序中包含。它将所有的功能的依赖包都抽取出来,做成一个个的starters(启动器)。​ Starter是Spring Boot的四大核心功能特性之一,Starter是启动依赖,它的主要作用为:Starter组件以功能为纬度,来维护对应的jar包的版本依赖,使得开发者可以不需要去关心这些版本冲突这种容易出错的细节。Starter组件会把对应功能的所有jar包依赖全部导入进来,避免了开发者自己去引入依赖带来的麻烦。

2023-05-10 19:10:21 529 1

原创 第一节 SpringBoot项目简介及四大核心

第一节 SpringBoot简介1. 相关介绍2. 特点3. Spring Boot四大核心3.1 自动配置3.2 起步依赖3.3.1 使用简介3.4 命令行界面3.4.1 安装 Spring Boot CLISpring Boot 是由 Pivotal 团队提供的全新框架,2014 年 4 月发布 Spring Boot 1.0 2018 年 3 月 Spring Boot 2.0发布。它是对spring的进一步封装,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。

2023-05-10 16:17:20 419 1

jmeter-5.5.zip

sentinel测试软件

2023-05-27

sentinel-1.8.5.jar

sentinel_1.8.5.jar

2023-05-27

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

TA关注的人

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