自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL查询

-- 1、??“c001”?程比“c002”?程成?高的所有学生的学号;SELECT S1.SNOFROM SC S1 JOIN SC S2 ON S1.SNO=S2.SNOWHERE S1.CNO='c001' AND S2.CNO='c002' AND S1.SCORE>S2.SCORE;-- 2、??平均成?大于60 分的同学的学号和平均成?;SELECT SNO,A

2017-04-28 17:31:26 25684

原创 【数据结构】常见的7种比较排序算法2

● 快速排序(Quick Sort)1、算法描述:    在平均状况下,排序n个数据要O(nlg(n))次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlg(n))算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项的可能性。2、步骤:1

2016-06-11 18:53:44 409

原创 Vue 基础学习篇三(Vue3)

相比vue2,vue3中新特性:Composition API(组合API)、新的内置组件、新的生命周期钩子等

2023-04-05 11:17:38 117

原创 Vue 基础学习篇二

Vue组织化编程、脚手架的使用、vuex和路由的使用

2023-03-29 16:40:21 101

原创 Vue 基础学习篇一

vue2+vue3的原理解析、知识总结

2023-03-26 22:00:17 118

原创 Node.js 学习笔记

Node.js的学习

2023-03-20 13:48:08 78

原创 Ajax基础学习篇

介绍服务器的基本概念、form表单与模板引擎、跨域与JSONP、HTTP协议加强,知道ajax是什么,如何搭配使用

2023-03-10 23:43:54 87

原创 JavaScript 核心与进阶

用最短时间,学会最实用的技术—Javascript核心与进阶

2023-02-22 16:11:45 100

原创 前端基础HTML5+CSS3总结

前端基础学习:HTML、CSS包含html5 css3的新特性,移动端web开发的flex布局、rem布局以及响应式布局。包含常用工具以及实战中一些注意事项

2023-01-19 13:16:35 124

原创 .net C#实现登录界面并进行跳转

登录界面的简单实现利用DataSet SqlDataReader ExecuteScalar等

2017-05-30 20:49:44 12031 1

原创 SQL学习1

Dr. Codd's 对关系型数据库系统的十二条规则       关系型数据库是最为流行的数据存储模式 它产生于一个名称为 A Relational Model of Data for Large Shared Data Banks 的论文中 SQL 进而发展为关系型的数据库 。对于关系型数据库 Dr. Codd's 定义了 12 条规则使之与其他类型的数据库相区别0 、关系型

2017-04-14 09:46:04 1992

原创 C#学习

VS2015中运行C#程序时:  编译时按ctrl+F5就不会闪退

2017-04-12 16:58:56 1324

转载 HTTP协议详解(真的很牛逼)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,

2016-10-23 20:54:44 1667

原创 判断元素出栈,入栈顺序的合法性

问题:元素出栈,入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,1,2)    定义一个栈sp,入栈序列为str1,出栈序列为str2,长度分别为size1和size2。如果两个序列为空或长度不等,则不合法,针对长度相等且不为空的两个序列进行判断。先将str1中第一个元素入栈,然后通过循环使str1后移。1、如果当前栈为空且入栈序列不为空,则入

2016-09-16 22:47:42 1146

转载 Linux安装MySQL的两种方法

1.       运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.32.       安装方法:安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件;第

2016-08-13 22:33:07 2231

原创 【网络】高级I/O多路复用之select、poll和epoll

Unix下I/O模型有五种1、阻塞I/O      应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。      如果数据没有准备好,一直等待。数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。2、非阻塞I/O      我们把一个套接口设置为非阻塞就是告诉内核,当所请求的I/O操作无法完成时,不要将进程睡眠,而是返回一个错误。这样我们的I/O操作函数将不断的

2016-08-11 21:33:27 1699

原创 高级I/O函数之socketpair和dup/dup2

一、select:实现多路复用输入/输出型模型的一种。让程序监视多个文件句柄的状态变化的。程序会停在select这里等待,知道监视到的文件句柄有一个或者多个发生了状态变化(从数据无到有)。编写select服务器步骤:(1)创建监听套接字socket();(2)填充本地信息,绑定bind();(3)监听套接字listen();(4)监视等待文件句柄

2016-08-10 19:05:54 1734

原创 基于TCP协议的网络程序

