自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Convert.ToInt64(value, fromBase)

Convert.ToInt64(value, fromBase)fromBase代表进制 2,8,10,16| 示例Convert.ToInt64(“1001”, 2) ⇒ 9Convert.ToInt64(“f”, 16) ⇒ 15

2021-04-13 09:43:31 628

原创 SQL基础

数据库对象表:表是包含数据库中所有数据的数据库对象,由行和列构成,它是最重要的数据库对象视图: 视图是由一个表或多个表导出的表,又称虚拟表索引:加快数据检索速度并可以保证数据唯一性的数据结构存储过程:为完成特定功能的T-SQL语句集合,编译后存放于服务器的数据库中触发器:它是一种特殊的存储过程,当某个规定的事件发生时,该存储过程自动执行系统数据库mastermodelmsdbtempdbmaster:它是系统最重要的数据库,记录了SQL Server的系统信息,例如登录帐号,

2020-11-01 22:42:38 255

原创 VS 反编译工具 ildasm

名称:ildasm.exe目录:

2020-09-10 22:05:55 1822

原创 shell tar 归档数据

tar:标准的Linux归档工具tar命令最开始是用来将文件写到磁盘设备上归档的,他也能把输出写到文件里参数功能长名称描述-A–concatenate将一个已有tar归档的文件追加到另一个已有tar归档文件-c–create创建一个新的tar归档文件-d–diff检查归档文件和文件系统的不同之处–delete从已有tar归档文件中删除-r–append追加文件到已有tar归档文件末尾-t–list列出已有tar归档文件的内容

2020-08-30 19:25:51 232

原创 shell sort排序

sort参数:-n:按数字排序,而不是字符-M:用三字符月份名按月份排序-b:排序时忽略起始的空白-c:不排序,如果数据无序也不要报告-d:仅考虑空白和字母,不考虑特殊字符-f:默认情况下,会将大写字母排在前面,这个参数会忽略大小写-g:按通用数据来排序(跟-n不同,把值当浮点数来排序,支持科学计数法表示的值)-i:在排序时忽略不可打印字符-k:排序从POS1位置开始,如果指定了POS2的话,到POS2位置结束-m:将两个已排序数据文件合并-o:将排序结果写出到指定文件中-R:按

2020-08-30 14:37:37 4709

原创 Linux ps/top 监控命令

