自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdb

标题问题描述:本人在学习尚硅谷的JDBC课程时,在获取数据库连接时,出现了问题Loading classcom.mysql.jdbc.Driver’. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unne

2022-03-17 12:17:10 432

原创 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified

问题描述:docker启动mysql失败通过如下命令启动mysql时报错,具体如下所示root@ecs-kc1-small-1-linux:~# docker run -p 3306:3306 mysql:8-oracle2022-03-05 13:40:49+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1.el8 started.2022-03-05 13:40:50+00:00 [Note] [Entr

2022-03-05 21:48:08 10618

原创 华为云docker pull mysql出现问题“no matching manifest for linux/arm64/v8 in the manifest list entries”

“no matching manifest for linux/arm64/v8 in the manifest list entries”问题描述解决办法问题描述服务器:华为的弹性云服务器ECS镜像:Ubuntu 18.04 server 64bit with ARM在使用docker安装sql时,出现以下问题root@4:~# docker pull mysqlUsing default tag: latestlatest: Pulling from library/mysqlno ma

2022-03-05 21:32:18 2367

原创 Docker的基本使用

DockerDocker的基本概念早期的虚拟化技术容器化技术资源隔离Docker的基本架构Docker的基本操作容器安装容器使用容器启动以及查看修改容器内容将自己修改好的镜像提交共享容器的方法Docker的基本概念早期的虚拟化技术基础镜像GB级别创建使用稍微复杂隔离性强启动速度慢移植与分享不方便容器化技术基础镜像MB级别创建简单隔离性强启动速度秒级移植与分享方便资源隔离cpu、memory资源隔离与限制访问设备隔离与限制网络隔离与限制用户、用户组隔离限制Do

2022-02-20 15:57:30 320

原创 SSH远程连接云服务器出错

SSH远程连接华为云出错错误信息背景解决办法错误信息@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING N

2022-02-20 15:33:18 1275

原创 Linux网络编程——select函数

