IT
Hash table
这个作者很懒,什么都没留下…
展开
-
《项目》-博客系统
主页管理页面编辑页面添加博客图片库原创 2020-08-13 16:33:33 · 230 阅读 · 0 评论 -
《数据结构》-归并排序
#include<iostream>using namespace std;int a[] = { 1, 0, 3, 4, 6, 5, 7, 2 };int tmp[8];// 归并排序(C-递归版)//void merge_sort_recursive(int arr[], int reg[], int start, int end) {// if (start >= end)// return;// int len = end - start, mid = (len原创 2020-08-01 17:37:49 · 154 阅读 · 0 评论 -
《C++》-智能指针
一、 为什么需要智能指针?malloc出来的空间,没有进行释放,存在内存泄漏的问题。异常安全问题。如果在malloc和free之间如果存在抛异常,那么还是有内存泄漏。这种问题就叫异常安全。二、内存泄漏2.1 什么是内存泄漏,内存泄漏的危害什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不 是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而 造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影原创 2020-07-31 00:00:02 · 195 阅读 · 0 评论 -
《三次握手》-TCP三次握手
TCP三次握手(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。(3)第三次握手:Client收到确认后,检查ack是否为J.原创 2020-07-30 00:13:34 · 182 阅读 · 0 评论 -
《shell》-shell脚本
shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。更明白地来说,shell script就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组,循环,条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序,而不必使用类似C程序语言等传统程序编写的语原创 2020-07-30 00:02:37 · 150 阅读 · 0 评论 -
《http和https》-两者的区别
http协议与https协议的区别?1、https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。4、http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。https协议的工作原理?我原创 2020-07-28 17:56:44 · 201 阅读 · 0 评论 -
《TCP》-TCP为什么可靠
事务隔离级别当我们有多个客户端同时操作数据库的某张表,如何进行隔离操作?MySQL提供了隔离级别。当MySQL表被多个线程或者客户端开启各自事务操作数据库中的数据时,MySQL提供了一种机制,可以让不同的 事务在操作数据时,具有隔离性。从而保证数据的一致性。无隔离性的问题脏读是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务 也访问这个数据,然后使用了这个数据。案例:1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未原创 2020-07-20 17:04:20 · 253 阅读 · 0 评论 -
《mysql》-表的约束
表的约束真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。 表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。1 空属性1两个值:null(默认的)和not null(不为空) 数据库默认字段基本都是字段为空,但是实际开发时,尽可能保原创 2020-07-21 13:30:30 · 179 阅读 · 0 评论 -
《mysql》-事务的ACID特性
事务的ACID特性原子性(Atomicity): 事务是应用中最小的执行单位,就如原子是自然界的最小颗粒,具有不可再分的特征一样,事务是应用中不可再分的最小逻辑执行体。一致性(Consistency):事务执行的结果,必须使数据库从一个一致性状态,变到另一个一致性状态。当数据库只包含事务成功提交的结果 时,数据库处于一致性状态。如果系统运行发生中断,某个事务尚未完成而被迫中断,而改未完成的事务对数据库 所做的修改已被写入数据库,此时数据库就处于一种不正确(不一致)的状态。因此一致性是通过原子性来保证原创 2020-07-20 17:06:27 · 247 阅读 · 0 评论 -
《mysql》-事务管理
事务事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。事务理论的深度理解参见推荐书籍:《数据库系统概念》的第14章。事务基本操作案例: 银行转账的例子更需要考虑事务的问题。创建测试表 create table account( id int primary key, name varchar(50) not null default ''原创 2020-07-20 16:55:29 · 109 阅读 · 0 评论 -
《Mysql》-表的约束
表的约束真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。1、空属性两个值:null(默认的)和not null(不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证原创 2020-07-11 08:55:41 · 190 阅读 · 0 评论 -
《继承与多态》-继承
C++中的继承**1.继承的概念及定义2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数1.继承的概念及定义1.1继承的概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。class Person{public: void Pri原创 2020-05-28 14:44:02 · 232 阅读 · 0 评论 -
《Linux》-进程间通信
进程间通信进程间通信目的数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。进程间通信发展管道System V进程间通信POSIX进程间通信进程间通信分类1.管道 1.1匿名管道pipe 1原创 2020-05-27 16:03:50 · 180 阅读 · 0 评论 -
《Linux》-线程控制
Linux线程控制POSIX线程库与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的要使用这些函数库,要通过引入头文<pthread.h>链接这些线程函数库时要使用编译器命令==“-lpthread”==选项创建线程功能:创建一个新的线程原型 int pthread_create(pthread_t *thread, const p...原创 2020-04-02 23:19:05 · 124 阅读 · 0 评论 -
《问题积累》-在线OJ
积累在Nowcoder中经常遇到多次调用函数,导致不通过,开始给我整蒙了都。百思不得其解,一度于怀疑自己是不是入错行了。在主函数里面,他会输入好几组数据,你需要循环来处理每一组数据,而不是只处理完第一次数据就return。#include <iostream>using namespace std;int main() { int a,b; while(sca...原创 2020-03-24 23:53:33 · 217 阅读 · 0 评论 -
《Linux》-基本操作符学习
Linux下基本指令01. ls 指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k...原创 2019-12-12 20:33:00 · 300 阅读 · 0 评论 -
《Linux》-发展背景
Linux背景发展史本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。UNIX发展的历史1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。1969-1970年,AT&...原创 2019-12-12 20:24:26 · 456 阅读 · 0 评论 -
《数据结构》-链表
3.链表3.1 链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。现实中:实际中链表的结构非常多样,以下情况组合起来就有8种链表结构:单向、双向带头、不带头循环、非循环常见1. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等...原创 2019-11-16 19:51:23 · 182 阅读 · 0 评论 -
《数据结构》-顺序表
顺序表【本节目标】1.线性表2.顺序表3.链表4.顺序表和链表的区别和联系 **1.线性表**线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一...原创 2019-11-16 19:44:40 · 281 阅读 · 0 评论 -
《我》
《我》我是谁本人也是一个对计算机比较感兴趣的人,就读西安工程大学,网络工程专业。我感觉计算机的知识跟历代很多学说一样,在其中会学到很多奇妙而耐人寻味的东西。虽然在初入这个方向会有一种把有的问题复杂化了的误解,但是也是一种透过现象看本质的方式。也正是本质和基础的低层建筑成就了现在这个时代,无处不在的都是智能化,信息化等高新技术,从而一方面开始了解放双手的发展趋势。目标我希望在我的不断学...原创 2019-09-05 14:04:31 · 182 阅读 · 0 评论