自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap源码分析(学HashMap源码看这一篇就够了)

HashMap简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。在jdk1.8以前HashMap主要基于数组加链表来实现,而jdk1.8以后HashMap通过数组加链表加红黑树来实现HashMap的底层结构和核心理论HashMap的底层结构(图片来源于网络)HashMap通过hash函数将对应的key转化成固定长度的值,来充当下标映射到数组对应的位置Hash的特点:通过hash值不能反向推导出原始的数据的值相同的元素会得到相同的hash值路

2020-05-23 21:19:52 201

原创 MySQL学习02-字符集和比较规则

MySQL字符集和比较规则

2023-02-28 08:34:10 282

原创 MysSQL学习01-MySQL的启动选项和系统变量

MySQL的启动选项和系统变量

2023-02-23 08:38:15 221

原创 Java反射机制、注解

一、什么是反射机制能够分析类的能力的程序称为反射。通过反射我们可以实现很多功能,如:在运行时分析类的能力在运行时查看对象实现通用数组的操作二、Class对象在了解反射之前我们首先需要了解Class对象。在Java核心技术卷一中对Class对象的定义是这样的在程序运行期间Java运行时系统始终为所有对象维护一个被称为运行时的类型标志。这个信息跟踪着每个对象所属的类。虚拟机利用运行时类型信息选择相应的方法执行。保存这些信息的类就被称为ClassClass对象保存着类的相关信息,当我们编

2022-01-11 22:04:31 263

原创 递归学习 及汉诺塔算法

递归学习 及汉诺塔算法递归指的是方法自己调用自己。当一个问题规模过大,而问题可以拆分成一个规模更小的子问题时我们便可以考虑使用递归。编写递归代码时需要注意的问题递归总有一个最简单的情况(结束条件),即我们编写的递归函数需要一条语句来判断问题是否达到了结束条件,如若达到则退出函数(所以我们在编写递归函数时通常需要找到结束条件的情况,确定函数退出的条件)每次递归调用都是去解决一个规模更小的情况,只有这样我们才能通过不断地递归调用来将问题规模收敛到最小规模递归调用的父问题和尝试解决的子问题之间不应该

2021-11-01 00:00:57 142

原创 Vue入门(二)v-show、v-if、v-bind

v-show: 用来控制标签是否展示 底层是通过display元素来控制标签的展示与隐藏v-if: 用来控制标签是否展示 底层是通过dom树的增加和删除来控制标签的展示与隐藏v-bind: 用来给标签绑定元素 简化写法 v-bind:属性名=’’ ====> :属性名=’’<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &lt.

2021-01-19 20:59:34 139

原创 Vue入门(一)v-text、v-html以及插值表达式

一、v-text、v-html以及插值表达式1、插值表达式{{ 变量名 }}形式取值.网络环境差可能出现插值闪烁的问题2、 v-text、v-htmlv-text:将变量绑定到指定位置,如果标签内有数据会覆盖原有数据,插值表达式则不会v-html:功能与v-text类似,但v-html会解析变量内的html标签v-text和v-html都可以会覆盖原有数据,都可以避免插值闪烁问题<!DOCTYPE html><html lang="en"><head&g

2021-01-19 20:57:06 479

原创 RabbitMQ学习(四)订阅模式

一、订阅模式在fanout模式中,一条消息会被所有订阅的队列消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange在Direct模式下:队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)消息的发送方在Exchange发送消息时,也必须指定消息的RoutingKeyExchange不再把消息交给每一个绑定的队列,而是根据RoutingKey进行判断,只有队列的RoutingKey与消息的RoutingKey完

2021-01-12 21:06:53 288

原创 RabbitMQ学习(三)广播模型(fanout)

一、消息发送流程广播模式下,消息的发送流程:可以有多个消费者每个消费者有自己的queue(队列)每个队列都要绑定到Exchange(交换机)生产者发送的消息,只能发送到交换机,交换机来决定要发送给那个队列,生产者无法决定交换机把消息发送给绑定过的队列队列的消费者都能拿到消息。实现一条消息被多个消费者消费二、代码实现生产者代码:package fanout;import com.rabbitmq.client.Channel;import com.rabbitmq.client

2021-01-11 20:51:50 311

原创 RabbitMQ学习(二)工作队列模型

一、什么是工作队列模型work queues,也称为(Task queues)任务模型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。二、实现代码生产者:package workQuene;import com.rabbitmq.client.Channel;import com.rab

2021-01-11 18:08:11 117

原创 RabbitMQ学习(一)入门及简单直连模型代码编写

一、什么是MQMQ(message Quene):翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间的解耦,别名 消息中间件 通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成二、RabbitMQ基于AMQP协议,erlang语言开发,是部署最广泛的开源消息中间件,是最受欢迎的开源消息中间件之一。AMQP:Ad

2021-01-10 23:58:30 161

原创 Nginx简单入门

Nginx简单入门自学Nginx做的笔记,还有一些没有整理,发出来希望一起进步文章目录Nginx简单入门一、nginx相关概念二、nginx的常用命令(需要在nginx所在目录执行)三、nginx的配置文件(nginx.conf)四、nginx配置实例 ===反向代理五、nginx配置实例 ===负载均衡六、nginx的配置实例 ===动静分离一、nginx相关概念1、什么是nginxNginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。

2021-01-06 20:46:22 104

原创 java判断对象是否为空(对象创建但未初始化)

java判断对象是否为空在学习过程中遇到的一个小问题记录下来分享一下在一个保存用户接口中,后端接收用户传递的对象调用对应的方法进行保存,前端使用vue进行开发。前端传递的对象有可能为未初始化对象,所以后端要进行判断,确定对象是否还未初始化。前端判断代码 if (JSON.stringify(_this.user)=='{}'){ alert('不能保存空的用户信息'); }后端判断代码

2020-12-30 09:19:19 1784

原创 ArrayList动态扩容原理(部分源码展示)

ArrayList动态扩容原理(部分源码展示)ArryList的动态扩容:每当执行添加元素的方法,ArrayList会检查内部数组的容量是否足够,如果不够,它就会以当前容量的1.5倍来重新构建一个数组,将旧元素Copy到新数组中,然后丢弃旧数组。核心方法:ArrayList的grow方法会判断当前数组容量是否足够,不够就通过copyOf()方法创建一下新的数组并把旧数组的内容copy过去private void grow(int minCapacity) { // overflow-

2020-05-12 14:04:53 215

原创 Java中的异常处理机制

Java中的异常处理机制最近在整理以前的笔记,所以整理了一下发到博客上希望各位大佬能指出我的不足一、什么是异常异常就是在程序运行期间由于程序的一些错误或者一些外部环境影响发生的错误二、异常的分类所有的异常都是由Throwable继承而来,Throwable的子类是Java处理异常的两个重要的类:Error和ExceptionError:描述的是Java运行时系统的内部错误和资源耗尽的错误Exception:可以分为由程序错误导致的异常RuntimeException和程序本身没 有问题但

2020-05-11 15:40:20 207 1

原创 Mybatis getMapper源码分析

Mybatis getMapper源码分析一、简介二、分析Mybatis工作流程1、加载配置文件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart...

2020-05-09 11:26:21 196

原创 The import XXX cannot be resolved解决方案

The import XXX cannot be resolved解决方案点击project–>clean完成后将鼠标移至需要导包的语句处 点击Fix project setup 即可

2019-07-17 20:41:29 829 1

空空如也

空空如也

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

TA关注的人

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