自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 主从不一致解决方案

此方案重新实现主从,数据完全同步注意:mysqldump命令可直接在服务器上运行,不用进入mysql注意:如果在主库上不能直接将文件同步到从库,可找其它解决方案,也可利用工具现将文件下载到本地在上传到从库。

2024-02-04 10:59:05 420

原创 .zip 文件和 .tar.gz文件 的区别

tar.gz其实上是2个工具。tar是打包工具,把很多文件打包成一个文件,gz是压缩格式。因为太常用,所以unix下tar命令是直接支持gz压缩和解压缩的。而zip用于windows的操作系统,但在windows系统中WinRar工具同样可以解压缩tar.gz格式的。tgz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是一样的,只是压缩格式不一样.tar.gz格式的文件比zip文件要小不少。tar.gz压缩格式用于unix的操作系统,zip是压缩格式的一种。

2024-01-25 22:47:27 750

原创 springBoot如何动态切换数据源

mybatisplus提供的有插件用@DS注解就能够实现,但是这种在mysql服务宕机的情况下不能够进行自动切换,于是就想着用aop+自定义注解的方式来实现。此时你在代码层面用注解指定了一个增删改方法到从数据源,但是碰巧此时从数据源失效了,那么就会自动的切换到其它服务器。DynamicDataSourceHolder类主要是设置当前线程的数据源名称,移除数据源名称,以及获取当前数据源的名称,便于动态切换。我在这个方法上指定的是从数据库,如果此时从数据库发生宕机,那么就会自动切换到主数据库进行操作。

2024-01-18 10:10:05 1119 1

原创 git提交时会将target也提交

第二种:需要先删除该文件的跟踪记录,然后再将其加入.gitignore文件中。有时候大家在提交git时发现会将编译文件target也提交上去,这种情况有以下几种情况。添加.gitignore,并在文件中添加需要忽略的东西。

2023-11-20 16:31:35 763

原创 变量的作用域

由于所有的全局变量都会绑定到windows上,如果不同的js文件,使用了相同的全局变量,就会有冲突。可以发现,用了let关键字之后,变量出了原本作用域就不能赋值了。(ES6中的let关键字)可以发现,出了作用域,变量的值依然能够复赋值,这显然是不对的。发现在函数内定义的变量在函数外不能够不引用。所以报错说改变量未定义。把自己的代码全部放入自己的唯一命名空间内,降低全局命名冲突问题。在javascript中,var定义的变量实际是有作用域的。

2023-11-01 15:24:40 160

原创 css列表样式

【代码】css列表样式。

2023-10-28 11:51:29 327

原创 结构伪类选择器

*定位到父元素,选择当前的第一个元素,选择当前p元素的父级元素,选中父元素的第一个,并且是当前元素才有效*/注意:如果第一个不是当前元素无效。/*ul的最后一个子元素*//*ul的第一个子元素*/

2023-10-27 17:08:53 231

原创 层次选择器

*相邻兄弟选择器 ,只有一个,相邻(向下) *//*通用兄弟选择器,相邻(向上和向下) */

2023-10-27 15:22:31 55

原创 基本选择器

选择页面上的某一个或某一类元素。

2023-10-27 14:37:06 65

原创 css四种导入方式

浏览器翻译如下: 浏览器翻译如下:html文件:css样式:目录结构: 浏览器翻译如下:注意: 当三种样式同时存在时:优先级为【行内样式>页内样式>外部样式】,测试如下:如下: 浏览器翻译如下: 发现当三者同时存在时,行内样式的优先级是最高的。目录结构和上述一致浏览器翻译如下

2023-10-26 17:40:43 678

原创 HTML中文本框\单选框\按钮\多选框

【代码】HTML中文本框\单选框\按钮\多选框。

2023-10-23 11:47:39 2405

原创 html登录注册标签

输入账号密码之后,就会跳转到form表单中action指定的页面。

2023-10-23 11:20:09 106

原创 html内连框架

name:框架标识名称。src:引用页面地址。

2023-10-23 11:03:15 278

原创 html表格标签

【代码】html表格标签。

2023-10-22 22:47:31 575

原创 html列表

