自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux的网口名字的命名规则

网卡的名字是由systemd给出来的,在 v197 systemd/udev中,废弃了eth0,eth1这种命名,转而改为以下这几个命名。

2024-04-12 17:40:56 543

原创 签名类型的简介

其特点是将 签名证书,签名算法,签名数据 封装为签名结果,因为不包含数据原文,因此验签名时需要将数据原文和签名结果提交到服务器进行验证。其特点是将 数据原文,签名证书,签名算法,签名数据 封装成签名结果,因此验签名时只需要将签名结果提交到服务器进行验证。其特点是将签名数据封装成签名结果,因此验签名时需要将数据原文,签名证书,签名算法一起提交到服务器进行验证。它符合PKCS#7语法标准。它符合PKCS#7语法标准。签名类型一共有三种,如下。

2024-03-22 10:54:51 239

原创 银河麒麟系统无法连接串口的解决方案

2、找到ExecStart=项,改为:ExecStart=-/sbin/agetty -8 -L 115200 %I $TERM(中间加上“-8 -L”、结尾是%I(大写的i))4、systemctl unmask [email protected](解除掩码,串口是tty多少就改成多少)1、打开文件:vim /lib/systemd/system/[email protected]。3、重新加载:systemctl daemon-reload。

2024-01-29 11:43:45 606 1

原创 我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知?

https://juejin.cn/post/7165689453124517896#heading-4

2023-06-14 16:45:55 169

原创 MySQL性能深度优化

这里的深度优化是指,除了建索引、左匹配索引等等其他的优化手段。文章涉及到操作系统连接数、IO、Mysql本身的某些参数设置,值得记录下来。

2023-06-14 15:33:04 996 2

原创 BB84协议:量子秘钥分发

例如,S在某一位上的值是 1,Alice用竖姿态量子信使发送了这一位信息,但是Eve错用“x”形接收器接收这一位信息,这样此量子可能变成了撇量子(或捺量子),但Bob在这一位上恰好猜对了,他用“+”形接收器接收经过Eve窃听过的量子信使(撇或捺量子信使),结果量子信使变成了横姿态量子信使(当然也有接收成竖姿态量子,信息碰巧正确地被传递了,这时这一位不会引起Alice-Bob的注意),原本是 1的值Bob用合适的接收器接收却得到了0。例如,我们规定,接收到“横”代表0,那么,接收到“竖”代表 1。

2023-06-14 14:07:58 2941

原创 X509证书解析详解

上传的证书文件,如何判断这个证书是否满足X509标准格式的呢?下面是我阅读jdk源码,总结出的解析步骤。jdk版本:jdk11。

2023-06-08 16:46:37 2154

原创 椭圆曲线算法原理详解

关于椭圆曲线的前置知识有:椭圆方程、有限界的椭圆方程、椭圆方程点的几何运算定义、椭圆方程的阶、定义方程的5个参数、计算kG的标量算法。椭圆曲线并不是真的是椭圆方程,例如E:y2=x3-2x+4的椭圆曲线方程,大致的)如下图:因为这种图形是连续的,我们给他加上mod运算,让他变成离散的点,这样更难破解。

2023-04-07 16:05:25 1932

原创 X509v3数字证书的证书链

证书的颁发机构密钥标识符扩展的信息必须与 颁发者的使用者密钥标识符扩展里面的信息一致。这些信息在证书链路径建立过程中相当有用 ,客户端会试图从分支(服务器)证书开始,寻找到根证书所有可能的路径。简单来说,end-user证书上面几级证书都是为了保证end-user证书未被篡改,保证是CA签发的合法证书,进而保证end-user证书中的公钥未被篡改。此扩展描述证书是CA证书还是最终实体证书。这是一个拓展字段,本身有两种方式提供上一级证书的地址,在解析证书链时,需要去这些uri上下载上一级的证书。

2023-03-29 14:44:28 366

原创 虚拟机CPU占用100%问题记录

kswapd0占用CPU过高,严重影响服务器及虚拟机的使用。

2023-02-13 10:22:05 3581

原创 文件后缀名对应的Content-Type表

下载的时候,各种文件类型对应的Content-Type表

2023-01-18 14:54:36 1129 1

原创 数字证书格式详解

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥,并且证书的编码可以有多种。

2023-01-10 15:40:48 1110

原创 Java异常的分类和注意点

Error是程序无法处理的错误,它是由JVM产生和抛出的,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常。程序中应当尽可能去处理这些异常。

2023-01-10 10:12:07 290

原创 同事问我为什么上级喊他把js实现改成css

