自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 centos7使用yum报错:Cannot find a valid baseurl for repo: base/7/x86_64

使用yum安装docker的时候报错报错:cannot find a valid baseurl for repo:base/7/x86_64。一般来说使用yum安装的啥时候,会通过互联网找相关的地址,下载到本地然后进行安装。通常会有三个原因。

2024-10-09 18:29:30 237

原创 docker基础学习二

可以在左边看到这个项目的进度,点击进度条可以进去看到详细进度。如果全部配置成功之后就可以在docker看到完成的镜像了。由一系列的参数和命令构成的脚本。这些命令应用于基础镜像并最终创建一个新的镜像。点击红框地方就可以启动这个任务了,我这边出现红色球和阴雨天的标识是因为我启动失败了,git的账号和密码没有配置。启动等成成功出现这个页面,原因就是在插件管理器中检查了更新站点 ,使用了https,将它改成http就行了。找到这个项目pom.xml的位置,提前输入好项目编译启动命令,然后保存就可以了。

2024-07-17 07:50:45 718

原创 docker基础学习一

docker是目前比较火的容器引擎,开发者可以打包应用以及依赖到可移植的容器中,然后发布到任何流行的Linux容器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口。设置docker国内镜像,不然拉取一些镜像的速度会非常慢,使用的是国外站点,更换成阿里的镜像就可以。在阿里的容器服务里面有镜像加速按照说明一步一步执行就可以。当前已经进入到容器里了。从新开一个窗口,就可以看到当前运行的容器了。此时通过命令exit退出,但是容器并不会关机。这里是中文,查看的时候出现乱码了。

2024-07-17 07:50:34 412

原创 Linux系统NAT模式下设置网络网关

如果要组建局域网则需要使用侨联模式(即一台电脑连接另外一台电脑里面的虚拟机)** 总结:上面配置不一定全部适用,再次也是为了记录防止以后用到。首先设置虚拟机为侨联模式。

2024-07-17 07:50:18 284

原创 Centos7-4安装软件合集

Datacenter指定数据中心,Address指定服务IP,Service.Id指定服务唯一标识,Service.Service指定服务分组,Service.tags指定服务标签(如测试环境、预发环境等),Service.Port指定服务端口。基于上面的配置,如果直接访问https://www.a.com的时候,是没问题的,但是访问www.a.com的时候默认还是http访问。在conf下面创建ssl文件夹将下载的SSL里面的.pem和.key复制进去,然后配置就OK了。远程访问还需要关闭防火墙。

2024-07-17 07:50:04 955

原创 hexo使用过程的记录

当文章需要添加图片时,将需要添加的图片放入同名的文件夹中,同时通过相对路径索引到该图片。初始化hexo,在指定文件夹创建所需要的文件。在博客主目录下面获取git上面的Next主题。需要更改站点配置文件_config.yml。

2024-07-17 07:49:49 242

原创 Mybatis插件机制

Plugin的实现采用了Java的动态代理,应用了责任链设计模式。

2024-07-16 07:15:25 171

原创 Mybatis动态解析sql

SqlNode接口,可以理解为xml中的每个标签,比如sql的update,trim,if标签。

2024-07-16 07:15:16 353

原创 Mybatis核心类讲解

每一个MyBatis的应用程序的入口是SqlSessionFactoryBuilder。它的作用是通过XML配置文件创建Configuration对象,然后通过build方法创建SqlSessionFactory对象。可以做到全局只有一个就行。不需要每次都创建。

2024-07-16 07:15:05 777

原创 Mybatis加载配置信息

获取是通过通过build方法创建一个在创建的时候就会初始化对象,这是一些别名会被注册到的typeAliasRegistry中。最终会调用类中的方法,但是在使用这个方法之前,会在parse方法里面判断,配置文件只加载一次。根据配置文件的加载顺序,将各参数依次加载到配置类里面。有一个父类,几个实现类各司其职。用来解析Mybatis的配置文件用来及解析Mybatis中的映射文件(xxxMapeer.xml)用来解析映射文件中的sql,主要是的协作者。也是提供最终put到。

2024-07-16 07:14:55 731

原创 Mongodb整合java