【代码】html列表。

2023-10-22 21:30:35 191

原创 HTML超链接标签

这个down是不是和跳转页面的那个down一样的,就相当于一个标记的意思,跳转到指定的地方。注意:href 标签中"超链接标签.html"是一个被跳转的URL,那后面的。例如:当超链接的a标签中有target的属性,并且属性值为_blank时。1.1 是点击了文字之后进行跳转,这里演示点击图片进行跳转。锚链接:从一个页面跳转到另外一个页面(同页面也行)的指定地方。当点击跳转页面的跳转后,发现会自动跳转到被跳转页面的最下方。那么点击图片后就会跳转到一个新的窗口。href:必填,表示要跳转到哪个页面。

2023-10-20 17:23:44 135

原创 HTML图像标签

idea中快捷键:body体中输入img然后按下tab键会自动补充如下(<img src="" alt="">)title:鼠标悬停提示文字。alt:图像的替代文字。

2023-10-20 16:02:06 926

原创 HTML基础教程

HTML是一种用来描述网页的一种语言。HTML是一种在Web上使用的通用标记语言。HTML允许你格式化文本,添加图片、创建链接、输入表格,并将其读取文本文件,浏览器读取和显示。HyperTextMarkupLanguageHTML不是一种编程语言,而是一种标记语言。标记语言是一种标记标签HTML使用标记标签来描述网页HTML文档包含了HTML标签和文本内容HTML文档也叫做web页面。

2023-10-20 15:21:39 68

原创 nginx动静分离

Nginx动静分离简单说就是将动态请求和静态请求分开。可以理解说是用nginx处理静态页面,Tomcat处理动态页面。动静分离目前分为两种纯粹将静态文件独立成单独的域名,放在独立的服务器上,也是目前主流的推崇方案动态和静态混合一起发布,通过nginx来分开。通过location指定通过不同的后缀域名实现不同的请求转发,通过expires参数设置,可以使浏览器缓存过期时间,减少和服务器之间的请求和流量。

2023-10-19 20:23:21 77

原创 nginx配置实例-负载均衡

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。2)在两台tomcat里面的webapps目录中,创建名称为edu的文件夹,在edu文件夹中创建a.html。按后端服务器的响应时间来分配请求,响应时间短的优先分配。这是自己已经启动的容器。

2023-10-10 22:35:48 934

原创 nginx实现反向代理实例

在服务器上访问nginx端口然后跳转到tomcat服务器。

2023-09-24 15:42:47 405

原创 nginx详解

nginx是一个高性能的http和反向代理服务器,特点是占有内存少、并发能力强,事实上nginx的并发能力的确在同类的服务器中表现较好。nginx转为性能优化开发,性能是其最重要的考量。实现上非常注重于效率。有报表指出其能支持高达50000个并发连接数。root html;全局块。

2023-09-21 22:22:54 182

原创 锁的升级过程(代码演示)

锁的状态有4种,。那为什么会有锁升级的这种概念,其实大家都知道在1.6之后做了升级,但具体是升级了什么?其实在jdk1.6之前锁只有重量级锁这个概念(但是重量级锁需要向内核申请额外的锁资源,涉及到用户态和内核态的切换,比较浪费资源)。升级了之后就不需要直接从无锁到重量级锁了,所以做了锁升级。当只有一个线程争抢锁资源的时候,将线程拥有者标示为当前线程。一个或多个线程通过CAS去争抢锁,如果抢不到就一直自旋,知道超过自旋次数,升级为重量级锁。多个线程争抢锁,向内核申请锁资源,将为抢到的锁放在队列中直接阻塞。

2023-08-17 09:12:59 370 1

原创 springBoot是如何实现自动装配的