渲染流程主要有4个步骤CSS3 动画也被称为补间动画,原因是只需要添加关键帧的位置,其他的未定义的帧会被自动生成浏览器可以对动画进行优化帧速不好的浏览器,CSS3 可以自然降级兼容代码简单,调优方向固定无法精准的控制动画,无法实现一些复杂的动画JS 动画是逐帧动画,在时间帧上绘制内容,一帧一帧的,所以他的可再造性很高,几乎可以完成任何你想要的动画形式。但是由于逐帧动画的内容不一样,会增加制作的负担,占用比较大的资源空间。可控性高,可以实现炫酷高级的动画逐帧动画占用比较大的资源空间因为我同事写的页面属于比

2022-11-25 11:19:03 395

原创 C++智能指针

在C++11标准中,增加了nique_ptr、shared_ptr以及 weak_ptr 这 3 个智能指针来实现堆内存的自动回收。智能指针和普通指针用法相似,智能指针的本质是一个模板类,对普通指针进行了封装,通过在构造函数中初始化分配内存,在析构函数中释放内存,达到自己管理内存,不需要手动管理内存的效果,因此智能指针可以在适当时机自动释放分配的内存,即智能指针可以很好地避免“忘记释放内存而导致内存泄漏”问题。接下来对shared_ptr的原理和用法做详细的解释说明。

2022-11-25 09:48:10 577

原创 有毛病的C++宏编程

正经点说:宏重载准确说是一种C++编程技巧,巧妙利用#define和可变参数结合,让宏定义根据参数的数量,调用不同的函数,具体原理是根据参数个数调用MOCK_FUNCTION##N(可以自定义这个名字、N是指具体参数个数)。注意:这里的重载不是传统意义上的重载,这里重载的方法名不一样。

2022-11-24 14:37:03 379

原创 clion,cmake编译开源项目新手入门

该命令将 指定的文件拷贝为 指定的文件,并将 文件中 @VAR@ 或 ${VAR} 的位置替换为使用 configure_file() 命令的当前 CMakeLists.txt 中变量 VAR 的值。原理:执行FindXXX.cmake程序,这个程序在cmake2.x的时候需要手写,3.x后可以使用自动生成的XXXConfig.cmake来配置找到程序包,XXX是库的名字。作用:在环境变量下查找某个包,查找后的包可以用到后面。

2022-11-23 13:16:44 1589

原创 HTTPS的链接建立、通信过程,SSL加密

客户端从内置的CA根证书获取C.pub,对服务器发送来的数字证书进行验签,如果一致,说明证书是CA颁发的(前提是C.pub是真实的,确实是CA机构的公钥)。如果客户端与服务器费尽周折建立了一个HTTPS链接,刚建完就断了,也太可惜,所以用Session ID将其保存,如果下次再来可以直接使用之前的链接进行对话(对称密钥)。链接建立后使用的加密,即通信时的加密,属于对称加密,并且没有像建立链接的诸多步骤,所以速度相对较快。(就是之前我们熟悉的http),B和M是公开的,所有人都可以知道,X是各自私有的密钥。

2022-11-21 15:22:15 725

原创 探究postgres 自增列有值情况下插入时,如何维护主键id自增