1. 监控程序ps:收集运行在系统上的进程信息时非常有用,但只能显示某个特定时间点的信息UID : 启动这些进程的用户PID : 进程IDPPID:父进程的进程号(如果该进程是由另一个进程启动的)C:进程生命周期中的CPU利用率STIME:进程启动时的系统时间TTY:进程启动时的终端设备TIME:运行进程需要的累计CPU时间CMD:启动的程序名称F:内核分配给进程的系统标记S:进程的状态(O代表正在运行;S代表在休眠,R代表可运行,正在等待运行;Z代表僵化,进程已结束但父进程

2020-08-30 14:24:39 270

原创 C# Event事件

1. System.EventArgs是一个预定义的框架类,除了静态的Empty属性之外,它没能其它成员EventArgs是为事件传递信息的类的基类2. PriceChangedEventArgs传递信息的类根据所含有的信息进行命名,而不是所使用的事件通常通过属性或只读字段来暴露数据3. 为事件选择或定义一个委托返回类型是void接收两个参数,第一个参数类型是object,第二个参数类型是EventArgs的子类。第一个参数表示事件的广播者,第二个参数包含需要传递的信息名称

2020-08-19 22:27:44 274

原创 C# 委托 - Delegate 实例方法与静态方法

Delegate 实例方法与静态方法当一个实例方法被赋值给委托对象的时候,这个委托对象不仅要保留着对方法的引用,还要保留方法所属实例的引用System.Delegate Target属性代表这个实例如果引用的是静态方法,那么Target属性为null1. Delegate 实例方法using System;namespace senorDotnet{ public delegate void ProgressReporter(int percentComplete);

2020-08-17 22:36:59 2715 1

原创 Shell 向函数传数组参数和返回数组

如果将数组变量作为函数的参数,函数只会取数组变量的第一个值testArray(){ echo "函数入参为:$@"}myarray=(1 2 3 4)echo "原始数据为:${myarray[*]}"testArray $myarray![结果](https://img-blog.csdnimg.cn/20200811222225305.png)解决办法将数组变量的值分解成单个的值,然后将这些值作为函数的参数使用。在函数内部,将所有的参数重新组合成一个新的变量

2020-08-11 23:04:13 6397

原创 SpringBoot 加载Mysql脚本的两种方式

1. 使用自动配置加载sql脚本文件命名规则Schema-.sqldata-.sqlorg\springframework\boot\autoconfigure\jdbc\DataSourceInitializer.javagetScripts默认规则:schema.sql schema-all.sql2. 使用配置文件来加载spring: datasource: url: jdbc:mysql://ip:port/jdbc username: root

2020-05-23 19:44:41 333

原创 Docker Mysql - SpringBoot不能连接问题

问题2020-05-23 16:59:33.872 ERROR 8700 — [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure原因Mysql的版本为8.XXXmys

2020-05-23 17:06:07 1831

原创 Docker Mysql - Navicat 连接报 1251 client does not support

docker mysql启动用Navicat连接报下面的错误原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式。解决步骤1. 进入docker mysql内部docker exec -it mysql01 bash # mysql01 是容器名,也可以用容器id2. 登录mysqlmysql -u root -p3. 查看用户信息select host,user,plugin,authentication_

2020-05-21 21:09:49 177

原创 Docker 操作mysql

启动mysqldocker run --name mysql01 -d mysql查看运行情况,发现并没有在运行docker ps查看所有运行中的容器docker ps -a查看log日志docker logs bbcfca3f690fdocker logs CONTAINER ID正确的启动https://hub.docker.com/_/mysql删除当前mysql使用参数来启动docker run --name mysql01 -e MY

2020-05-21 09:05:46 272

原创 Shell 正则表达式

特殊字符组[[:alpha:]] 匹配任意字母字符,不管大写还是小写[[:alnum:]] 匹配任意字母数字字符0-9,A-Z,a-z[[:blank:]] 匹配空格或制表符[[:digit:]] 匹配0-9之间的数字[[:lower:]] 匹配小字字母字符a-z[[:upper:]] 匹配任意大写字母字符A-Z[[:print:]] 匹配任意可打印字符[[:punct:]] 匹配标点符号[[:space:]] 匹配任意空白字符:空格,制表符,NL,FF,VT,CR

2020-05-20 20:22:17 383

原创 Shell sed

sed替换修改第二行的文本$ sed '2,s/dog/cat' file修改第二,三行的文本$ sed '2,3s/dog/cat/' file修改第二行以后的文本,可以用特殊地址----美元符$ sed '2,$ s/dog/cat/' file删除 d使用该命令时要特别小心,如果忘记加入寻址模式,流中的所有文本行都会被删除删除第三行$ sed '3d' file删除第二,三行$ sed '2,3d' file删除第三行以后$ sed '3,$ d' file

2020-05-20 20:21:42 962 1

原创 C++ 智能指针

uniqre_ptr它可以指向任意类型的内存。它是一个模板,模板需要用尖括号指定模板参数unique_ptr超出作用域或被删除时,会自动释放内存或资源unique_ptr只属于指向的对象,优点:发生异常时,必须释放存储空间 - 离开其作用域时,会自动释放存储空间Employee* anEmployee = new Employee();auto anEmployee = std::make_unique<Employee>;#如果编译器不支持C++14,可以用如下方式建立un

2020-05-20 20:21:01 95

原创 C++ 内存管理

堆栈 堆堆栈:堆栈上分配内存的变量不需要由程序员释放,由系统自动回收堆:必须确保释放在堆上分配的任何内存如果不希望立即分配内存,可以把它初始化为空指针 nulptrint* myIntegerPointer = nullptr;使用完动态分配的内存后,需要使用delete操作符释放内存,为防止在释放指针指向的内存后再使用指针,建议把 指针设置为nullptrdelete myIntegerPointer;myIntegerPointer = nullptr;在解除引用之前指

2020-05-20 20:19:41 168

原创 C++ 文件操作

C++系统中的I/O标准类,都定义在iostream.h, fstream, hstrstream.hiostream.h 包含了:iosiostreamistreamostreamfstream.h 包含了:fstreamifstreamofstreamfstreambasestrsteam.h 包含了:strstreamistrestreamostrstreamstrstreambaseiostreamios类中的枚举常量常量说明

2020-05-20 20:18:27 123

原创 C++ 函数后面的const

C++函数后面加const的意义表示该函数是只读函数,不会改变数据成员提高了程序的可读性一旦试图改变数据成员的值,编译器按错误处理非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)加了const的成员函数可以被非const对象和const对调用,但不加const的成员函数只能被非cosnt对象调用...

2020-05-20 20:17:54 290

原创 strtok

strtok分解字符串str为一组字符串,delim为分隔符char *strtok(char * str, const char *delim)#include <string.h># include <stdio.h>int main(){ char str[80] = "This|is|a|test"; const char s[2] = "|"; char *token; # 获取第一个子字符串 token = st

2020-05-20 20:17:13 157

原创 C++ STL 标准模板库

数据结构的基本概念数组:顺序线性结构的实现基本操作查询插入删除修改栈结构后进先出队列先进先出链表链表的存储方式不是顺序的每个对象都含有下一个对象所在位置的信息第一个元素的位置由头指针存储尾部的元素存储的位置信息为空无法通过指针偏移来找到对象 只能通过遍历访问优点:在随机位置插入和删除较为迅速图结构图结构是一个种复杂的数据结构,每个对象都可以与其它对象相关联序列容器序列容器只提供插入功能,其中元素都是有序的,但并非排

2020-05-20 20:16:36 101

原创 C++ 类模板

类模板的定义template<类型形式参数> class 类模板名{ //类模板体};类模板成员函数的定义template<类型形式参数表>返回类型 类模板名 <类型名表>::成员函数名(形式参数列表){ //函数体}定义一个容器的类模板template<class Type>Type Container{ Type tItem;public: Container(); void begin

2020-05-20 20:16:01 122

原创 C++ 函数模板

定义template <类型形式参数表> 返回类型 函数名(形式参数表){ //do something}template<class T>void fun(T t){ //do something }如果采用如下模板,传递了两个不同类型的参数,编译器会产生错误.必须显式标识模板类型template <class type>type Sum(type xvar, type yvar){ return xvar + yva

2020-05-20 20:15:20 109

原创 C++ 向对对象编程

面向对象的三大特点1.封装-将不同的小对象封装成一个大对象把一部分内部属性和功能对外界屏蔽2.继承单继承多继承开放性可扩充性3.多态相同的行为可作用于多种类型的对象上并获得不同的结果向对过程编程开发的程序算法 + 数据结构向对对象设计所需的各种类和对象, 决定把哪些数据和操作封装在一起考虑怎样向有关的对象发送消息类的定义class 类名标识符{public: 数据成员 成员函数private: 数据成

2020-05-20 20:14:46 164

原创 C++ 枚举类型

定义枚举的一般形式enum 枚举类型名 {标识符列表};enum weekday {Sunday,Monday,Thesday,Wednesday,Thursday,Friday,Saturday};带赋值的枚举类型enum 枚举类型名{ 标识符 [=整型常数], ... 标识符 [=整型常数],}枚举变量;enum weekday{ Sunday = 0, Monday = 1, Thesday = 2, Wednesda

2020-05-20 20:14:08 791

原创 C++ 结构体

结构体是一个构造类型结构体变量的声明方式定义struct 结构体类型名{ 成员类型 成员名 ... 成员类型 成员名}声明方式1: 在定义结构体后,使用结构体类型名声明struct PersonInfo{ int index; char name[30]; short age;};PersonInfo pInfo;方式2:定义结构体时直接声明,直接声明时,可以声明多个变量struct PersonInfo.

2020-05-20 20:13:20 116

原创 C++ 宏定义

定义1.不带参数的宏定义#define 宏名 字符串宏定义不是C语句,不需要在行末加分号如果在字符串中含有宏名,则不进行替换如果字符串长行一行,可以在该行末尾用反斜杠 \ 续行#define 命令出现在程序中函数的外面,宏名的有效范围为定义命令之后到此源文件结束可以用 #undef 命令终止定义的作用域宏定义用于预处理命令,只作字符替换,不分配内存空间2.带参数的宏定义#define 宏名(参数列表) 字符串宏定义时参数要加括号宏扩展必须使用括号来保护表达式中低优先级的操作

2020-05-20 20:12:48 611

原创 C++ 共用体

共用体也叫联合体(union)共用体数据类型是将不同的数据项组织为一个整体,共用体在内存中占用首地址相同的一段存储单元。定义union 共用体类型名{ 成员类型 共用体成员1; 成员类型 共用体成员2;}声明先定义,后声明:union myUnion{ int i; char ch; float f;};myUnion u;//声明变量在定义时声明union myUnion{ int .

2020-05-20 20:12:09 1105

原创 Docker 操作

查找镜像docker search mysql拉取镜像docker pull mysql按tag拉取镜像,默认拉取latestdocker pull mysql:tag查看本地所有镜像docker images删除指定的本地镜像docker rmi image-id根据镜像启动docker run --name mytomcat -d tomcat:latest查看运行中的容器docker ps查看运行中的所有容器docker ps -a停止运行中的容器dock

2020-05-19 21:22:14 155

原创 SpringBoot项目 IDEA控制台log 颜色显示

在Run/Debug Configurations 添加相关参数VM options:-Dspring.output.ansi.enabled=ALWAYS

2020-04-10 17:02:26 1979

原创 SpringBoot 登录

模板引擎页面刷新实时生效禁用缓存spring.thymeleaf.cache=falseIDEA Ctrl+ F9 重新编译LoginController@Controllerpublic class LoginController { @PostMapping(value = "/user/login")// @RequestMapping(valu...

2020-04-01 22:34:30 252

原创 SpringBoot 国际化

查看jar包的依赖https://www.webjars.com/

2020-04-01 21:01:19 246 1

原创 双硬盘下win7安装双系统Linux - Ubuntu 18.04

双硬盘下win7安装双系统Linux - Ubuntu 18.04在windows系统所在硬盘 使用压缩卷 划分/boot 分区 4G。 一定要将/boot安装在这个硬盘,不然无法启动。在另一块硬盘划出 根目录/ - 10G, swap - 10G, /home - 200G安装完用easybcd添加引导即可。...

2018-06-29 08:58:52 2775

原创 Git 命令

保留工作现场 去完成 其它工作 1. git checkout + 分支名 2. git stash save “XXX” 3. git stash list 查看保留的列表 4. git stash apply stash@{0} 取出保留的第一个工作目录 ...

2018-06-26 09:22:35 107

原创 正则表达式 回溯规则与问号(懒惰量词)的使用

问题描述:匹配一对标记&lt;p&gt;和&lt;/p&gt;以及二者之间的所有文本。&lt;p&gt; The very .......beginning of a parapraph.&lt;/p&gt;&lt;p&gt; Then you have to find the end of the paragraph&lt;/p&gt;解决方案:&lt;p...

2018-06-26 09:17:15 272

原创 C# 正则表达式(二)

1、把正则表达式编译为CIL:RegexOptions.Compiled 作为第二个参数传给Regex()构造函数。Regex regexObj = new Regex(&quot;regex pattern&quot;,RegexOptions.Compiled);参数:宽松排列: RegexOptioins.IgnorePatternWhitespace不区分大小写:RegexOptioi...

2018-06-26 09:12:25 163

原创 C# 正则表达式(一)

1、点号:’.’匹配除了换行符之外的任意字符2、模式修饰符:匹配包括换行符在内的任意字符 (?s)’.’3、定位符:^ (\A) :字符串开始的位置$ (\Z \z) :字符串结束的位置 注:\Z 与 \z 的区别 当目标文本的最后一个字符是换行符的时候\z: 如果目标文本存在一个多余换行符的话,它就无法匹配。4、单词边界:\bMy ...

2018-06-26 09:11:31 288

原创 Python 正则学习(二)

1. (?=...)和(?!...) 在目标字符串中实现一个前视匹配,而不必实际上使用这些字符串。前者是一个正向前视断言,后者是负向前视断言。import redata=''' Guido van Rossum Tim Peters Alex Martelli Just van Rossum Raymond Hettinger'''print(re...

2018-06-25 09:29:27 277

原创 Python 正则学习(一)

1. Match() 和 Search() 的区别:match试图从字符串起始部分匹配,search不但会搜索字符中字符串中的第一次出现的位置,而且严格的从左往右搜索m = re.match('foo', 'seafood') #匹配失败if m is not None: print(m.group())m = re.search('foo', 'seafood')if m ...

2018-06-22 10:31:34 137

空空如也

空空如也

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

TA关注的人

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