1、socket编程      TCP协议作为传输层的主要协议,不仅可以支持本地的数据通信,还可以支持跨网络的进程间通信。在互联网中,我们可以通过“IP地址+端口号”标识唯一的一个进程,“IP地址+端口号”被称为socket,这就是网络socket编程。在TCP协议中建立连接的两个进程各有个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。socke

2016-08-07 17:56:07 6748 2

原创 【网络】网络基础知识总结(包括TCP/IP协议、ARP、UDP等)

谈到网络基础,首先要谈到的就是计算机网络体系结构中两种最为重要的参考模型,OSI参考模型和TCP/IP参考模型。★OSI参考模型:OSI(Open System Interconnect),即开放式系统互联。一般都称为OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、

2016-08-05 15:35:29 10867

原创 【Linux】进程组、会话和精灵进程

对进程组、作业和会话进行说明。1、进程组2、作业3、会话4、精灵进程(或守护进程)

2016-08-04 10:19:06 2051

原创 【Linux】生产者和消费者问题

aaaa

2016-08-03 20:43:15 1605

原创 【Linux】线程和死锁

死锁的概念:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。死锁的常见表现:死锁不仅会发生多个进程中,也会发生在一个进程中。(1)多进程死锁:有进程A,进程B,进程A拥有资源1,需要请求正在被进程B占有的资源2。而进程B拥有资源2,请求正在被进程A战友的资源1。两个进程都在等待对方释放资源后请求该资源,而相

2016-08-02 09:50:28 2264

原创 文件压缩

简述:利用哈夫曼编码进行文件的压缩和解压缩。开发环境:windows,VS2013,C++项目特点:         压缩文件:读取文件中的字符,将其转化为哈弗曼编码,再通过位转化为压缩文件。                                             解压缩文件:从配置文件中读取字符及对应字符的出现次数建立哈夫曼树,得到解压缩文件中的字符。

2016-08-01 10:13:45 963

原创 【Linux】可重入函数和线程安全的区别与联系

*****可重入函数       函数被不同的控制流程调用,有可能在第一次调用还没返回时就再次进入该函数,这称为重入。在进行链表的插入时,insert函数访问一个全局链表,有可能因为重入而造成错乱,像这样的函数称为不可重入函数,反之,如果一个函数只访问自己的局部变量或参数,则称为可重入(Reentrant) 函数。重入:即重复调用,函数被不同的流调用,有可能会出现第一次调用还没

2016-07-30 19:15:23 5025

原创 【Linux】自主实现my_sleep

首先说一下信号相关的内容。1、信号       我们在运行程序时,经常会碰到报错,这是由于操作系统触发异常,于是系统抛出某一信号产生的。例如,一个死循环的程序,处理方式如下:1)用户输入命令,在Shell下启动这个前台进程;2)用户按下Ctrl-C,这个键盘输入产生一个硬件中断,该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断;3)终端驱动程序将Ctrl-C

2016-07-29 21:27:18 1173

原创 【Linux】进程间通信之共享内存

为什么进程间需要通信?1、数据传输:一个进程需要将它的数据发送给另一个进程。2、资源共享:多个进程之间享受同样的资源3、通知事件:一个进程需要向另一个或另一组进程发送消息,通知它们发生了某种事件。4、进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够即使知道它的状态改变。Linux进程间通信(IPC)

2016-07-28 21:04:06 2688

原创 【Linux】进程间通信之信号量

1、为什么要用信号量       管道和消息队列都是两个或多个进程访问一个共享资源,而为了防止出现因多个线程同时访问一个共享资源而引发的一系列问 题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就是提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信

2016-07-27 18:12:07 1707

原创 【Linux】进程间通信之消息队列

进程间通信(IPC)主要包括了管道、系统IPC(包括了消息队列、信号及共享存储)和套接字(SOCKET)。       IPC方法包括管道(PIPE)、消息队列(Message_Queue)、旗语、共用内存(ShareMemory)以及套接字(Socket)。       下面主要说明一下消息队列。1、初步认识             根据管道的特性,知道管道的生命周期是随进程

2016-07-26 21:39:33 1014

原创 【Linux】进程间通信之管道

每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Com),也就是说进程通信使不同的进程可以看见同一份系统资源。1、管道是一种最基本的IPC机制,由pipe函数来