select函数select函数用于检测一组socket中是否有时间就绪,主要包含以下三类事件:读事件就绪写事件就绪异常事件就绪typedef struct{ long int __fds_bits[16];//可以看做128bit的数组}fd_set;void FD_SET(int fd, fd_set *set);将一个fd添加到fd_set集合中,决定这个fd在__fds_bits数组的位置的实现使用的是位图法。FD_SET宏在本质上是在一个有1024个连续bit(共计64字节

2021-10-07 20:08:59 1138 1

原创 Linux网络编程——服务器客户端的代码实现

服务器调用socket函数创建socket;调用bind函数将socket绑定到某个IP和端口的二元组上;调用listen函数开始监听当有客户端请求连接上来时,调用accept函数接收连接,产生一个新的socket(客户端socket);基于新产生的socket调用send或者recv函数,开始与客户端进行数据交流;通信结束后,调用close函数关闭监听socket。简单的服务器代码:#include <iostream>#include <sys/types.h&g

2021-10-05 17:07:37 850

原创 HTTPs相关密码学基础

随机数真正的随机数生成器(TRNG),由硬件生成,具有效率高、随机性、不可预测性、不可重现性的特点,需要从物理设备获取;伪随机数生成器(PRNG),由软件生成,具有效率高、随机性的特点,可以通过算法获取;密码学伪随机数生成器(CPRNG),由软件生成,具有效率高、随机性、不可预测性的特点,主要用于密码学。效率、随机性、不可预测性、不可重现性随机数的工作原理随机数生成器内部会维护一个状态,对于TRNG来讲,内部状态的值来自于外部设备,称为熵;对于PRNG来讲,内部状态的数值来自于模拟的数值,称

2021-10-05 16:11:01 178

原创 HTTPs的签名相关概念

数字签名出现的原因:对称加密算法、公开密钥算法都不能防止抵赖。数字签名的目的是为了防抵赖。抵赖的概念:A、B、C三方共享同一对称加密算法,A向B发送了消息后可以抵赖说消息不是他发送的,因为C也有相同的密钥,B无法证明消息的来源是A还是C。抵赖出现的根本原因在于通信双方无法确认对方的身份,不能进行身份验证。数字签名技术:密码学中,以PSA密钥对为例,私钥只有密钥对的生成者持有,如果不考虑密钥泄漏的问题,私钥持有者使用密钥签署一条消息,然后发送给任意的接收方,接收方只要拥有私钥对应的公钥,就能成功

2021-10-05 11:21:50 267

原创 C++资源分享

我用阿里云盘分享了「1.C++面向对象高级开发(上)」等多个文件,你可以不限速下载????复制这段内容打开「阿里云盘」App 即可获取提取码: 81cv链接:https://www.aliyundrive.com/s/GgUmiV5NP1V

2021-09-21 11:54:43 626

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。示例1:输入: [1,6,3,2,5]输出: false示例2:输入: [1,3,2,6,5]输出: true问题分析递归方法要点:1、后序遍历的最后一个必为根结点。即左/右/根2、根结点将遍历结果可以分成两部分。即左子树,柚子树3、左子树的元素值都小于根结点,可以以此来切割子区间。4、切割后的右区间如果有元素的值小于根结点,

2021-08-27 20:50:54 56

原创 粘包的概念和解决办法

粘包的概念对方发送数据连续发送了两次,然后读数据的时候,第一次没有读完,剩余的数据在第二次读走了,这种情况就属于粘包。第二次读的数据存在第一次读剩余的数据。粘包的解决办法1、报头+数据报头可以用4个字节的长度:“0010”+数据部分接收放先接收报体长度,依据报体长度来接收报体。2、添加皆为标志\n等。需要对接收到的字节挨个判断,但是如果数据报中存在标志\n,则会出现误判消息的边界。3、数据报定长。所有的消息大小都是一样的,接收方累计计数接收数据,直到数据长度为规定的数据长度。...

2021-08-09 14:49:27 164

原创 力扣课程表207、210

图的拓扑排序问题第一次做图的拓扑排序问题,这里以代码注释的方式记录一下广度优先搜索的方式分析该问题的过程。题目描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。来源:力扣(LeetCode)链接:http

2021-08-09 14:46:03 91

原创 力扣 797 所有可能的路径 C++

题目描述给一个有 n 个结点的有向无环图,找到所有从 0 到 n-1 的路径并输出(不要求按顺序)二维数组的第 i 个数组中的单元都表示有向图中 i 号结点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a )空就是没有下一个结点了。输入:graph = [[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3作者:爱学习的饲养员链接:https:/

2021-08-07 15:08:59 375

原创 undefined reference to `pthread_create‘问题解决办法

问题描述在Linux ubuntu16.0.4环境下,创建多线程版本的高并发服务器时,源文件中包含了<pthread.h>,但是在gcc编译过程中出现问题:undefined reference to `pthread_create’undefined reference to `pthread_detach’解决办法是在编译文件时添加-pthread,即可成功运行用法示例gcc -o server Servermulthr.c wrap.c -pthread...

2021-08-04 19:30:02 1073

原创 windows环境下利用C++ boost开发简单的同步时间服务器和客户端

windows下安装boost库具体安装过程参考下面的链接boost安装流程visual studio配置boost由于是初学boost开发服务器和客后端,所以没有使用Linux环境,在windows环境下,使用visual studio进行开发。配置方法参考上面的链接。c++开发客户端#include <iostream>#include <boost/asio.hpp>#include <boost/array.hpp>using boost::a

2021-07-27 18:57:38 386

原创 LNK1104 无法打开文件“libboost_date_time-vc142-mt-gd-x32-1_74.lib

LNK1104 无法打开文件“libboost_date_time-vc142-mt-gd-x32-1_74.libvisual studio使用boost库遇到的问题LNK1104

2021-07-27 18:41:27 687

原创 在 windows 下安装 Boost 1.62.0

在 windows 下安装 Boost 1.62.0在 windows 下安装 Boost 1.62.0

2021-07-27 16:42:01 166

原创 C++437. 路径总和 III

题目给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum-iii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路参考路径总和问题给出的关于路径问题以及路径问题II的题解

2021-07-24 00:07:42 90

原创 C++1302. 层数最深叶子节点的和

题目给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和 。解答思路典型的二叉树遍历问题,可以通过递归方法和迭代方法来做。迭代法:迭代法利用队列对每层节点进行遍历,可以声明一个变量,保存每层节点的值的和。题目要求是最后一层,只需要每次遍历覆盖掉之前的结果即可。class Solution {public: int deepestLeavesSum(TreeNode* root) { int result = 0; queue<Tree

2021-07-23 16:20:28 99

原创 C++107.二叉树的层序遍历II

题目给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)。解答思路该题目和102题基本一样,只不过102题是自顶向下的层序遍历,该题是自底向上的层序遍历。所以解决方法分为两步:第一步:二叉树的层序遍历,即问题102;第二步:数组反转,该题可以参考双指针反转数组的相关题目,当然也可以使用reverse函数。二叉树的层序遍历是个基本问题,需要用deuque结合迭代法来实现,基本方式就是遍历某一层时,将该层结点的左右子节点(如果存在)放进队列中,

2021-07-22 21:26:49 139

原创 C++力扣71.简化路径

储备知识C++istringstream用法istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开。C++ getline函数用法C++中有两种getline函数第一种:头文件istream中,是iostream类的成员函数第二种:头文件string中,是普通函数istream& getline(char*s, streamsize n);istream& getline(char* s, streamsize n, char delim);

2021-07-21 16:16:02 136

原创 C++优先队列(堆)

力扣 239. 滑动窗口最大值在做力扣239题滑动窗口最大值时,官方题解给出的方法一为优先队列,尽管不如方法二的单调队列的空间复杂度低,但是感觉更容易理解。由于之前没有储备优先队列的知识,这里整理总结一下。堆定义堆是一种特别的完全二叉树,给定堆中任意节点P和C,若P是C的母节点,那么P的值会小于等于(或大于等于)C的值”。若母节点的值恒小于等于子节点的值,此堆称为最小堆(min heap);反之,若母节点的值恒大于等于子节点的值,此堆称为最大堆(max heap)。在堆中最顶端的那一个节点,称.

2021-07-21 11:14:10 400

原创 计算机网络——数据链路层

王道考研计算机网络2020版笔记数据链路层的基本概念1、节点:主机、路由器2、链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路和无线链路。3、数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。4、帧:链路层的协议数据单元,封装网络层数据报。数据链路层的功能数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。数据链路层的主要功能:数据链路层在物理层提供服务的基础上向网络.

2021-07-20 22:37:12 320 2

原创 计算机网络——物理层

王道考研计算机网络2020版笔记整理物理层基本概念:物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层主要任务:确定与传输媒体接口有关的一些特性。机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚情况和排列情况。电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。规程特性:(过程特性)定义各条物理线路的工作规程和时序.

2021-07-20 22:32:42 71

原创 计算机网络——第一章基本概念以及网络模型

本文为王道考研计算机网络课程2020版本的笔记计算机网络的概念定义:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互联(通信链路)的,自治(无主从关系)的计算机集合。计算机网络的功能1、数据通信(连通性)2、资源共享:硬件、软件、数据3、分布式处理:多台计算机各自承担同一工作任务的不同部分(Hadoop平台)4、提高可靠性5、负载均衡:各计算机之间更亲密计算机网络的组成组成部分:硬件、软件、协议工作.

2021-07-20 19:57:27 186

原创 C++哈希结构

C++哈希结构分类数组setmapset和map的特点如下所示哈希结构底层实现方式set红黑树multiset红黑树map红黑树multimap红黑树unordered_set哈希表unordered_map哈希表底层以红黑树(平衡二叉树)实现的哈希结构的key值是有序的,查询效率都为O(logn)即平衡二叉树的深度,以哈希表实现的哈希结构的key值是无序的,查询效率为O(1),与数组一致。注意所有的哈希结构都不可以更改key

2021-07-19 15:40:45 313

原创 438. 找到字符串中所有字母异位词

问题描述给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词 指字母相同,但排列不同的字符串。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路问题包含两部分:1.取子串2.判断下一个子串是否为当前子串的异位词问题1可以利用string

2021-07-19 12:39:21 153 2

原创 Xcode设置支持C++17

Xcode 设置支持c++17工程文件下找到Building settings,选择all下拉至Apple Clang - language -C++更改language Dialect,根据S TL的选择,设置C++17,如下图所示,Xcode版本是12.4

2021-07-05 16:59:39 2778 1

空空如也

空空如也

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

TA关注的人

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