- 博客(92)
- 收藏
- 关注
原创 计算机网络之Socket编程
TCP、UDP套接字编程应用程序体系结构客户-服务器P2P混合应用程序需要的服务品质描述:可靠性、带宽、延时、安全Internet传输层服务模式可靠的、面向连接的服务:TCP不可靠的数据报:UDP流行的应用层协议:HTTPFTPDNSSocket编程应用层协议报文类型:请求/响应报文:客户端请求信息或服务服务器以数据、状态码进行响应报文格式:首部:关于数据信息的字段数据:被交换的信息控制报文vs.数据报文带内、带外。
2023-12-01 08:00:00
267
原创 RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(基于SpringBoot)
WorkQueues模型、Fanout交换机、Direct交换机、Topic交换机、基于SpringBoot注解声明队列和交换机、消息转换器。以上就是所有讲解。
2023-11-29 15:11:09
734
原创 Redis实现分布式锁
Redis实现简单分布式锁。在多线程环境中,如果多个线程同时访问共享资源(例如商品库存、外卖订单),会发生数据竞争,可能会导致出现脏数据或者系统问题,威胁到程序的正常运行。举个例子,假设现在有 100 个用户参与某个限时秒杀活动,每位用户限购 1 件商品,且商品的数量只有 3 个。如果不对共享资源进行互斥访问,就可能出现以下情况:线程 1、2、3 等多个线程同时进入抢购方法,每一个线程对应一个用户。
2023-11-29 10:59:21
680
原创 Java基础之原码,反码,补码,位运算符
原码,反码,补码对于Java程序员来说是一个重点,也是对于初学者来说的一个难点,这里我给出一些简单易懂的规律与介绍(适合快速入门)。本篇内容是跟位运算符一起讲解的,正好可以做一些位运算符的习题来掌握原码,反码,补码的内容,也便于较好理解位运算符。二进制是逢2进1位的进位制,0、1是基本算符。现代的电子计算机技术全采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子实现。计算机内部处理的信息,都是采用二进制数来表示的。
2023-11-29 09:57:28
811
1
原创 计算机网络:快速了解网络框架
概述计算机网络。节点主机及其上运行的应用程序路由器、交换机等网络交换设备边:通信链路接入网链路:主机连接到互联网的链路主干链路:路由器间的链路协议数以亿计的、互联的计算设备(端系统:end system 或者 host):主机 = 端系统运行网络应用程序通信链路:光纤、同轴电缆、无线电、卫星传输速率 = 带宽(bps)分组交换设备:转发分组(packets)路由器和交换机协议控制发送、接收信息如TCP、IP、HTTP、FTP、PPP。
2023-11-28 11:02:19
1093
原创 RabbitMQ之消费者可靠性
当RabbitMQ向消费者投递消息以后,需要知道消费者的处理状态如何。消息投递的过程中出现了网络故障消费者接收到消息后突然宕机消费者接收到消息后,因处理不当导致异常一旦发生上述情况,消息也会丢失。因此,RabbitMQ必须知道消费者的处理状态,一旦消息处理失败才能重新投递消息。但问题来了:RabbitMQ如何得知消费者的处理状态呢?以上就是实现消息可靠性的详细讲解。
2023-11-26 10:40:54
1147
原创 RabbitMQ之发送者(生产者)可靠性
生产者重试机制、生产者确认机制。每个RabbitTemplate只能配置一个ReturnCallback,因此我们可以在配置类中统一设置。// 获取RabbitTemplate RabbitTemplate rabbitTemplate = applicationContext . getBean(RabbitTemplate . class);
2023-11-24 20:48:22
1246
1
原创 RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(SpringBoot整合)
WorkQueues模型、Fanout交换机、Direct交换机、Topic交换机、基于SpringBoot注解声明队列和交换机、消息转换器。以上就是所有讲解。
2023-11-23 15:49:48
115
原创 RabbitMQ快速入门(简单收发消息)
1.了解数据隔离2.RabbitMQ控制台收发信息3.SpringBoot整合RabbitMQ收发信息以上就是简单的消息收发,具体的编程化创建虚拟机,队列以及收发信息,我会在讲解交换机的文章中讲解。
2023-11-22 21:57:04
944
原创 Docker中的RabbitMQ已经启动运行,但是管理界面打不开
肯定有好多小伙伴在学习RabbitMQ的过程中,发现镜像运行,但是我的管理界面怎么进不去,或者说我第一天可以进去,怎么第二天进不去了,为什么每次重新打开虚拟机都进不去了。下面我总结了解决这两种问题的方法,都是个人经历过的血泪。以上就是本人的血泪记录。
2023-11-19 17:25:25
723
5
原创 Docker中快速安装RabbitMQ
在Ubuntu中的Docker容器中快速安装RabbitMQ,亲测有效,不废话,上操作。以上就是在Ubuntu中的Docker安装RabbitMQ,亲测有效。
2023-11-19 16:52:59
478
原创 Redis实现分布式锁
Redis实现简单分布式锁。在多线程环境中,如果多个线程同时访问共享资源(例如商品库存、外卖订单),会发生数据竞争,可能会导致出现脏数据或者系统问题,威胁到程序的正常运行。举个例子,假设现在有 100 个用户参与某个限时秒杀活动,每位用户限购 1 件商品,且商品的数量只有 3 个。如果不对共享资源进行互斥访问,就可能出现以下情况:线程 1、2、3 等多个线程同时进入抢购方法,每一个线程对应一个用户。
2023-11-11 14:57:51
84
原创 Redis之缓存
本篇文章即将探索的问题(以黑马点评为辅助讲解,大家主要体会实现逻辑)使用redis缓存的原因数据库与缓存不一致问题三大缓存问题(缓存穿透、缓存雪崩、缓存击穿)。以上就是Redis缓存的详细讲解与实现。
2023-11-10 15:08:00
604
1
原创 短信登录实现(黑马点评为例)
短信登录核心知识首先黑马点评这个短信登录是一伪验证,即后台调用工具类随机生成六位数字。1.Redis代替session共享,满足多tomcat共享数据。2.登录拦截、线程隔离实现每个线程操控自己线程的数据与登录状态刷新问题解决。3.创建新对象解决隐藏用户敏感信息。以上就是短信登录的详细实现,细节满满。
2023-11-07 19:54:22
99
原创 Redis之哨兵模式
从主从复制到哨兵模式。主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(master / leader),后者称为从节点(slave/follower)。数据的复制是单向的,只能由主节点到从节点。Master 以写为主,Slave 以读为主。一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。默认情况下,每台 Redis 服务器都是主节点。主从切换技术的操作是:当主机宕机后,需要手动把一台从机切换为主机。
2023-11-04 21:53:45
272
3
原创 Redis之发布订阅
Redis 发布订阅。Redis 发布订阅(pub / sub)是一种消息通信模式。发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。订阅/发布消息图:频道和订阅频道的客户端之间的关系:以上就是redis发布订阅的快速讲解。
2023-11-04 19:46:42
217
原创 Redis之持久化(RDB和AOF)
Redis 是内存数据库,即数据存储在内存。如果不将内存中的数据保存到磁盘,一旦服务器进程退出,服务器中的数据也会消失。这样会造成巨大的损失,所以 Redis 提供了持久化功能。RDB,即 Redis DataBase在指定的时间间隔内将内存中的数据集快照写入磁盘。也就是 Snapshot 快照,恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化。Fork 的作用是复制一个与当前进程一样的进程。
2023-11-01 18:38:15
227
原创 Redis之 redis.conf配置文件
行家一出手,就知有没有,让一起学习redis.config配置文件。Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程。当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid 文件,可以通过 pidfile 指定。port 6379指定 Redis 监听端口,默认端口为 6379。
2023-11-01 17:16:09
295
原创 Redis之事务
Redis事务命令(开启事务、提交事务、取消事务、监视)、乐观锁、悲观锁。Redis事务的本质是一组命令的集合事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。所以说:Redis 事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。批量操作在发送EXEC命令前被放入队列缓存,并不会被实际执行。
2023-11-01 15:49:16
152
原创 Redis基本命令和常用数据类型
Redis基本命令和常用数据类型(String、List、Set、Hash、Zset、Geospatial、Hyperloglog)。Redis(Remote Dictionary Server ),即远程字典服务。Redis是一个开源(BSD 许可)内存数据结构存储,用作数据库、缓存、消息代理和流引擎。Redis 提供数据结构,例如字符串、哈希、列表、集、带有范围查询的排序集、位图、超日志日志、地理空间索引和流。
2023-10-20 15:46:22
755
1
原创 细说雪花算法
雪花算法:Twitter的分布式自增ID算法,Snowflake(雪花算法是由Twitter公布的分布式主键生成算法,它能够保证不同表的主键的不重复性,以及相同表的主键的有序性。最初Twitter把存储系统从MySQL迁移到Cassandra(由Facebook开发一套开源分布式NoSQL数据库系统)因为Cassandra没有顺序ID生成机制,所有开发了这样一套全局唯一ID生成服务。Twitter的分布式雪花算法SnowFlake,经测试SnowFlake每秒可以产生26万个自增可排序的ID。
2023-10-18 21:01:34
1112
原创 快速学习MyBatisPlus
MyBatisPlus的条件构造器和常用接口、分页插件、乐观锁、悲观锁、通用枚举、多数据源操作、MyBatisX插件、快速生成代码。MyBatisPlus常用注解和基本CRUD操作文章Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装AbstractLambdaWrapper : 使用Lambda 语法。
2023-10-15 17:26:33
574
原创 MyBatisPlus之基本CRUD、常用注解
MyBatis-Plus基本CRUD操作和常用注解讲解。MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变为简化开发、提高效率而生。以上就是MyBatisPlus的有关讲解。
2023-10-13 17:21:05
108
原创 SpringBoot之Web原生组件注入
注入Web原生Servlet、Filter、Listeber以及切换Web服务器。以上就是Web原生组件注入。
2023-09-27 11:31:13
469
1
原创 SpringBoot之异常处理
包含SpringBoot默认处理规则、如何定制错误(异常)处理逻辑、异常处理步骤流程、自定义处理代码。有精确的错误状态码页面就匹配精确(如404就找404.html),没有就找 4xx.html;如果都没有就触发白页。底层是 ResponseStatusExceptionResolver ,把responsestatus注解的信息底层调用 response.sendError(statusCode, resolvedReason);tomcat发送的/error。
2023-09-27 11:12:54
125
原创 SpringBoot之响应处理
包括返回值处理器ReturnValueHandler、内容协商等讲解。实现多协议数据兼容。(这个是自创的)响应数据出去 调用处理Processor 处理方法返回值。通过处理所有合起来可以支持各种媒体类型数据的操作(读、写)内容协商找到最终的给容器中添加一个@Bean@Override/*** 自定义内容协商策略*/@Override//自定义媒体类型//指定支持解析哪些参数对应的哪些媒体类型。
2023-09-24 20:22:52
195
原创 SpringBoot之请求处理
包括请求映射、常用参数获取与基本注解、参数处理、POJO对象封装等。SpringBoot能够将POJO对象自动封装,其实我们在SpringMVC学习中就已经自动自动封装了。这里补充一下自定义参数绑定封装。
2023-09-24 15:02:10
153
原创 微信小程序快速入门01(含案例)
一篇学习常用组件、数据绑定、事件绑定、条件渲染、列表渲染、样式、全局配置(window、tabBar)、数据请求(GET、POST)、API。(包含黑马程序员本地生活首页实现案例)Page({data: {})事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理。以上就是微信小程序快速入门01讲解。
2023-09-23 14:24:24
369
原创 SpringBoot之静态资源规则与定制化
SpringBoot的web场景-静态资源规则与定制化、静态资源目录、静态资源访问前缀、webjar、welcome与favicon功能、自定义Favicon、静态资源原理
2023-09-18 11:40:47
184
原创 SpringBoot之yaml
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。非常适合用来做以数据为中心的配置文件。k : v对象:键值对的集合。#行内写法:#或k:k1: v1k2: v2k3: v3数组:一组按次序排列的值。#行内写法:#或者k:- v1- v2- v3以上就是yaml的简单介绍。
2023-09-14 15:22:54
243
原创 SpringBoot自动配置入门
入门SpringBoot的自动配置:自动包规则原理、初始加载自动配置类、自动配置流程。SpringBoot默认会在底层配好所有的组件,但是如果用户自己配置了以用户的优先。SpringBoot先加载所有的自动配置类 xxxxxAutoConfiguration每个自动配置类按照条件进行生效,默认都会绑定配置文件指定的值。(xxxxProperties里面读取,xxxProperties和配置文件进行了绑定)生效的配置类就会给容器中装配很多组件只要容器中有这些组件,相当于这些功能就有了。
2023-09-11 16:05:36
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人