自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CAS操作

使用锁时,线程获取锁是一种,即假设每一次执行临界区代码都会产生冲突,所以当前线程获取到锁的时候同时也会阻塞其他线程获取该锁。而CAS操作(又称为无锁操作)是一种,它假设所有线程访问共享资源的时候不会出现冲突,既然不会出现冲突自然而然就不会阻塞其他线程的操作。因此,线程就不会出现阻塞停顿的状态。那么,如果出现冲突了怎么办?无锁操作是使用**CAS(compare and swap)**又叫做比较交换来鉴别线程是否出现冲突,出现冲突就重试当前操作直到没有冲突为止。

2023-08-08 17:28:21 144

转载 MySQL不同索引的区别(InnoDB引擎)

数据库的索引类型从物理存储角度,索引可以分为以下两类: 聚集索引(主键索引):按照每张表的主键构造一颗B+树,同时叶子节点中存放的即为整张表的记录数据。聚集索引的叶子节点称为数据页,聚集索引的这个特性决定了主索引文件和数据文件为同一份文件,数据的排列顺序和索引的排列顺序一致。 非聚集索引(又叫辅助索引,二级索引,非主键索引):在聚集索引之上创建的索引称之为辅助索引。辅助索引并不存储数据,只存储主键的值,如果使用辅助索引搜索数据就必须先从辅助索引取到主键的值,再使用主键的值去主键索引上查

2023-01-03 00:42:33 2077

原创 MySQL索引的实现——行结构(InnoDB引擎)

MySQL,索引,B+树,InnoDB引擎,底层原理,数据库

2023-01-01 16:47:58 4107

原创 MySQL索引的实现——数据页结构(InnoDB引擎)

MySQL,索引,B+树,InnoDB引擎,底层原理,数据库

2023-01-01 16:47:31 3964

原创 MySQL索引的实现——B+树的构造(InnoDB引擎)

MySQL,索引,B+树,InnoDB引擎,底层原理,数据库

2023-01-01 16:46:56 4532

原创 内存泄露与内存溢出

内存溢出与内存泄露

2022-09-03 15:03:49 4803

原创 线程与进程以及分别的通信方式

线程 进程 通讯

2022-08-27 21:30:07 4790

原创 java垃圾回收机制

java垃圾回收 jvm

2022-08-27 21:04:53 4671

原创 java设计模式的六大原则

java设计模式的六大规则

2022-08-27 15:20:12 4652

原创 java 调用python脚本的方法

java调用python脚本文件

2022-08-09 20:19:34 9024 2

原创 java 输入输出流

