- 博客(38)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Pat甲级题目刷题分享+算法笔记提炼 ---------------第三部分 树专题
一、二叉树(重点掌握BST树和AVL树)1、一般二叉树的存储结构采用的是类似链表的方式,每个节点都有两个指针,分别指向其左右孩子节点。①节点的定义struct node{ int data; //int 当然是可以变为其他数据类型,这里只是举个常见的例子 node *lchild; node *rchild;};//新建一个节点node * n...
2019-01-05 21:26:08
360
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Pat甲级题目刷题分享+算法笔记提炼 ---------------第二部分 排序算法专题(理解各个算法的特性)
前言,因为STL库已经封装好了sort函数,简便的排序一般采用仿函数和函数指针的方法。所以重点要熟悉各个算法的特性。同样在文章的最后给大家奉献了一个考察各个算法特性的PAT甲级题目,大家看了,就明白了解各个算法的表面作用所在了,深层次的作用还需要自己在实践中发掘。#include<vector>#include<algorithm>#include<...
2018-12-23 21:24:35
485
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Pat甲级题目刷题分享+算法笔记提炼 ---------------第一部分 基本数据操作与常用算法
一、算法笔记提炼 · 数学相关 1. 最大公约数+最小公倍数(只需要记住 定理即可) gcd(a,b) = gcd(b,a%b); 意思是:a与b的最大公约数 即 b与a%b的最大公约数 而 0 与数a的最大公约数为数a,自然递归边界很容易得知int gcd(int a,int b) { if (b==0) { return a; } re...
2018-12-22 17:09:04
891
原创 模板参数中typename和class有什么区别?
在命名模板参数得时候,typename和class的作用是相同的。typename 用于声明何时引用依赖于另一个模板参数的嵌套类型。
2024-01-22 14:09:14
605
原创 内存分配器
当分配器释放的块,其邻接的部分正好也是一个空闲块。回顾一下之前的隐式空闲链表,当我们释放一块之后,我们是没办法知道前面一个块的大小的,同时也是无法知道其是否空闲,因此我需要这样的一个信息,某人提出了一个通用的边界标识技术。每个空闲链表包含大小相等的空闲块,如果用户申请一个指定大小的块,通过检查相应的空闲链表,直接分配第一个空闲块即可,因此分配和是释放块都能达到常数时间。因为链表中都是大小相等的块,不需要合并,所以不需要脚部信息,一个已分配块的地址也可以通过大小推断出来,所以已分配块的头部也不需要。
2023-12-09 17:20:56
87
原创 Mysql 分区表
首先分区表是一个独立的逻辑表,但是底层由很多物理子表组成,从底层的文件系统来看,每个分区表都有一个使用#分割命名的表文件。例如下面的逻辑表sales;;查看表存储位置和文件系统结构:查看分区信息用户在执行查询的时候,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询就不需要扫描所有分区了,只需要查询包含需要数据的分区即可。
2023-03-19 13:41:54
354
原创 final域的内存语义
在一个线程中,初次读对象引用与初次读该对象的包含的final域,JMM禁止处理器重排序这两个操作。JMM禁止编译器把final域的写重排序到构造函数之外,编译器会在final域的写之后,构造函数的return之前,插入一个StoreStore内存屏障。1. 在构造函数内对一个final域的写入,与随后把这个被构造对象引用赋值给一个引用变量,着两个操作不能重排序。2. 初次读一个包含final域的对象的引用,与随后初次读取这个final域,这两个操作不能重排序。
2022-12-11 20:30:11
281
原创 正确使用volatile变量
考虑因素正确使用volatile变量的场合1. 状态标记2. 一次性安全发布3. 独立观察4. volatile bean5. 高级模式 - 一种开销较低的读写锁
2022-12-11 15:53:36
559
原创 Volatile内存语义以及如何正确使用
上述的内存屏障策略是相对保守的,在实际执行的时候,只要不改变volatile的内存语义是可以生省略不必要的屏障的。为了实现volatile语义,编译器在生成字节码的时候,会在指令序列中插入内存屏障来禁止特定类型的处理器排序。读语义:当读一个volatile变量的时候。JMM会把该线程对应的本地内存置为无效,从而从主内存中读取。会把该线程对应的本地内存的共享变量直接刷新到主内存中。写语义:当写一个volatile变量时候,1. volatile变量的写操作。2. volatile变量的读操作。
2022-12-11 15:12:20
301
原创 值得收藏的JAVA学习网站链接
http://concurrent.redspider.group/article/02/11.htmlhttps://www.javadoop.com/
2021-03-02 17:49:53
163
原创 2021-02-23
利用数组实现栈package com.edagr.seckilldemo;/** * 利用数组实现栈 */public class Stack { private final int DEFAULT_SIZE = 10; private int top = -1; private int capacity; private Object[] arr; public Stack() { arr = new Object[DEFAULT_S
2021-02-23 16:26:04
76
原创 SSM框架搭建Validator校验,踏坑之路
1、刚开始搜网上一堆Spring-mvc配置,实则一点都不需要,反而容易纠结配置是否正确,离目的地越来越远2、@Validated 和 @Valid也不要管他们两,这又是一堆坑人层热度,SSM框架中只能用@Validated3、pom.xml中只需要引入两个包即可,无效其他不相干包,除非你要用EL表达式,但是我这里只给大家标出最简方案<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
2021-01-02 23:16:24
431
原创 vue-cli3 一直运行 /sockjs-node/info?t=xxxxx
将node_modules/sockjs-client/dist/sockjs.js中1606行注释掉1605 try {1606 //self.xhr.send(payload);1607 } catch (e) {1608 self.emit('finish', 0, '');1609 self._cleanup(false);1610 }...
2020-03-10 14:18:43
251
原创 VueCli3出现 [WDS] Disconnected!
vue.config.js中修改配置localhost -> 127.0.0.1disabledHostCheck: true{ disableHostCheck: true, proxy: {// 配置跨域 '/': { target: 'http://127.0.0.1:3000/', // 这里后台的地址模拟的;应该填写你...
2020-03-10 14:14:11
4109
1
原创 Docker利用Dockerfile制作自定义镜像时提示磁盘空间不足
Dockerfile内容FROM scratch #基础镜像为空镜像ADD Ney.tar.gz / #Ney.tar.gz为自制的centos7根文件系统 为2.4GCMD ["/bin/bash"]解决办法在CentOS7环境下, 修改docker.server文件, 使用--graph参数指定存储位置vi /usr/lib/systemd/syste...
2019-11-25 16:47:50
1098
原创 判别系统是centos6和centos7 支持中标麒麟
#!/bin/bashfunction killfirewall(){ systemver=`cat /etc/*release* 2>/dev/null | awk 'NR==1{print}' |sed -r 's/.* ([0-9]+)\..*/\1/'` if [[ $systemver = "6" ]];then echo "当前是Centos6系统,禁用防火墙"...
2019-08-02 11:50:11
3967
1
转载 解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”
centos64位编译32位代码,出现/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录,需要安装32位的glibc库文件。 安装32位glibc库文件命令: sudo yum install glibc-devel.i686(安装C库文件) sudo dnf i...
2019-07-02 11:02:42
1746
转载 centos6/7通用查看系统版本
方法一:可以用lsb_release -a来查看系统版本[root@centos6 ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64...
2019-06-27 13:57:07
4440
原创 解决gcc -m32报错fatal error: sys/cdefs.h: No such file or directory
sudo apt-get purge libc6-devsudo apt-get install libc6-devsudo apt-get install libc6-dev-i386
2019-06-21 14:12:07
3100
原创 django表单验证
django-admin.py startproject FormTestdjango-admin.py startapp app1在setting.py中INSTALLED_APPS 中添加一项'app1'建立表单模型 models.py建立视图函数 views.py建立模板html页面 fm.htmlxi修改urls.py配置...
2019-06-13 14:44:56
113
原创 CentOs7 pip安装mysqlclient
yum install mysql-develyum install gcc (环境需要)yum install python-develpip install mysqlclient(如果出现pip命令未安装)curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本sudo pytho...
2019-06-11 11:57:11
1234
转载 各主流Linux系统解决pip安装mysqlclient报错
Arch系的Manjaro在近几年变得异常火热,使用manjaro作为开发机开发Python时,不可避免需要安装mysqlclient包来连接Mysql进行开发,但是mysqlclient无论是Win是CentOS还是Ubuntu,都无法正确安装,这里呢就给出几个解决方案。ArchLinux(或Manjaro)Arch(或Manjaro)使用pacman包管理器,在其包资源中有一个pytho...
2019-06-11 11:30:33
1426
原创 openstack+centos7环境的部署
方式一操作系统CentOS7.4 -Minmal 1708前期准备工作关闭NetworkManager firewalld vi etc/selinux/config中的selinux=disabled//配置两个网卡eth0 10.100.55.41 eth1 10.100.55.420、配置pike源备注:阿里源路径为http://mirrors.aliyun.com/cen...
2019-02-28 11:38:11
627
原创 kvm几种快照的创建与删除
注意点写在前面[root@localhost ~]# virsh snapshot-create vm2错误:不支持的配置:存储类型 vda 不支持磁盘 raw 的内部快照[root@localhost ~]# virsh domblklist vm2目标 源------------------------------------------------vda ...
2019-02-28 11:37:08
10906
原创 KVM虚拟机的静态迁移和动态迁移、共享存储
一、静态迁移(虚拟机需要关闭)1、确定需要迁移的虚拟机的磁盘的存放路径,如虚拟机名称为vm1virsh domblklist vm1 查看,我的为/disk3/CentOS-6.8-x86_64.raw2、导出需要迁移的虚拟机的配置文件virsh dumpxml vm1 > /disk3/CentOS-6.8-x86_64.xml3、将需要迁移的虚拟机的配置文件和磁盘文件...
2019-02-21 16:08:18
2315
原创 Linux Shell 编程基础篇
一、变量1、变量替换和赋值 引用变量值 $ 赋值 =2、环境变量 3、位置参数作为交互时的输入 $0脚本名字,$1第一个参数 ,但是从第10个参数开始就要用花括号括起来${10}二、引用"" 双引号 引用除美元符号,反引号,反斜线之外的所有字符'' 单引号 引用所有字符`` 反引号 将内容解释为系统命令\ ...
2019-02-20 14:09:08
349
原创 VMWare 下 KVM虚拟机创建教程
1、检查是否支持全虚拟化vmx、svm cat /proc/cpuinfo | grep vmx如果没有找到的话,关闭客户机,勾选下图红色标识部分3、安装kvmyum install qemu-kvm qemu-kvm-tools virt-manager libvirt -y检查libvirtd服务是否启动CentOS6: service libvitrd s...
2019-02-18 14:54:07
1006
原创 Linux下配置桥接网络
#前期准备1、关闭NetwokManager服务 (因为其会自动配置管理网络设置,不关闭的话,我们做的修改会失效) 且设置开机禁止CentOS6 service NetworkManager stop chkconfig NetworkManager offCentOS7 systemctl stop NetworkManager .ser...
2019-02-18 14:08:00
4602
原创 修改表的自增id的当前值
alter table tablename auto_increment=1000;一般与查询表目前最大id一起连用alter table tablename auto_increment=select max(id) from tablename;
2018-09-03 10:46:10
4357
原创 Mysql批量导出与批量导入
①批量导出1)如果想把云服务器上的mysql数据库数据导出到本地 只能使用 客户端语句在终端使用mysql -u root -p test -e 'SELECT loid FROM ana_customer WHERE localnet_id='101000';' > 101000_loid.txt 将表中数据导出到本地 2)如果使用Mysql的 CAPI接口 的话 那么只能是同...
2018-09-03 10:45:00
1827
转载 组合n选m算法
组合n选m算法算法摘要:本程序的思路是开一个n长度的数组,其下标表示为0到n-1,数组元素的值为1表示其下标代表的数被选中,为0则没选中,算法过程:1)初始化,将数组前m个元素置1,表示第一个组合为前m个数2)然后从左到右扫描数组元素值的“10”组合,找到第一个“10”组合后将其变为“01”组合3)重复1), 2)步骤,直到无法找到”10”组合 例如求5中选3的组合:1 1 1 ...
2018-09-03 10:21:28
2124
1
转载 mysql grant权限
用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库、哪些表 2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户一、用户授权mysql> grant all privileges on *.* to 'yangxin'@'%' identi...
2018-05-21 13:35:41
475
原创 让外部电脑可以访问服务器上面的mysql数据库
①mysql中user表添加一行root为%②grant赋值权限 也可以直接修改user表中的权限③服务器安全组规则中,要开放mysql的3306端口,防火墙中也要新建入规则过滤3306端口...
2018-05-21 13:31:31
2335
原创 修改mysql的数据库存储位置
首先修改C:\ProgramData\MySQL\MySQL Server 5.7下的my.ini中的datadir 为自定义的目录下再把C:\ProgramData\MySQL\MySQL Server 5.7\Data下的所有文件复制到自定义目录下重启服务如果重启服务失败鼠标右击自定义文件夹-》属性-》安全-》添加一个用户名NETWORK SERVICE->修改读写权限...
2018-05-21 13:26:15
670
原创 mysql相关操作
① 将自增id变为连续ALTER TABLE tablenameDROP id; -- 先删除主键alter table tablename add id int(14) not null after klineType ; -- 添加新的一列(在klineType列的后面)alter table tablename modify column id int(14) auto_increm...
2018-05-09 10:03:39
86
原创 mysql的批量处理
对于大批量数据的迁移工作,采用数据库自身的高速批量处理能力可以较快的实现 导出select * from tablename into outfile 'C:/Programdata/MySQL/MySQL Server 5.7/Uploads/文件名' fields terminated by ',' lines terminated by '\r\n' 当然也可以导入自定义...
2018-05-09 09:05:05
237
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人