自动装配就是将官方写好的的配置类加载到spring容器,然后根据配置类生成一些项目所需要的bean对象。(对于springBoot来讲,就是从文件获取到对应需要进行自动装配的类,并生成相应的bean对象交给spring管理。

2023-08-17 09:11:37 535

原创 接口和抽象类的区别(一看就懂)

接口其实可以看做是多态的一种体现(多态:一种行为的多种表现形态)不妨想想平时你自己在service中写是不是定义了一个service接口,然后用一个serviceImpl实现类去实现它,然后实现类里面必须得重写接口中的方法类和类本身具有共同特征,将这些特征提取出来,形成的类就叫做抽象类。(抽象类本身并不存在,所以不能实例化)实例:大家都知道一个非抽象的类要实现接口,需要将接口里面的类都实现,但是有时我只需要实现其中的一个方法怎么办呢?这个时候就可以使用抽象类。

2023-08-17 09:11:05 82

原创 docker详解(初级->高级)

(2)docker利用的是宿主机的内核,而不需要加载操作系统OS内核当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。(1)docker有着比虚拟机更少的抽象层由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。现在大家的场景是在VM虚拟机上安装了centos,然后在centos上安装了docker,然后现在在docker上安装一个ubuntu。注意:会默认列出前25个,一般选择官方认证的。

2023-07-20 11:34:07 395

原创 k8s中网络通讯简单介绍

Kubernetes的网络模型假定了所有的pod都在一个可以直接连通的扁平的网络空间中,这在GCE(Google Compute Engine)里面是现成的网络模型,Kubernetes假设这定这个网络已经存在。但是在私有云里搭建Kubernetes集群,就不能够假定这个网络已经存在了。我们需要自己去实现这个网络假设,将不同节点的Docker容器之间的访问互相打通,然后运行Kubernetes。

2023-07-11 10:24:55 471

原创 redisson中Semaphore的信号量介绍及其原理

Semaphore通常叫信号量,可以用来同时控制访问特定资源的线程数量,通过协调各个线程,保证合理的使用资源。// 获得一个permit//获得var1个permit//尝试获得permit//尝试获得var1个permit//尝试获得permit, 等待时间var1//尝试获得var1个permit, 等待时间var2//释放1个permit//释放var1个permit//信号量的permits数//清空permits//设置permits数。

2023-07-06 17:44:16 2240 1

原创 高并发场景:redis+lua防重校验

不过该说不说还是得开搞,所谓的并发无非就是要想办法减少io的操作,尽量少查表,其余配置方面的问题就看公司舍不舍得花钱了。注意:真实下单操作是分为了订单前置操作 (前置校验和生成防重令牌)和提交订单两个接口来写的,这里为了测试简单合并了。最近公司有个商城项目说要30分钟达到1亿的并发量。当时听到突然猛了一下。其中防重校验这一部分选用了redis集合lua来做,来防止多次提交。

2023-07-05 13:13:17 784

原创 maven私服搭建详细教程(看完必会)

刚刚新增的maven-aliyun在左边,需要将它迁移到右边来,并且放在第三个位置,因为上述说过仓库组的查找是有顺序的,需要将速度快的放在前面,这个新增的仓库速度比maven-central速度要快。仓库组中的多个仓库是有顺序的,当maven用户从仓库组中下载构建时,会按顺序在仓库组中查找组件,查到了就返回给本地仓库,所以一般将速度快的放前面。因为maven用户可以从代理仓库和宿主仓库中下载构建至本地仓库,为了方便从代理仓库和宿主仓库下载构建,maven提供了仓库组。代理仓库会从被代理的仓库(

2023-06-07 14:37:17 7435 1

原创 rabbitmq死信队列详解(亲手实践)

因为在声明普通队列的时候,已经说明了队列最大长度为5,那么多余的消息就会根据配置的参数找到对应的交换机进而找到对应的路由,然后路由到对应的队列(死信队列)。死信队列其实和普通的队列一样,只不过里面存放的消息都是普通队列过期没有消费的。以上只是声明了一个普通队列queueB,然后在该队列设置了过期时间40s,和死信交换机和死信路由key。死信队列就是一个普通的队列,只不过声明普通队列的时候指定了死信交换机,二者才产生了联系。可以发现,发送给普通队列的消息,超时没有被消费,都进入到了死信队列中。

2023-06-04 12:06:57 3146

原创 第三方图片url上传到oss

背景:对接百度文心一格的图片需要将返回的图片url保存到手机,但前端说直接保存不了。于是就将百度返回的图片url上传到oss。

2023-06-01 10:20:04 864

原创 k8s介绍

例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。虚拟化技术能够更好地利用物理服务器的资源,并且因为可轻松地添加或更新应用程序, 而因此可以具有更高的可扩缩性,以及降低硬件成本等等的好处。是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。但是当我们的物理机上出现了很多容器、每一台物理机上都有几十台容器,其中有的挂了,需要手动的去给它重启,那么这极大的不方便,所以我们急需一个大规模的。看做朝堂之上的史官。

2023-05-28 16:52:14 858

原创 如何去掉json字符串key、value的双引号

Java代码 json = json.replaceAll("\"(\\w+)\"(\\s*:\\s*)", "$1$2");原数据:{"task_id":1661287351969218106}处理后:{task_id:"1661287351969218106"}

2023-05-25 17:43:59 1005

原创 电脑有网,但浏览器不能正常上网

今天在家打开电脑,却发现自己的浏览器怎样也上不了网了,但是自己明明已经连上了网,而且其他应用微信啥都是可以正常上网的。最后在网上查找资料解决了上述问题。发现以下三个选项全部被打开了,正常情况应该是全部关闭了。将选项全部关闭即可解决。

2023-05-20 15:49:30 1103 1

原创 TCP粘包|拆包和解决方案

客户端发送5个Message对象,客户端每次发送一个message对象,服务器端就会每次接受一个message,分5次进行解码,每次读取到一个message,会回复一个message对象给客户端。收发两端(客户端和服务端)都要有一一成对的socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化算法(),将许多数据量小且间隔小的数据,合并成了一个大数据块,然后进行封包,这样做虽然提升了效率,但是接收端就难于分辨出完成的数据包,因此。客户端向服务端发送10条消息,看服务端如何接受。

2023-02-27 13:46:12 799

原创 ProtoBuf介绍

1) ProtoBuf是Google发布的开源项目,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化,它很适合做数据存储或RPC[远程过程调用]数据交换格式,目前很多公司正在由http+json->tcp+protobuf。使用protobuf编译器能够自动生成代码,ProtoBuf是将类的定义使用.protobuf文件进行描述(注意:在idea中编写.proto文件时,会自动提示是否下载.protot编写插件,可以让语法高亮)发现,已经用protobuf实现了数据的传输。

2023-02-25 15:15:32 1397

原创 netty心跳

Netty中的心跳检测主要是通过IdleStateHandler这个类进行心跳的处理,它可以对一个Channel的读\写设置定时器,当Channel在一定时间间隔内没有数据交互时(即处于Idle状态)就会触发指定的事件。因为网络连接是不可靠的,像在TCP长连接或者webSocket长连接时都会使用心跳机制,即发送特殊的数据包告诉自己的业务没办完,不要关闭连接。服务端一直会依次打印读空闲、写空闲、读空闲、读写空闲。当服务器超过3秒没有读时,就提示读空闲。当服务器超过5秒没有写时,就提示写空闲。

2023-02-18 15:41:52 501

原创 netty群聊系统

第三个客户端启动时,告诉服务器上线,并且通知第一个和第二个启动的客户端。第二个客户端启动时,告诉服务器上线,并且通知第一个启动的客户端。其中一个客户端离开时,通知其它客户单端和服务端。第一个客户端启动时,会告诉服务器上线了。看到结果发现符合当初的设计。启动一个服务端,多个客户端。

2023-02-18 11:24:49 663

原创 Netty实现Http服务器案例

服务器可以恢复消息给浏览器:“hello,我是服务器”,并对特定请求资源进行过滤。Netty可以做服务器端开发,并且理解handle实例和客户端及其请求的关系.我们只请求了一次,但是浏览器却发出了2次请求,并且对这两个请求都做了响应。每个请求对应的handle和pineline是独立的,不会共享。那么如何对这个网站图标进行过滤,使服务器对其不做响应呢?对此,可以请求2次并且打印出其hash值进行比对。发现连续2次请求所打印的hash值都不一样。再次重新请求发现:已经成功拦截。http协议不是一个长连接。

2023-02-12 11:40:27 574

空空如也

空空如也

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

TA关注的人

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