2016-07-25 21:05:51 1548

原创 【Linux】进程等待&程序替换

一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的PCD还保留着。       内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常退出则保存着导致该进程终止的信息是哪个。这个进程的父进程可以调用wait或waitpid获取这些信息,然后彻底清除掉这个进程。我们知道一个进程的退出状态可以在Shell中用特殊变量 $? 查看,因为Shell是它的父进程,当它终

2016-07-24 22:28:49 1702

原创 【Linux】进程终止

1、用atexit()注册顺序和终止顺序有什么关联2、分析程序为什么出现打印了bug()函数中的printf(),main函数后面进程终止了。3、不引用b变量名称,改变b变量的内容。4、fork()---博客(打印的次数:2*i!)——fork()是一分为二的过程

2016-07-24 11:13:07 829

原创 【Linux】进程的创建fork()和vfork()

1、fork()函数#includepid_t fork(void);一个现有进程可以调用fork创建一个新进程。返回值:子进程中返回0,父进程中返回子进程ID,出错返回-1。2、vfork()函数

2016-07-23 21:36:50 1052

原创 【算法和数据结构】平衡查找树之B树

B树         B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据库和文件系统。

2016-07-22 16:11:04 2862

原创 【Linux】进程的创建执行和优先级

一、进程的优先级进程cpu资源的分配就是指进程的优先权。优先权高的进程有优先执行的权利。      加入NI值之后,PRI的值变成 PRI(new) = PRI(old) + nice;      当nice值为负值的时候,进程的PRI将变小,进程的优先级将变大,进程相对于原来的PRI值会更早被执行。当nice值为正的时候,相反的情况。改变nice值的命令,命令有两个:

2016-07-22 11:47:37 5060

原创 并查集-UnionSet【朋友圈问题】

【面试题】例如已知有n个人和m对好友关系(存在数字r),如果两个人是直接或间接的好友(好友的好友的好友的好友......),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。例如:n=5,m=3,r={{1,2},{2,3},{4,5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个朋友圈。结果为2个朋友圈。最后请

2016-07-22 09:20:16 1041

原创 【C++】MFC 创建对话框,实现对“学生课程成绩”的管理

运行环境:VC6.0具备知识:对MFC的控件有一定的了解,包括图像列表、列表控件等。实现功能:单击下图中的“学生课程成绩”按钮,弹出“学生课程成绩”对话框,单击“添加”按钮,学生课程成绩添加到列表控件。若选中列表项,“修改”按钮由原来的禁用变成可用,单击“修改”按钮,则弹出的“学生课程成绩”对话框中的“添加”按钮标题变成“修改”,单击“学生课程成绩”对话框中的“修改”按钮,该列表项的内容被

2016-07-03 21:34:06 8226 3

原创 【C++】MFC 创建对话框,实现对课程信息和学生信息的管理

使用vc6.0,MFC,创建对话框创建一个默认的对话框应用程序,并设计“课程信息”对话框和“学生信息管理”对话框。实现如下图所示功能:默认的对话框应用程序:       点击“学生基本信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。点击“课程信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。 具备知识:

2016-07-02 19:54:36 9917 2

原创 【Linux】进程概念与编程

1、用atexit()注册顺序和终止顺序有什么关联2、分析程序为什么出现打印了bug()函数中的printf(),main函数后面进程终止了。3、不引用b变量名称,改变b变量的内容。4、fork()---博客(打印的次数:2*i!)——fork()是一分为二的过程

2016-06-19 09:32:59 552

原创 【数据结构】红黑树(如何实现及怎样判断)

红黑树是一颗二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是red或black。通过对任何一条从根节点到叶子节点的简单路径上的颜色来约束,红黑树保证了最长路径不超过最短路经的两倍,因此近似于平衡。红黑树的规则:1、每个节点不是红色就是黑色的。2、根结点是黑色的。3、如果一个节点是红色的,则它的两个子结点是黑色的。即每条路径上不能存在两个连续的红节点。4、对每个

2016-06-16 16:02:45 5041

原创 【Linux】进程调度算法

进程调度    无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。进程调度具有四条基本属性和三个基本状态:基本属性:     1、多态性 从诞生、运行,直至消灭;     2、多个

2016-06-12 10:54:20 1981

空空如也

空空如也

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

TA关注的人

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