- 博客(257)
- 资源 (2)
- 收藏
- 关注

原创 809 情感丰富的文字:效率不是很高:但是也算通俗易懂吧
有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"。我们将相邻字母都相同的一串字符定义为相同字母组,例如:"h", "eee", "ll", "ooo"。对于一个给定的字符串 S ,如果另一个单词能够通过将一些字母组扩张从而使其和 S 相同,我们将这个单词定义为可扩张的(stretchy)。扩张操作定义如...
2019-11-19 16:50:21
298

原创 c++set集使用
#include<iostream>#include<string>#include<vector>#include<set>//set不能重复,multiple可以重复using namespace std;//写一个函数用来描述set和muiltiset里边的数据//把函数做成模板函数template<typename C...
2018-09-18 17:04:52
213

原创 map操作
#include<iostream>#include<vector>#include<string>#include<map>using namespace std;int main(){ //容器保存大量的数据 map<int, string> a; multimap<int, string> ma;...
2018-09-18 15:57:45
382
原创 ubuntu安装opencv
1.下载opencv source包http://opencv.org/releases.html2.安装依赖sudo apt-get install cmake gitsudo apt-get install build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2
2020-11-18 15:50:58
470
原创 8.SQL基本操作
SQL操作所有关系型数据库的规则SQL通用语法:1.SQL语句可以单行或者多行书写,以分号结尾 2.可使用空格和锁进来增加语句的可读性 3.SQL 语句不区分大小写,关键字建议使用大写 4.三种注释 单行注释 -- (两个横岗,一个空格)或者 # 多行注释 /* */SQL分类数据定义语言(DDL)常用的有CREATE和DROP,用于在数据库中创建新表或删除表,以及为表加入索引等数据查询语言(DQL: Data Query Language...
2020-11-13 21:07:48
456
原创 7.反射
1.Junit单元测试(白盒测试)测试分类: 1.黑盒测试:不需要写代码,只关注input和output 2.白盒测试:写代码,关注中间的执行逻辑2.反射3.注解
2020-11-13 16:28:34
255
原创 7.文件系统
1.硬盘结构简介硬盘可分为机械硬盘(Hard Disk Drive, HDD)和固态硬盘(Solid State Disk, SSD),机械硬盘采用磁性碟片来存储数据,而固态硬盘通过闪存颗粒来存储数据(1)机械硬盘机械硬盘主要由磁盘盘片、磁头、主轴与传动轴等组成,数据就存放在磁盘盘片中,和留声机类似,不过硬盘是上下两个磁头,上下盘同时进行数据读取,机械硬盘在读取或写入数据时,非常害怕晃动和磕碰。另外,因为机械硬盘的超高转速,如果内部有灰尘,则会造成磁头或盘片的损坏,所以机械硬盘内部是封闭的,如果
2020-10-30 17:20:19
605
原创 6.权限管理
1.ACL权限1.ACL权限简介和开启查看分区ACL权限是否开启,dupe2fs -h /dev/sda3dumpe2fs命令是查询指定分区详细文件系统信息的命令 -h:仅显示超级块中的信息,而不先对2.查看和设定ACL权限3.最大有效权限与删除ACL权限4.默认ACL权限和递归ACL权限2.文件特殊权限3.文件系统属性chattr权限4.系统命令sudo权限...
2020-10-30 16:55:30
2349
原创 5.用户管理
1.用户配置文件1.用户管理简介linux需要建立合理的用户权限登记制度和服务器操作规范在linux中主要是通过用户配置文件来查看和修改用户信息2./etc/passwd第一字段:用户名称第二字段:密码标志第三字段:UID(用户ID)0: : 超级用户 1-499 : 系统用户 500-65535: 普通用户root不一定是管理员,ID号是0的一定是管理员第四字段:GID (用户初始组ID)...
2020-10-29 20:49:47
692
原创 3.linux常用命令
1.文件处理命令ls(list files): 列出目录及文件名cd(change directory):切换目录pwd(print work directory):显示目前的目录mkdir(make directory):创建一个新的目录rmdir(remove directory):删除一个空的目录cp(copy file): 复制文件或目录rm(remove): 移除文件或目录mv(move file): 移动文件与目录,或修改文件与目录的名称touch(touch
2020-10-26 14:25:01
404
1
原创 计算机网络.4.网络层
1.概念网络层的目的是实现两个端系统之间的数据透明传送,它提供的服务使传输层不需要了解网络中的数据传输和交换技术网络层传输单位是数据报主要功能是:(1)路由选择与分组转发 最佳路径 路由选择算法选择一个最佳路由(2)异构网络互联 手机 电脑 4G异构网络互联 靠路由器,可以相互链接(3)拥塞控制 若所有结点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定的措施...
2020-10-19 22:58:54
359
原创 6.File/IO
1.File1.一些函数的使用案例(具体见jdk文档)/*file:文件directory:文件夹/目录path:路径 */import java.io.File;import java.io.IOException;public class test { public static void main(String[] args) throws IOException { System.out.println(File.separator);//与系统相
2020-10-19 10:12:05
156
原创 6.适配器模式
适配器模式(学习自https://juejin.im/post/6844903881101541383)将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能举例:一个小米6耳机:public interface XiaoMi6Interface { void listenMusic();}public class XiaoMi6InterfaceImpl i
2020-10-17 10:54:09
133
原创 5.桥接模式
桥接模式(学习自https://juejin.im/post/6844903881101541383)桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。桥接模式需要先能分出系统中那些独立变化的维度,然后我们再进行分离。桥接模式的思想就是如何进行分离的过程。所有设计模式的思想其实都希望我们更多的去利用组合,而不是继承。所以桥接模式的主要思想就是:将变化的维度抽象为不同的继承体系,每一个维
2020-10-17 10:14:41
147
原创 4.建造者模式
1.定义建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式
2020-10-16 22:46:52
99
原创 3.原型模式
1.定义原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。2.使用场景类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等。通过原
2020-10-16 20:43:37
106
原创 2.工厂模式
1.简单工厂模式定义:一个工厂类,根据传入的参数不同返回不同的实例,被创建的实例具有共同的父类或接口。由于工厂类封装了对象的创建过程,所以客户端应该不关心对象的创建(1)需要创建的对象较少。(2)客户端不关心对象的创建过程。shape:public interface Shape { public abstract void draw();}circle:...
2020-10-16 15:57:41
147
原创 1.七大原则
设计模式七大原则;单一职责原则 接口隔离原则 依赖倒转(倒置)原则 里氏替换原则 开闭原则 狄米特法则 合成复用法则介绍:1.单一职责介绍:对类来说,一个类应该负责一项职责,如果A负责两个不同的职责1、职责2,当职责1的需求变更改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2...
2020-10-14 19:13:16
196
2
原创 3.2.面向对象
1.final关键字final关键字1.修饰一个类public final class myclass(){//当前这个类不能有任何的子类}tip:一个类如果是final,其中所有的成员方法都无法进行覆盖重写2.修饰一个方法这个方法就是最终方法,不能被覆盖重写public final void method(){}tip:对于类还有方法来说,abstract关键字和final不能同时使用,因为矛盾;abstact没有方法体,子类一定要覆盖重写方法,但是final不能被覆盖重写
2020-10-07 21:29:05
100
原创 3.1.面向对象
1.继承(1)继承区分重名成员变量的方法//父类public class person(){ int age = 10;}//子类public class son extends person { int age = 20; public void method(){ int num = 30; System.out.println(num);//30,局部变量 System.out.println(this.age)
2020-10-06 21:03:28
503
原创 1.java安装+JDK+ubuntu18.04
1.IDEA下载社区版https://www.jetbrains.com/idea/download/#section=linux2.创建桌面图标sudo vim /usr/share/applications/Intellij-idea.desktop将下列代码复制到Intellij-idea.desktop文件中(根据自己的路径修改)[Desktop Entry]Name=IntelliJ IDEA //此处即为在桌面显示的的应用名称Comment=IntelliJ IDEA
2020-10-05 10:26:53
149
原创 2.信号
信号基础:有助于理解:1.为什么ctrl+c可以结束进程2.产生指针错误的时候为什么进程会自动结束,并产生'segment fault'段错误3.kill的原理4.c.c++.JAVA线程库都有信号的概念,QT的信号槽的理解信号概念:信号是一种向进程发送通知,并告诉其某件事情发生了的一种简单通信机制谁会发送信号进程、硬件(先发给内核)、内核1.进程2.内核发送信号操作一个地址,地址只允许读,但是不允许写,写操作就会失败,内核就会向当前进程发送一
2020-09-30 17:30:43
378
原创 计算机i网络-3数据链路层
1.概念2.封装成帧和透明传输数据链路层就是把网络层交付的数据报,进行一个加工和处理,然后再提交给物理层,这样就将物理层的物理连接改造成了逻辑上无差错的数据链路在网络层的IP数据报,进行加头加尾,数据包也就成了帧的数据部分,组帧的四种方法:字符计数法 字符填充法 零比特填充法 违规编码法1.字符计数法2.字符填充法3.零比特填充法4.违规编码法局域网采用这种3.差错控制和检错编码.
2020-09-28 21:54:07
116
原创 计算机网络.6应用层
概述:网络应用模型客户/服务(C/S)模型P2P模型整个网络的中心内容都不会保存到一个服务器上,每个节点都有上传和下载的功能DNS系统域名:www.baidu.com www.cskao.comDNS:域名到IIP地址的转换DNS服务器:域名:根 域名com后边的一个点DNS服务器有很多台,DNS也划分为多级服务器文件传送协议文件传送协议工作原理:主进程打开21端口号,启动从属进程,分配一..
2020-09-28 21:53:39
89
原创 1.STL体系结构
1.STL六大部件容器 分配器 算法 迭代器 适配器 仿函数#include<iostream>#include<algorithm>#include<functional>#include<vector>using namespace std;int main() { int ia[6] = { 1,2,3,4,5,6 }; vector<int, allocator<int>> vi(ia, i
2020-09-28 21:34:19
117
原创 [c++核心编程]1.内存模型
1.内存分区模型代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值,局部变量 堆区:由程序员分配和释放,若程序员不释放,程序结束的时候由操作系统回收内存四区的意义:不同区域存放不同的数据,赋予不同的生命周期,灵活编程代码区:存放CPU执行的机器指令代码区是共享的,共享的目的是对于频繁执行的程序,只需要在内存中有一份代码即可(多次加载只有一份)代码区是只读的,使其只读的原因是防止程序意外的修改了
2020-09-28 11:17:30
108
原创 ubunu18.04+anaconda+pycharm
1.社区版安装教程下载完成之后 sh ./pycharm.sh2.桌面图表设置new project中的一些路径参数
2020-09-27 10:57:28
121
原创 1.firefox缺少flash插件
1.下载linux tar.gz格式2.解压 将其中的libflashplayer.so 复制到 /usr/lib/mozilla/plugins/ 目录下sudo cp libflashplayer.so /usr/lib/mozilla/plugins/3. 打开插件目录,然后更改权限cd /usr/lib/mozilla/plugins sudo chmod 755 libflashplayer.so (不加s...
2020-09-27 09:27:24
584
原创 ubuntu安装教程
linux各个目录以及作用:/bin/:存放系统文件的命令,普通用户和超级用户都可以执行,不过放在/bin下的命令在单用户下也可以执行
2020-09-26 11:41:51
147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人