java单机连接mongodb /** * 无需密码连接MongoDb */ public static void getMongoNoPass() { // 连接到 mongodb 服务 com.mongodb.MongoClient mongoClient = new com.mongodb.MongoClient("127.0.0.1", 27017); // 连接到数据库 MongoDatabase

2024-07-16 07:14:33 371

原创 Mongodb命令学习

它非常适合类似记录日志的功能和标准的 collection 不同,你必须要显式的创建一个capped collection,指定一个 collection 的大小,单位是字节。Capped collections 可以按照文档的插入顺序保存到集合中,而且这些文档在磁盘上存放位置也是按照插入顺序来保存的,所以当我们更新Capped collections 中文档的时候,更新后的文档不可以超过之前文档的大小,这样话就可以确保所有文档在磁盘上的位置一直保持不变。要注意的是指定的存储大小包含了数据库的头信息。

2024-07-16 07:14:23 773

原创 mongodb安装

非 admin 库,不能拥有 clusterAdmin、readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 这些角色。MongoDB 目前内置了 7 个角色。

2024-07-16 07:14:11 385

原创 kafka的应用

Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。Kafka是一个开源的分布式事件流平台(Event StreamingPlatform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。kafka可以在廉价的商用服务器中也能做到每秒100K条的数据传输。支持kafka server的消息分区,及分布式消费。

2024-07-16 07:13:40 697

原创 kafka消费者

可以理解为分配的结果带有“粘性的”。即在执行一次新的分配之前,考虑上一次分配的结果,尽量少的调整分配的变动,可以节省大量的开销。粘性分区是 Kafka 从 0.11.x 版本开始引入这种分配策略,首先会尽量均衡的放置分区到消费者上面,在出现同一消费者组内消费者出现问题的时候,会尽量保持原有分配的分区不变化。

2024-07-16 07:13:28 1805

原创 kafka生产者

生产者调用方法。ProducerRecord 是 Kafka 中的一个核心类,它代表了一组 Kafka 需要发送的 key/value 键值对,它由记录要发送到的主题名称(Topic Name),可选的分区号(Partition Number)以及可选的键值对构成。然后经过拦截器 -》 序列化器(kafak自己的序列化器。。经过分区器。在分区器决定向那个分区里面发送。消息追加到收集器。

2024-07-16 07:13:09 1938

原创 kafkaBroker

​ 如果此时副本A 所在的节点和副本B 所在的节点同时宕机,随后副本B 所在节点先重启,那么副本B 成为 Leader 副本,其 HW = 1,LEO =1。之后副本B 所在节点重启后,副本B 成为 Follower 副本,由于 Follower 副本的 HW 不能比 Leader 副本的 HW 高,所以副本B 还会进行一次日志截断,删除消息m2 并将 HW 调整为1。​ 随后,副本B 所在的节点先重启,副本B 成为 Leader 副本,将LeaderEpoch 和 StartOffset 更新为1。

2024-07-16 07:13:00 916

原创 kafka安装

记住 千万不能下载源码,下载编译过的将kafka上传到 Linux里面并解压,kafka需要JDK的环境。配置config下面的server.properties文件。

2024-07-16 07:12:51 736

原创 RabbitMq高级特性

发送方确认(publisher confirm)机制。生产者将信道设置成confirm(确认)模式,一旦信道进入confirm 模式,所有在该信道上⾯面发布的消息都会被指派一个唯一的ID(从1 开始),一旦消息被投递到所有匹配的队列之后(如果消息和队列是持久化的,那么确认消息会在消息持久化后发出),RabbitMQ 就会发送一个确认(Basic.Ack)给生产者(包含消息的唯一ID),这样生产者就知道消息已经正确送达了。

2024-07-16 07:12:40 605

原创 RabbitMQ的基本概念

AMQP全称高级消息队列协议,是一种标准,兼容JMS协议。类似HTTP协议,前端不管后台是什么语言,只要通过HTTP协议调用就可以了。

2024-07-16 07:12:29 786

原创 RabbitMQ的安装

如果docker pull rabbitmq 后面不带management,启动rabbitmq后是无法打开管理界面的,所以我们要下载带management插件的rabbitmq。可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)但无法查看节点的相关信息(上图红框标识的部分)。可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。4、普通管理者(management)

2024-07-16 07:12:17 929

原创 rocketMQ高级特性

消息队列 RocketMQ 允许 Consumer 启动的时候设置最大重试次数,重试时间间隔将按照如下策略:最大重试次数小于等于 16 次,则重试时间间隔同上表描述。最大重试次数大于 16 次,超过 16 次的重试时间间隔均为每次 2 小时。

2024-07-15 06:42:50 1743

原创 rocketMQ基本特性及入门

​ 先启动 NameServer 集群,各 NameServer 之间无任何数据交互,Broker 启动之后会向所有 NameServer 定期(每 30s)发送心跳包,包括:IP、Port、TopicInfo,NameServer 会定期扫描 Broker 存活列表,如果超过 120s 没有心跳则移除此 Broker 相关信息,代表下线。这样每个 NameServer 就知道集群所有 Broker 的相关信息,此时 Producer 上线从 NameServer 就可以得知它要发送的某 Topic 消息

2024-07-15 06:42:43 584

原创 rocketMQ安装

Producer:消息的发送者;Consumer:消息接收者;Broker:暂存和传输消息;NameServer:管理Broker;Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue:相当于是Topic的分区;用于并行发送和接收消息。

2024-07-15 06:42:34 611

原创 mysql其他知识点

内连接(inner join):取得两张表中满足存在连接匹配关系的记录。外连接(outer join):取得两张表中满足存在连接匹配关系的记录,以及某张表(或两张表)中不满足匹配关系的记录。交叉连接(cross join):显示两张表所有记录一一对应,没有匹配关系进行筛选,也被称为:笛卡尔积。

2024-07-15 06:41:53 677

原创 mysql主从复制

报错。原因:原因是/var/lib/mysql的访问权限问题。

2024-07-15 06:41:45 206

原创 mysql事务和锁

对于删除情况可以认为是一种特殊的update,会将版本链上最新的数据复制一份,然后将rx_id修改为删除操作的rtx_id,同时在该条记录的头信息(record header里的deleted_flag 标志位上写上true),用来表示当前记录已经被删除,在查询时按照上面的规则查到对应的记录如果delete_flag标记位为true,记录已删除,不返回数据。在数据库操作时,想法很乐观,认为这次的操作不会导致冲突,因为在数据库操作时并不会做任何特殊的处理,即不加锁,而是在进行事务提交时再去判断是否有冲突了。

2024-07-15 06:41:24 746

原创 mysql索引

索引可以提升查询效率,会影响where查询,以及order by排序。

2024-07-15 06:41:17 881

原创 一千行Mysql命令

【代码】一千行Mysql命令。

2024-07-15 06:41:10 119

原创 mysql基础架构

Server 层包括连接器、查询缓存、解析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

2024-07-15 06:41:03 943

原创 Redis的其他知识点

Redis采用单线程多进程集群方案Redis是基于内存的操作,CPU不是Redis的瓶颈瓶颈最有可能是机器内存的大小或者网络带宽单线程的设计是最简单的但是对多核CPU利用率不够,所以Redis6采用多线程。代码更清晰,处理逻辑更简单 不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗不存在多进程或者多线程导致的切换而消耗CPU。

2024-07-15 06:40:56 786

原创 Redsi的持久化+淘汰策略

RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是快照(恢复时是将快照文件直接读到内存里。

2024-07-15 06:40:49 1052

原创 redis数据结构

/ 层 柔性数组,随机生成1-64的值// 前进指针 指向本层下一个节点// 跨度 本层下个节点到本节点的元素个数} level[];// 后退指针 指向当前节点最底层的前一个节点// 分值/* 成员对象存储字符串类型数据 redis3.0版本中使用robj类型表示 robj *obj;但是在redis4.0.1中直接使用sds类型表示 */sds ele;

2024-07-15 06:40:38 748

原创 Redis各种集群模式

主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,mester以写为主,slaver以读为主。原则上是配从不配主。可以通过执行slaveof(Redis5以后改成replicaof)或者在配置文件中设置slaveof(Redis5以后改成replicaof)来开启复制功能。

2024-07-15 06:40:21 777

原创 Redis的拓展功能

Redis的发布订阅机制包括了三部分publisher,subscriber和Channel。!(./Redis的拓展功能/1.png)发布者和订阅者都是Redis客户端,Channel则为Redis服务器端。发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。

2024-07-15 06:40:04 635

原创 Redis实战

它基于优秀 Netty NIO 框架构建,支持 Redis 的高级功能,如 Sentinel,集群,流水线,自动重新连接和 Redis 数据模型。Redis的Set是String类型的无序集合,它的内部实现是一个 value永远为null的HashMap,实际就是通过计算hash的方式来快速排重的,这也是set能提供判断一个成员是否在集合内的原因。Redis zset 和 set 一样也是String类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数,用来排序。

2024-07-15 06:39:54 360

原创 Hexo Next主题优化

next提供了四种主题风格,需要在主题配置文件中themes/next/_config.yml文件中进行选择,分别是Muse、Mist、Pisces、GeminiNext默认图标是H,但是可以修改图标博客网站的图标可以在bitbug、iconfont等网站选择和制作,然后选择或者创建相应大小的图标文件,放置在/themes/next/sources/images目录下,并在主题配置文件中进行如下配置,只需要修改主题文件夹下面的_config.yml中的small和medium两个就可以:鼠标点击特效在下

2024-07-14 08:30:37 760

原创 git实际操作

【代码】git实际操作。

2024-07-14 08:30:25 160

原创 java使用freemarker导出复杂的excel表格

主要是两个map,一个map是封装模板的位置和生成表格的位置,第二个map是封装的数据。正常来说导出表格之后都是返回url请求的地址,这样在真实项目中根据地址就可以下载出来了。因为数据放到freemaker模板里面了所以只需要使用freemaker模板的语法取出数据存放在模板里面就可以了。都是先生成一个Excel表格的模板,最好是增加一行数据。具体看图里面的步骤。这个也不用多说,里面注释基本上已经解释清楚了,Excel导出打开出现问题的原因。

2024-07-14 08:30:07 732

原创 优雅的参数校验

某些业务场景下,上面的注解未必可以提供很好的校验,validation也为我们提供了自定义注解参数校验。注解/*** 在注解没有显示申明,则min值默认是 0*//*** 在注解没有显示申明,则max值默认是18* @return*//*** 错误信息*//*** 分组*/Class

2024-07-14 08:29:56 454

空空如也

空空如也

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

TA关注的人

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