自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络常见面试题

简单来说,流量控制就是为了控制发送发的发送速率,保证接受方来得及接受;TCP连接的每一方都有固定大小的缓存空间,TCP的接受端只允许发送端发送接收端缓存区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失,从而实现流量控制;TCP 使用的流量控制协议是可变大小的滑动窗口协议。(即TCP 利用滑动窗口实现流量控制);接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。

2023-09-22 17:57:44 481

原创 Swagger简介

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码。而Springfox-swagger,则可以通过扫描代码去生成这个描述文件,连描述文件都不需要再去维护了。所有的信息,都在代码里面了。代码即接口文档,接口文档即代码。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

2023-09-06 19:08:57 395

原创 Redis面试题总结

Redis 是一种基于内存的数据库对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List(列表)Set(集合)、Zset(有序集合)、Bitmaps (位图) 、HyperLogLog (基数统计) 、GEO (地理信息)Stream (流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。

2023-08-31 10:31:58 345

原创 Spring框架知识点汇总

简单来说, Bean 代表被 IoC 容器管理的对象。我们通过配置文件或注解,告诉 oc 容器帮助我们管理哪些对象。

2023-08-30 15:54:15 790

原创 SpringBoot自动配置原理

自定义redis-starter,要求当导入redis坐标时,SpringBoot自动创建Jedis的Bean可以参考mybatis启动类的应用创建redis-spring-boot-autoconfigure模块创建redis-spring-boot-starter模块,依赖redis-spring-boot-autoconfigure的模块在redis-spring-boot-autoconfigure模块中初始化Jedis的Bean,并定义META-INF/spring.factories文件。

2023-08-29 14:46:23 102

原创 Java8 特性

interface 接口的设计目的是面向接口编程,提高扩展性。

2023-08-28 20:06:56 90

原创 ThreadLocal概述

ThreadLocal被称为线程局部变量,用于在线程中保存数据。由于在ThreadLocal中保存的数据仅属于当前线程,所以该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal用于在同一个线程间,在不同的类和方法之间共享数据的的场景,也可以用于在不同线程间隔离数据的场景。ThreadLocal利用Thread中的ThreadLocalMap来进行数据存储。

2023-08-27 11:53:32 65

原创 消息中间件-RocketMQ

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)例如:寄快递。

2023-08-23 19:39:34 65

原创 SpringBoot中间件ElasticSearch

倒排索引的概念是基于MySQL这样的正向索引而言的。

2023-08-22 18:39:41 215

原创 Redis入门使用以及简单的基于springboot整合