java I/O流在java中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方。根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。为什么要使用输入输出流例如,我们平时用的 Office 软件,对于 Word、Excel 和 PPT 文件,我们需要打开文件并读取这些文本,和编辑输入一些文本,这都需要利用输入和输出的功能。在现实生活中,输入和输出的例子比比皆是。什么是I/O流I/O流概念:输入就是将数据从各种输入设备(包括文件、键盘

2022-05-23 21:19:39 5278 3

原创 java注释

概念:注解(Annotation),是 Java 平台中非常重要的一部分。注解都是 @ 符号开头的,例如我们在学习方法重写时使用过的 @Override 注解。同 Class 和 Interface 一样,注解也属于一种类型。作用:注解常见的作用有以下几种: 生成帮助文档。这是最常见的,也是 Java 最早提供的注解。常用的有 @see、@param 和 @return 等; 跟踪代码依赖性,实现替代配置文件功能。比较常见的是 Spring 2.5 开始的基于注解配置。作用就是减少配..

2022-05-23 21:16:41 112

原创 RabbitMQ简单介绍

1.1 RabbitMq概念RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑,RabbitMQ是一个快递站,一个快递员帮你传递快件,RabbitMQ与快递站的主要区别在于,它不处理快件而是接收存储和转发消息数据1.2 四大核心概念生产者:产生数据并发送数据的程序是生产者交换机:交换机是rabbitMQ一个非常重要的部件,一方面它接受来自生产者的消息,另一方面它将消息

2022-04-26 14:35:32 2284

原创 MQ相关介绍

1.1 什么是MQMQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制用于上下游传递消息在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务,在使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务1.2 为什么要使用 MQ1.流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但

2022-04-26 14:33:47 715

原创 java IO流

java基础 io流 输入输出流

2022-03-28 16:40:57 246

原创 Redis发布与订阅

什么是发布与订阅Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端Redis的发布与订阅订阅..

2022-03-28 08:45:31 901

原创 Redis五种数据结构

redis的数据结构

2022-03-27 12:56:43 513

原创 jwt 及springboot实现

什么是JWTJSON Web Token 通过数字签名的方式,以json对象为载体,在不同服务中端之间安全的传递信息。JWT作用JWT最常见的场景是授权登录,一旦用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求之前,都会先进行JWT安全验证,通过之后再进行处理,例如公司进出时的工牌JWT的组成JWT总共由三部分组成,并用.拼接例如sakakhvhhjasvx5as6xsaxxs51a6.xasyjxsvaxsa6545sx6asxbahvxshsx1a+saxsxn

2022-03-25 11:24:34 1104

原创 数据结构——树

树1.预备知识树的定义: 一棵树是一些节点的集合。这些集合可以是空集;若不是空集,则树由称作根(root)的节点 r 以及0或多个非空的(子)树T1,T2,T3……构成,这些子树每一棵的根都由来自根 r 的一条有向边连接。树的特性:一棵树是N个节点和N-1条边的集合,其中一个节点叫做根树叶:没有儿子的节点叫做树叶兄弟节点:具有相同父亲的节点叫做兄弟节点节点深度:根到该节点的唯一路径长树的高度:树的高度等于该树的最深的树叶的深度2.树的实现树的实现的解决方法:将每个节点的所

2022-03-24 20:56:41 2383

原创 三数之和-java

三数之和 算法 java 刷题

2022-03-22 21:43:14 2581

原创 数据结构的概述

首先数据结构包括线性结构和非线性结构线性结构:l )线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2 )线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续(即地址是连续的)的3 )链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息4 )线性结构常见的有:数组、队列、链表和栈.非线性结构:二维数组,多维数组,广义表,树结构,图结构

2022-02-22 21:06:58 2006

原创 SpringBoot2的自动配置原理

今天学习了SpringBoot2的自动配置原理,认为十分巧妙,所以记录一下自己的学习感悟。1预备知识 在介绍SpringBoot2的自动装配原理之前,有几个注解需要我们认识一下,这几个注解在我看来是自动装配原理的基础。 1.1 @Conditional 条件装配 这里的注解并不只有@Conditional,而是和@Conditional具有相同功能的注解,比如以下注解: 此类注解的作用是:当满足Conditi...

2021-12-24 15:50:06 2064

原创 SpringBoot2版本的@Configuration注解的源码详解

​​​这周开始对SpringBoot2源码的学习呢,突发奇想,要记录一下自己的学习经历,下面是对@Configuration注解的说明@Configuration注解说明 @Configuration作用:表明一个类中声明一个和多个@Bean标记的方法,并且这些方法被Spring容器管理用于生成Bean定义以及在运行时这些Bean的服务请求。 简单来说,就是将@Configuration下的类和@Bean下的方法当作组件,将这些组件放入Spring容...

2021-12-20 19:17:37 2227

原创 Ubuntu系统下JDK的安装

众所周知啊,各种配置的下载安装是非常麻烦的,今天呢我来介绍一下Ubuntu系统下JDK的安装。 下载jdk的压缩包首先进入甲骨文官网(www.oracle.com)再依次点击资源-->软件下载-->java找到如下页面点击即可(推荐选择java SE8版本)再根据自己的系统选择版本,在这里我们下载压缩包(后缀为tar.gz) 2 . 对JDK压缩包进行解压打开压缩包,将第一级目录提取到想要的文件夹中 3 . 配置...

2021-08-29 16:33:38 2622

后端学习路线.mmap

想学习Java后端,同时激励自己学习

2021-05-22

空空如也

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

TA关注的人

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