docker、postgres11.14、navicatdocker pull postgres:11.14mkdir -p /docker/postgresql/data/如果没有挂载目录,自动创建。位置:docker inspect id | grep Mounts -A 50 查看关于Mounts记录的50行验证删除容器后,默认挂载目录不会消失,但是建议挂载,因为挂载volume id不好记操作如下,docker stop $(docker ps -qa) && docker rm $(do

2022-10-21 11:26:03 681

原创 数据库orderby添加limit关键字前后,结果不稳定现象

综上所述,这是一个查询优化器做的优化,不要关系这个优化,再order by 其他的唯一键列,来让limit时的顺序固定,即orderby a,a值相同的列的顺序固定按照其他唯一列排序,即可达到要求。

2022-10-14 15:15:00 1001

原创 Rabbit和Kafka总结记录

这是读advance-java的pdf所得到的,其中有些总结值得记录,并新增了某些说明。

2022-09-27 16:30:01 488

原创 消息队列调研

如果消息队列并不是你将要构建系统的主角之一,你对消息队列功能和性能都没有很高的要求,只需要一个开箱即用易于维护的产品,建议RabbitMQ。如果你的系统使用消息队列主要场景是处理在线业务,比如在交易系统中用消息队列传递订单,那RocketMQ的低延迟和金融级的稳定性是你需要的。如果需要处理海量的消息,像收集日志、监控信息或是前端的埋点这类数据,或是你的应用场景大量使用了大数据、流计算相关的开源产品,那Kafka是最适合。

2022-09-23 17:30:27 144

原创 哈喽出行在DDD方面的落地

本文章出自柴华老师在〖deeplus直播第273期〗线上分享演讲内容,由本人在网上收集到的线上分享的文字版本。我们今天的主题《DDD在哈啰交易中台的实践》,最近几年中台微服务越来越火,DDD虽然作为一种契合中台微服务落地的设计基础,但它的成本极高,除了一些核心概念需要掌握外,对常用的设计思想、代码规范,都需要时间来熟悉和接受。通过这次分享,希望能完善和巩固大家对DDD的基本概念、设计流程和实践经验。接下来从三个方面去介绍DDD。...

2022-09-01 15:10:20 249

原创 Threadlocal详解

一个Thread对应的是一个ThreadLocalMap和一个inheritableThreadLocalMap,具体实现是作为Thread类中的属性。而ThreadLocal类中的ThreadLocalHashCode是ThreadLocalMap的key值,这个key值在每次实例化ThreadLocal时会自动生成一个,并且是线程安全的。...

2022-08-29 14:40:48 204

原创 ubuntu系统双jdk环境切换环境

查看当前java版本:到官网安装最新的jdk包(下载地址)选择debian版本,下载下来执行命令sudo dpkg -i 软件包名.deb安装后执行命令(用于查看是否有java其他版本的替代选项)

2022-08-09 16:26:27 459

原创 k8s踩坑记录

kubeadm init 一直超时,拉取不到镜像。原因是因为国内外网问题。使用下列命令利用镜像,该命令含义是拉去adm配置所需的依赖镜像。也可以使用。

2022-08-05 13:19:07 1621

原创 innodb的自增主键id不连续问题

最近在学习《MySQL 是怎样运行的》,书中遇到了自增主键的问题,这里结合自己的理解和网上搜集到的资料做一下复盘。MySQL中的自增主键想必大家都不陌生,它是通过两个参数来控制的,分别是auto_increment_offset和auto_increment_increment,其中offset代表的是自增主键的开始值,而increment代表的是自增主键每次的增长值。常见的设置,是将这两个参数都设置为1。可以使用show create table语法来查看当前表的自增值。自增值得生成规则如下:如果即将插

2022-07-11 15:57:09 784 1

原创 viotile关键字是否重排序的实验

下面的评论中,有一个人提到,viotile的实现原理是使用了内存屏障,将new关键字语句的部分设置屏障,让还没有完成初始化的对象不能让外部读取到, 而没有真正的禁止重排序。加上内存屏障后,确实能够实现在不禁止重排序的情况下,保证结果的正确性。我最开始尝试了写一个双重检查锁的demo,并且读取字节码,查看字节码来是否有重排序的过程。使用了idea自带的字节码查看工具后,new语句部分的结果如下:并且object属性对象加不加viotile关键字,字节码并没有区别。在查看答案的过程中,发现了jclass

2022-06-28 11:26:23 141

原创 Mysql在linux安装后设置root登录

1、sudo apt-get install mysql-server2、service mysql start查看结果,可以发现plugin已经改变,说明成功了。接下来即可测试root登录。

2022-06-16 10:58:52 851

原创 linux进程管理

两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。ps是静态的,top默认是5秒刷新的,按下P(按pid排序),M(内存使用情况排序),r设置目标pid的nice值,k给目标pid发送信号nice和renice,都是调整进程优先级的,但是最终进城优先级是由操作系统分配的,nice值只能影响他。普通用户只能设置0-19,并且不能设置比上一次小的值。roo

2022-06-14 09:53:24 286

原创 分布式id生成方案

设置步长step为2,TicketServer1的初始值为1(1,3,5,7,9,11…处理核心:启动服务后需要周期性的上传机械时间,启动服务的时候需要判断以前周期性上传的机械时间是否大于现在启动时的时间,如果相差5秒内,等待两倍时间,否则返回并且报警。Leaf 取号段的时机是在号段消耗完的时候进行的,也就意味着号段临界点的ID下发时间取决于下一次从DB取回号段的时间,如果出现网络不稳定将导致阻塞。因为这种方案依赖时间,如果机器的时钟发生了回拨,那么就会有可能生成重复的ID号,需要解决时钟回退的问题。

2022-06-09 14:34:27 346

原创 spring cloud 2020 gateway 报错503记录

gateway的application.yml文件配置如下:spring: cloud: gateway: routes: - id: test_route uri: https://www.baidu.com predicates: - Query=url,baidu - id: qq_route uri: https://www.qq.com

2022-05-17 21:43:11 1071

原创 Redis主从同步方面的坑

三大坑主从数据不一致主从数据不一致,就是指客户端从从库中读取到的值和主库中的最新值并不一致。举个例子,假设主从库之前保存的用户年龄值是19,但是主库接收到了修改命令,已经把这个数据更新为20了,但是,从库中的值仍然是19。那么,如果客户端从从库中读取用户年龄值,就会读到旧值。那为啥会出现这个坑呢?其实这是因为主从库间的命令复制是异步进行的。具体来说,在主从库命令传播阶段,主库收到新的写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,再把结果返回给客户端,而是主库自己在本地执行完命令

2022-05-16 16:21:30 832

原创 spring cloud alibaba集成nacos配置中心不生效

spring cloud alibaba中集成nacos,按照中文官网文档给出例子,并且跟着官方步骤新建bootstrap.properties,添加了@Value和@RefreshScope注解,并且也在nacos中按照步骤新建了配置。却没有生效。原因经过排查是因为没有导入springboot-cloud-start-bootstrap的maven依赖,完整的依赖应该如下:<dependency> <groupId>com.alibaba.cloud</groupI

2022-05-06 21:23:36 1444

原创 nginx安装指北

前置:创建nginx目录后,进入nginx目录下操作: [root@ecs-b612 ~]# mkdir nginx并且一:安装nginx依赖:pcre1:下载pcre: wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz2:解压pcre: tar -xzpvf pcre-8.37.tar.gz3:进入 pcre-8.37 执行命令: ./configure &a

2022-04-15 22:27:18 2151

转载 Netty内存泄露

1.背景1.1 直播平台内存泄漏问题某直播平台,一些网红的直播间在业务高峰期,会有10W+的粉丝接入,如果瞬间发生大量客户端连接掉线、或者一些客户端网络比较慢,发现基于Netty构建的服务端内存会飙升,发生内存泄漏(OOM),导致直播卡顿、或者客户端接收不到服务端推送的消息,用户体验受到很大影响。1.2 问题分析首先对GC数据进行分析,发现老年代已满,发生多次FullGC,耗时达3分多,系统已经无法正常运行(示例):图 1 直播高峰期服务端 GC 统计...

2022-03-05 19:32:36 3018

原创 IP地址、子网掩码、网络号、主机号、网络地址、主机地址

IP地址、子网掩码、网络号、主机号、网络地址、主机地址IP地址:4段十进制,共32位二进制,如:192.168.1.1 二进制就是:11000000|10101000|00000001|00000001子网掩码可以看出有多少位是网络号,有多少位是主机号: 255.255.255.0 二进制是:11111111 11111111 11111111 00000000网络号24位,即全是1 主机号8位,即全是0129.168.1.1 /24 这个、24就是告诉我们网络号是24位,也就相当于告诉我们了子网掩

2021-10-29 19:33:09 5312

原创 项目构建CPU满载问题的根源的查找

问题、探究过程和解决方法:在接手一个新的项目构建的过程中,遇到了构建项目过程中,项目一直处于parsing java的过程打开构建日志的位置日志位置:查询构建日志(build-log)发现 项目触发了很多的低内存信号,然后可以猜测afterGc 是触发了回收机制。解决方法:1.修改idea64.exe.vmoptions 中的-Xms 和-Xmx 的值,但修改后还是出现同样的错误,无效2.重装idea,无效3.重新刷新缓存,方法File-> Invalid.

2021-04-21 16:07:31 240

原创 Redis集群涉及到的一致性hash原理

互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当前的开源技术、海量数据架构都有着不可分割的关系。比如通过mysql、nginx等开源软件,通过架构和低成本的服务器搭建千万级别的用户访问系统。怎么样搭建一个好的系统架构,这个话题我们能聊上个七天七夜。这里我主要结合Redis集群来讲一下一致性Hash的相关问题。

2021-02-27 19:38:12 1395

原创 深搜和广搜区别

leetcode题目剑指Offer12和13题,判断错了该用深搜还是广搜,在此记录下深搜和广搜的知识点如何判断该用广搜和深搜,主要是通过他们两个搜索的性质来判断的遍历分为:1.深度(Depth)优先搜索DFS:一个递归过程,有回退过程。尽可能“深”地搜索图。在深度优先搜索中,对于最新发现的顶点,如果它还有以此为起点而未探测到的边,就沿此边继续搜索下去。当结点V的所有边都已被探寻过,搜索将回溯到发现结点V有那条边的始结点,则选择其中一个作为源结点并重复以上过程,整个进程反复进行直到所有结点都被发现为

2021-02-21 10:36:18 307

空空如也

空空如也

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

TA关注的人

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