Redis 是一种基于内存的数据库对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List(列表)Set(集合)、Zset(有序集合)、Bitmaps (位图) 、HyperLogLog (基数统计) 、GEO (地理信息)Stream (流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。

2023-08-19 15:26:30 57

原创 Spring Bean的生命周期

Spring的生命周期总体分为四个阶段:实例化=>属性注入=>初始化=>销毁

2023-08-10 19:51:12 51

原创 CopyOnWriteArrayList核心源码阅读

针对List、Map、Set、Deque等,java.util.concurrent包也提供了对应的并发集合类。例如CopyOnWriteArrayList。Copy-On-Write简称COW,是一种用于集合的并发访问的优化策略。这样做的好处是:实现对CopyOnWrite集合容器写入操作时的线程安全,但同时并不影响进行并发的读取操作。所以CopyOnWrite容器也是一种读写分离的思想。

2023-07-17 20:25:51 94

原创 ReentrantLock与synchronized的区别

在多线程中,我们不可避免的要使用锁来实现同步,来保证代码的原子性。

2023-07-17 12:59:56 59 1

原创 线程池的执行流程

线程池内部维护了若干个线程,没有任务的时候,这些线程都处于等待空闲状态。如果有新的线程任务,就分配一个空闲线程执行。如果所有线程地处于忙碌状态,线程池会创建一个新线程进行处理或者放入工作队列中等待。

2023-07-16 12:37:10 115 1

原创 线程的实现方式

线程就是某些进程内部还需要执行多个子任务,我们就把子任务成为线程,线程是进程划分为的更小的运行单位。进程和线程的关系就是:一个进程可以包含一个或多个线程,但是至少有一个主线程。与进程不同的是,同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或者在各个线程之间做切换工作的时候,负担要比进程小得多。

2023-07-16 12:12:17 57 1

原创 AES算法的CBC和ECB两种工作模式

对称加密算法就是传统的用一个密钥进行加密和解密,从程序的角度看,所谓加密,就是一个函数接受密码和明文,然后输出密文;而解密则相反,它接受密码和密文,然后输出明文。密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。Java标准库提供的算法实现并不包括所有的工作模式和所有填充模式。

2023-07-16 10:50:43 77 1

原创 Java反射与动态代理

在学习反射之前必须要了解的一个概念就是:ClassJava中的类用来表示具有相同属性的方法的对象的集合,是抽象的概念。对象是类创建的,同一个类的不同对象具有不同的属性值。Java中定义的所有类都属于同一类事物,可以用Class来表示。Class类的对象就是不同的类对应的字节码。获取Clas对象由三种方法:3、通过Class类的静态方法forName(类名)class (包括 interface )的本质是数据类型( Type )。class 是由 JVM 在执行过 程中动态加载的。

2023-07-12 20:38:16 107 1

原创 常用的哈希算法总结

哈希算法又称位摘要算法,它的作用是”对任意一致输入数据进行计算,得到一个固定长度的输出摘要。1、相同的输入一定得到相同的输出;2、不同的输入大概率得到不同的输出。哈希算法的目的是为了验证原始数据是否被篡改。

2023-07-10 18:40:58 1153 1

原创 用Java实现FTP

然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。案例一:查看指定目录的文件信息。

2023-07-08 16:50:16 4681

原创 Java Email实现邮件的发送

通过对计算机网络的学习我可以知道,在发送电子邮件的时候使用的协议为smtp协议,接受电子邮件使用的协议为pop3协议,而这两个协议都是位于五层模型的应用层。

2023-07-08 16:20:28 337

原创 HashMap的数据结构

在JDK1.8 之前 HashMap 由数据结构组成的。在JDK1.8 之后 HashMap 由数据结构组成的。当使用Map集合的时候用的最多的就是HashMap,这篇文章主要介绍JDK1.8以后的HashMap;

2023-05-15 17:02:28 203

原创 ArrayList扩容方式的理解

ArrayList类又称动态数组,同时实现了Collection和List接口,其内部数据结构由数组实现,因此可对容器内元素实现快速随机访问。

2023-04-22 21:52:49 86 1

原创 LinkedList源代码阅读(1)

在实际开发中,我们在实现List接口来创建集合的时候,并非只能通过数组(ArrayList)来实现,我们还可以通过链表(LinkedList)来创建一个集合。在LinkedList中,他内部的每一个元素都指向下一个元素,每一个节点都是一个单独的存储空间。由上述代码可以知道(1)LinkedList同时实现了List接口和Queue接口,所以它既是一个双向链表,也是一个双端队列。允许添加任何元素,包括null元素;

2023-04-20 17:38:51 62

原创 微信小程序的全局生命周期和页面生命周期

生命周期是指一个程序或者软件从创建、到开始、暂停、唤起、停止、卸载的过程,由于微信小程序分为全局和页面两部分,所有从这两部分来讲解微信小程序的生命周期。

2022-08-17 20:20:55 2318 1

原创 JavaScript原型和原型链以及原型继承

JavaScript原型和原型链以及原型继承

2022-08-08 19:32:01 224

原创 JavaScript函数防抖和函数节流及其使用场景

JavaScript函数防抖和函数节流及其使用场景

2022-08-01 17:34:24 858

原创 JavaScript中的数组方法和循环

JavaScript数组用于在单一变量中存储多个值。是一个具有相同数据类型的一个或多个值的集合

2022-07-29 17:35:15 1158

原创 超级火的夏日小空调

超级火的夏日小空调。

2022-07-24 21:31:28 77

原创 使用CSS和HTML制作小图标开关

主要利用了CSS中的伪元素before完成的一个小案例。

2022-07-20 20:16:04 129

原创 使用JavaScript、CSS、HTML完成红绿灯小案例

主要使用JavaScript里的鼠标点击时间onclick,倒计时事件setInterval等等。

2022-07-19 19:21:11 1095

原创 常用CSS样式

CSS(层叠样式表)在网页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。

2022-07-19 19:05:18 3544 3

原创 常用HTML标签及其属性-整理

HTML不是一种编程语言,而是一种标记语言,是用来描述网页的一种语言,各种类型网页开发的基础型语言;HTML使用标签描述网页中图片、文本、音乐、视频、超链接等;

2022-07-12 20:27:49 1549

空空如也

空空如也

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

TA关注的人

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