- 博客(48)
- 收藏
- 关注
原创 Linux 下安装 Redis
1、准备 redis 安装包,可以进入官网,自行选择需要的版本下载,我下载的是 redis-6.2.4.tar.gz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、在 /usr/local/ 下创建 redis 文件夹mkdir /usr/local/redis4、解压安装包tar zxvf redis-6.2.4.tar.gz -C /usr/local/redis解压完之后, /usr/local/redis 目录中应该有一个相
2021-09-04 22:55:56
430
1
原创 Vue 使用 yarn 报错
问题提出 某个 Vue 项目由于需要使用 yarn install 安装依赖,但是本地未安装 yarn,首先全局安装 yarn。npm install -g yarn 配置 yarn 淘宝镜像yarn config set registry https://registry.npm.taobao.org&n
2021-09-03 22:34:42
1092
1
原创 Java 异常
文章目录一、Java异常架构与异常关键字Java异常简介Java异常架构1、Throwable2、Error(错误)3、Exception(异常)运行时异常编译时异常4、受检异常与非受检异常受检异常非受检异常Java异常关键字二、Java异常处理声明异常抛出异常捕获异常如何选择异常类型常见异常处理方式1、直接抛出异常2、封装异常再抛出3、捕获异常4、自定义异常5、try-catch-finally6、try-with-resource三、Java异常常见面试题1、Error 和 Exception 区别是什
2021-09-02 21:59:37
577
原创 Linux 下安装 Tomcat
安装部署1、准备 Tomcat 安装包,可以进入官网,自行选择需要的版本下载,我下载的是 apache-tomcat-9.0.33.tar.gz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、在 /usr/local 下创建 tomcat 文件夹mkdir /usr/local/tomcat4、将 tomcat 安装包解压到 /usr/local/tomcat 中tar -zxvf apache-tomcat-9.0.33.tar.g
2021-09-01 22:47:59
277
原创 Vue 项目中出现 Invalid Host header 解决办法
问题提出当使用 natapp ,对 Vue 项目进行内网穿透时,访问项目外网网址出现 Invalid Host header 情况。解决方法在项目的根目录下,应该有一个 vue.config.js 文件,如果没有直接新建一个,然后在其中加入配置module.exports = { devServer: { disableHostCheck: true }}再访问项目外网网址,发现问题已经解决。...
2021-08-31 23:21:21
2145
2
原创 什么是死锁?死锁如何解决?
1、死锁是什么?死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象。当多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进,这种情况就是死锁。很显然,如果没有外力的作用,那么死锁涉及到的各个进程都将永远处于封锁状态。2、死锁产生的四个必要条件(1)互斥条件:进程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。(2)不剥夺条件:进程所获得的
2021-08-30 22:14:30
20185
1
原创 Linux 下安装 MySQL
1、准备 mysql 安装包,可以进入 官网,自行选择需要的版本进行下载,我下载的是 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、卸载系统自带的 mariadb,如果有的话rpm -qa | grep mariadb使用 yum -y remove 将出现的 mariadb 相关全部卸载[root@xxx docker]# rpm -qa | grep
2021-08-29 22:25:05
139
原创 已知树中非叶子节点的度数和数量,如何计算树中叶子节点的个数?
树的一些定义1、一棵树的度树指其中节点的度数最大值。2、一个节点的度数为该节点的子节点数量,显然叶子节点度数为0。3、树中的边和节点的关系有:节点数=边数+1。也就是说每条边代表一个度数,而树的根节点例外,所以树的总节点数=总度数+1。示例1、节点 A 的度数为3,节点 C 的度数为1,节点 F 的度数为0。2、这棵树的度数为 A 节点的度数,为3。题目已知一棵树中度数为1的节点有4个,度数为2的节点有3个,度数为3的节点有2个,度数为4的节点有2个。则该树中有多少个叶子结点?
2021-08-28 22:46:01
1558
1
原创 虚拟机 ping 宿主机 ping 不通,但宿主机 ping 虚拟机可以 ping 通
问题提出 在 VMware Workstation Pro 中创建 Centos 虚拟机,设置的网络类型是桥接网络。安装完之后,发现了一个问题:宿主机可以 ping 通虚拟机,但是虚拟机 ping 不通宿主机。 思考:可能是防火墙的问题;或者是由于某些入站规则导致。解决方法1、关闭 windows10 的防火墙(
2021-08-27 19:47:41
2267
2
原创 Linux 下安装 Maven
1、准备 maven 安装包,可以进入镜像站,自行选择需要的版本下载,我下载的是 apache-maven-3.6.3-bin.tar.gz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、在 /opt 下创建 maven 文件夹,路径为 /opt/mavenmkdir /opt/maven4、将 maven 安装包解压到 /opt/maven 中tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt
2021-08-26 22:30:51
233
原创 解决 vuex 刷新后数据丢失问题
问题描述 我们在写 vue 项目的时候,经常会用到 vuex 作为内存来储存,例如一般在登录成功的时候需要把用户信息,菜单信息等放置 vuex 中,作为全局的共享数据。 但是我们存放在 vuex 中的数据在页面刷新的时候 vuex 里的数据会重新初始化,导致数据丢失。因为 vuex 里的数据是保存在运行内存中的,当页面
2021-08-23 22:31:11
238
原创 如何注册 Docker hub
Docker hub 是什么? Docker Hub 是 Docker 社区分享 Docker 镜像的网站/存储库。 上面有很多 Docker 镜像,例如:nginx 官方镜像,你可以从Docker Hub上下载这些镜像,也可以在上面分享你自己的镜像。 &nb
2021-08-22 23:11:24
12019
3
原创 Linux 下安装 Nginx
1、准备 nginx 安装包,可以进入 官网,自行选择需要的版本进行下载,我下载的是 nginx-1.20.1.tar.gz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、在 /usr/local 下创建 nginx文件夹mkdir /usr/local/nginx4、将 nginx 安装包解压到 /usr/local/nginx 中tar zxvf nginx-1.20.1.tar.gz -C /usr/local/nginx解
2021-08-21 22:41:37
235
原创 猴子排序
基本思想 把一个无序的数组进行乱排序,然后看其是否会有序,有可能一次之后就有序了,也有可能很多次后依然无序。 最佳情况 O(n)O(n)O(n),平均 O(n∗n!)O(n*n!)O(n∗n!),最坏可执行直到世界的尽头。
2021-08-20 22:22:21
281
原创 排序算法之基数排序
简介 基数排序(radix sort)属于 “分配式排序”(distribution sort),又称 “桶子法”(bucket sort)或 bin sort, 顾名思义,它是通过键值的部分信息,将要排序的元素分配至某些"桶"中,以达到排序的作用, &nbs
2021-08-19 22:26:45
560
原创 Linux 下安装 Python3
1、准备 Python3 安装包,可以进入官网,自行选择版本进行下载,我下载的是 Python-3.8.11.tgz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、解压压缩包,得到目录 Python-3.8.11,位置在 /home/software/Python-3.8.11tar zxvf Python-3.8.11.tgz4、提前安装可能需要的依赖yum install zlib-devel bzip2-devel openssl
2021-08-17 22:14:23
100
原创 排序算法之桶排序
简介 **桶排序(Bucket sort)**或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里,每个桶子再个别排序,有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序。 桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间 Θ(n)Θ(n)Θ(n)
2021-08-16 21:10:31
141
原创 Mybatis 在 insert 插入操作后返回主键 id
前提条件假设我们这里有一个 Student 表,结构如下sidnameage101Jone18102Jack20103Tom28其中主键 sid 是自增的,那么我们插入数据时就不用插入 sid,它会生成一个自增的 sid。问题提出这里有一个问题,我们执行插入语句之后,并不能获取到生成的 sid。StudentDao 接口中的 insert 方法boolean insertStudent(Student student);StudentD
2021-08-15 22:16:21
29308
7
原创 Linux 下安装 Git
方法一:通过 yum 安装(不推荐)在 Linux 上安装 git 仅需一行命令即可搞定,对于 Centos 系统来讲,直接执行如下命令即可安装yum install git不过通过这种方式安装的 git 可能不是较新版的 git,以环境 centos 7 来说,这种方式安装的 git 版本为1.8.3.1。所以不建议安装旧版本。[root@xxx ~]# git --versiongit version 1.8.3.1方法二:通过源码编译安装(推荐)要安装新版本的 git,需要自行下
2021-08-14 23:37:07
4181
原创 Java 集合
文章目录1)说说常见的集合有哪些吧?2)使用集合框架的好处?3)集合框架底层数据结构4)迭代器Iterator是什么?5)Iterator和ListIterator有什么区别?6)HashMap与HashTable有什么区别?7)如何决定使用HashMap还是TreeMap?8)HashMap的put方法的具体流程?9)HashMap的扩容操作是怎么实现的?10)HashMap是怎么解决哈希冲突的?什么是哈希?什么是哈希冲突?HashMap的数据结构hash()函数JDK1.8新增红黑树总结11)HashM
2021-08-14 18:37:59
1416
原创 排序算法之计数排序
简介 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。 它的优势在于在对一定范围内的整数排序时,它的复杂度为 O(n+k)O(n+k)O(n+k)(其中 k 是整数的范围),快于任何比较排序算法。
2021-08-13 22:29:00
310
原创 Linux 下安装 Nodejs
1、准备 node 安装包,可以进入镜像站 https://npm.taobao.org/mirrors/node/ ,自行选择版本进行下载,这里下载的是 node-v12.22.3-linux-x64.tar.xz2、将本地的安装包上传到 linux 服务器上,我这里放在 /home/software 目录下3、在 /usr/local 下创建 node 文件夹mkdir /usr/local/node3、将 node 安装包解压到 /usr/local/node 中tar -xJv
2021-08-12 22:41:26
338
原创 排序算法之堆排序
简介 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。 堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即父节点结点的键值或索引总是小于(或者大于)它的子节点。堆的概念 在介绍堆排序之前,简单介
2021-08-11 22:57:54
3036
1
原创 Linux 下安装 Docker
1、环境查看,系统内核要 3.10 以上的[root@xxx docker]# uname -r3.10.0-1160.36.2.el7.x86_642、使用 yum 安装 gcc 相关环境,和需要的安装包yum -y install gcc gcc-c++ yum-utils3、卸载旧的版本yum remove docker \ docker-client \ docker-client-latest \
2021-08-10 22:23:55
913
原创 排序算法之快速排序
简介 快速排序(QuickSort)是对冒泡排序算法的一种改进。 快速排序通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。基本思想 &n
2021-08-01 22:55:44
481
原创 排序算法之归并排序
简介 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。基本思想 &nb
2021-07-30 22:40:26
870
原创 IDEA 使用阿里巴巴 Java 开发规约插件教程
“统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本” .
2021-07-29 21:43:15
1658
原创 排序算法之希尔排序
简介 希尔排序(Shell Sort)是插入排序的一种,又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排
2021-07-28 23:50:04
137
原创 使用 VMware 安装 Centos 7 详细教程
前置条件1、VMware Workstation Pro 软件2、镜像文件 CentOS-7-x86_64-DVD-2009.iso,也可以自行选择版本安装步骤1、打开 VMware 软件,点击文件 --> 新建虚拟机,选择**自定义(高级)**安装2、硬件兼容性,默认3、稍后安装操作系统4、客户机操作系统,选择 linux,版本对应镜像文件的版本5、填写虚拟机名称,选择虚拟机位置,最好在路径最后以虚拟机名称建立一层文件夹6、处理器配置,注意虚拟机总核心数不能超过主机核心
2021-07-27 23:37:21
940
原创 排序算法之插入排序
简介 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。 插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表,进行待插入位置查找,
2021-07-16 23:01:53
342
原创 排序算法之选择排序
简介 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。 &n
2021-07-15 22:53:38
78
原创 面向对象设计的七大原则
面向对象设计原则简介 常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充。设计原则名称设计原则简介单一职责原则(Single Responsibility Principle, SRP)类的职责要单一,不能将太多的职责放在一个类中开闭原则(Open-Closed Principle, OCP)软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件
2021-07-14 22:22:57
2093
原创 电脑如何录制 gif 动图?使用 GitCam!
简介 GIF 是互联网上最流行的移动图像形式。使用 GifCam 软件,可以创建和修改这些文件。这个软件包不仅易于使用且免费下载,而且还提供了许多类似版本中不常见的功能。 GifCam(Gif 相机)是一款免费且非常优秀的视频录制/剪辑的 GIF 动画制作软件,可以免安装使用。它的使用非常简单直观,譬如想要将某一小段视
2021-07-13 23:33:14
1342
原创 排序算法之冒泡排序
简介 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 &
2021-07-12 23:01:33
118
原创 睡眠排序
基本思想 睡眠排序算法是一种比较另类有趣的排序算法,其核心思想与多线程、CPU调度机制相关,是通过多线程让每一个数据元素睡眠一定的时间,睡眠时间要和自身数据大小存在一定的规律,睡眠时间短的先进行输出,睡眠时间长的后输出,从而实现数据有序输出。缺陷 (1)当数据很大时,会睡眠很长时间,程序运行时间较长,效率比较低。
2021-07-11 22:56:29
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人