自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JSP九大内置对象及四个作用域

request           请求对象             类型 javax.servlet.ServletRequest        作用域 Requestresponse          响应对象              类型 javax.servlet.SrvletResponse        作用域 PagepageContext       页面上下文对象

2017-08-04 00:10:40 211

原创 区分inet_addr、inet_aton和inet_ntoa

1. 函数功能inet_addr将点分十进制格式的IP地址(字符串)转化为网络字节顺序IP地址(u_long类型)。inet_aton将网络字节顺序的IP地址(in_addr类型)转化为点分十进制格式的IP地址(字符串)。inet_ntoa将点分十进制格式的IP地址(字符串)转化为网络字节顺序IP地址(in_addr类型)。2. in_addr和u_long的关系

2016-12-24 22:41:37 1141

原创 C++多线程编程

1. 多线程的意义程序是计算机指令的集合,它以文件的形式存储在磁盘上。进程通常被定义为一个正在运行的程序的实例,系统赋予每个进程独立的地址空间。进程从不执行任何东西,负责执行代码的是线程,创建进程时,操作系统会自动为该进程创建一个主线程。多线程程序相对于多进程程序,主要有两个优点:(1)共享一个虚拟地址空间,占用资源较少(2)线程间切换只是执行环境的切换,执行效率较高2. C+

2016-11-30 21:04:32 328

原创 基于Socket的MFC网络编程

一、基于TCP协议的编程步骤服务器端:1. 加载套接字库(WSAStartup)2. 创建用于监听的套接字(socket),然后将其绑定到本地SOCKADDR(bind),并将其设为监听模式(listen)3. 等待客户请求的到来:一旦收到客户连接请求,返回一个对应该连接的套接字(accept)4. 利用返回的套接字与客户端进行通信(recv/send)5. 通信完毕,关闭

2016-11-25 22:28:19 13236

原创 编程学习之道

1.   勤于实践学习别人的代码,在理解代码思路的前提下自己敲出代码。2.  要事为先任何事情都追求完美才继续向后进行,是一种性能缺陷。如果钻研的东西和近期产能目标无关的话,要舍得放手。当把我了技术的脉络之后再去进行细节的研究,是正途。3. 项目驱动学习编程最有效率的方式,就是把自己投入到一个项目组中,连滚带爬地做下一两个项目来。一个项目就是一根绳子,把大片分散的知识点串联到一

2016-11-22 16:59:29 245

原创 C#多线程开发

使用多线程,可以实现代码的隔离和并发执行,提高应用程序的可靠性和执行效率。

2016-11-01 22:33:48 387

原创 Java中的内存区域划分

1. 寄存器每个线程启动的时候都会启动一个PC寄存器,保存下一条要执行的指令地址。2. 本地方法区存储的是线程调用方法时的方法入口地址、操作和方法出口地址等与方法执行相关的信息。3. 方法区存放虚拟机加载类的相关信息,如类、静态变量和常量等。4. 栈存储的是局部变量,包括基本数据类型和和对象的引用。只要数据所在的区域结束,该数据就会被释放。5. 堆存储的是数组和

2016-10-30 23:37:32 270

原创 排序算法

1. 冒泡排序从左往右扫描数据,依次比较相邻两个元素,如果左边的元素大于右边的元素就交换,每次扫描中最大的元素被交换到了最右边。由于交换次数较多,该算法的效率较低。代码如下:// 冒泡排序void BubbleSort(int * pArr, int nSize){ // 共进行nSize - 1次扫描 for(int i = 0; i < nSize - 1; i++) {

2016-10-30 21:12:50 215

原创 交换算法

1. 无效的交换---传值不能实现两个变量的交换,操作的是变量的副本。void swap(int x, int y);2. C语言交换方法(1)传指针可以实现两个变量的交换,但局限于变量类型。void swap(int *px, int *py);(2)宏定义可以实现两个变量的交换,变量类型不受限制。#define SWAP(x, y, t) ( (t)

2016-10-30 18:07:57 326

原创 查找算法

1. 顺序查找从第一个元素开始,直到找到与目标值相等的元素或遍历完整个容器。可用于任意容器。代码如下:// 顺序查找int SequentialSearch(int * pArr, int nSize, int nTarget){ for(int i = 0; i < nSize; i++) { if(pArr[i] == nTarget) { return i;

2016-10-30 17:48:49 182

原创 区分BITMAP、CBitmap和HBITMAP

1. BITMAPBITMAP是一个结构体,封装着bitmap的一些信息。定义了逻辑位图的宽高、颜色格式和位值。2. CBitmapCBitmap是MFC中封装bitmap的类,包含着被位图的属性和对位图的操作。3. HBITMAPHBITMAP是bitmap的句柄,也就是bitmap资源的标识。4. 三者的联系通过CBitmap类的attach操作,可以将

2016-10-29 22:33:22 1433

原创 由一个MFC程序引发的对编程严谨性的思考

引言手上有一个基于MFC的桌面应用程序,其主要功能是:通过串口接收数据,经简单处理后在其页面上进行显示。这个应用程序已经在某台硬件性能稍好的主机上多次运行,并未发现任何异常现象。然而,在一次系统联试中,发生了一个近乎无解的问题:这个应用程序在另一台性能较差的主机上竟然出现了运行即崩溃的现象。项目进度紧张的背景下,这种问题着实让人抓狂,毫无防备。没办法,只能在这台主机上安装编译环境对源码进行调试

2016-08-29 20:49:54 458

原创 C++中的多态和虚函数

多态是面向对象的编程语言的三大特性之一。利用C++语言多态性,我们可以通过基类型指针指向不同层次的派生类型对象,以相同的代码实现不同的调用。这种多态性主要是借助虚函数实现的。

2016-08-12 20:48:57 334

空空如也

空空如也

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

TA关注的人

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