- 博客(18)
- 资源 (4)
- 收藏
- 关注
转载 java多线程,MultpleThread
一、定义线程 第1中方法:扩展java.lang.Thread类 Thread类中有个run()方法,其子类应该重写该方法! 第2中方法: 实现java.lang.Runnable接口 使用接口Runnable的对象创建一个线程时,启动该线程时将会在独立运行的线程中调用(Runn
2013-11-30 13:16:02 555
原创 说说C中的malloc和free
malloc是申请一块内存,free是释放一块内存!说到内存,必然要说指针,指针指向某块内存嘛。如:某函数内定义一个指针变量,并为其申请一块内存,让这个指针指向这块内存!此时,指针变量本身存在函数的栈区(调用函数时,创建栈区;调用结束时,栈区销毁) 而这块内存是存放在堆区的!这里有个错误的结论:函数调用结束时,在栈内的指针销毁的同时,它指向的内存也被销毁!它们是没有关系的,堆
2013-11-28 11:43:51 647
原创 测试本机的大小端模式
1. 什么是大小端模式?区别? (小端存储模式和大端存储模式) 如数字0x1234,低字节位是0x34,高字节位是0x12。 假设从地址0x4000处开始存放 内存地址 小端模式(little-endian) 大端模式(big-endian) 0x4000 0x34
2013-11-28 10:34:57 873
转载 SSH
SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H最初是U N I X系统上的一个程序,后来又迅速扩展到其他操作平台。S S H在正确使用时可弥补网络中的漏洞。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。SSH有很多非常酷的特性,如果它是你每天
2013-11-26 00:34:02 501
转载 apache
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可
2013-11-26 00:23:09 555
原创 数据结构之排序--归并排序
四 归并排序归并:把若干个有序的数列, 合成一个有序的数列如二路归并:void merge(int d1[], int len1, int d2[], int len2, int tmp[]){ int i, j, k; i = j = k = 0; while (i < len1 && j < len2) { if (d1[i] > d2
2013-11-18 15:44:55 518
原创 数据结构之排序--选择类排序
三 选择类排序 基本思想:从待排数列中选出最小的记录,放到已排好序的元素之后,直至所有元素排序完毕!1. 直接选择排序 初始时:有序区为空,无序区即待排数列 第一趟,从无序区中选出最小的,与无序区的第一个元素交换。新的有序区多一个元素,新的无序区少一个元素,有序区在无序区之前! 第二趟,...... ............#define SWA
2013-11-18 00:10:13 785
原创 数据结构之排序--交换类排序
二 交换类排序 基本思想是:两两比较待排序记录的关键字,发现两记录的次序相反时即进行交换,直到没有反序的记录为止!1. 冒泡排序 冒泡的原则:轻气泡不能在重气泡之下! 如何进行?从下到上扫描待排记录,凡违反冒泡原则的轻气泡就向上“漂浮”。如此反复进行,直到任意两个气泡,都是轻者在上,重者在下!void bubble_sort(int a[], int len)
2013-11-17 16:19:32 1001
原创 数据结构之排序--插入类排序
一. 插入类排序1. 直接插入排序2. 二分插入排序3.希尔排序 希尔排序优于直接插入排序。理由:1> 当待排数列大致有序时,比较和移动的次数较少(比较后才移动,比较的少自然移动的少,移动的少比较的也少) 2> 当待排数列元数个数较少时,n 与 n^2 的差距也小。即O(n)与O(n^2)差不多 3>希尔排序刚开始时,增量大,分组多,之后增量减
2013-11-17 11:53:54 866
原创 [error]stack smashing detected
字符串成功打印出来后,但是竟然报这个错:(栈溢出)*** stack smashing detected ***: ./test terminatedAborted (core dumped)结果都已经出来为什么报这个错呢?既然结果已经出来,推测应该不是算法(strnat1)的问题。下面是调用处的代码int main(){ char str[] = "123456
2013-11-13 12:57:01 1838
原创 [C/C++]写出几个无限循环
1. 写出几个死循环while (1) {}注:1不可省略for ( ; ; ) {}注:第一个条件为初始条件,第二个条件是循环结束条件,第三个表达式是变更表达式 循环结束条件若是省略的话,应写入循环体中。此时循环体中没有结束条件(此时程序已进入循环),故程序将一直执行。。。for(;;)编译成汇编后是无条件转移,while(1)
2013-11-11 16:17:24 7604
原创 几段关于const的代码
1. 改变const修饰的“只读变量”#include int main(){ const int a = 9; int *pa = (int *)&a; *pa = 10; printf("a = %d\n", a); return 0;}2. memmove(void *dest, const void *src, si
2013-11-11 13:20:43 786
原创 [C/C++]const的作用
首先:const修饰的变量是“只读变量”!如果你说成是“常量“,那说明你是个业余者,虽然你明白它是干嘛的。表达时尽量标准,趋近于专业!关于const最简单的一句“const意味着只读”! 这是一句正确的答案,但是这不够详细,不够深入!下面几个句应该知道是什么意思:1. const int a;2. int const a; 这两句是一个意思:a是“只读的”,即
2013-11-11 12:58:54 773
原创 warning:initialization discards ‘const’ qualifier from pointer target type 解决方法
initialization discards ‘const’ qualifier from pointer target type意思是,初始化时丢掉了(目标类型的)‘const’限定符eg: const int a = 9; int *pa = &a;就会报这个警告!方法一:const int *pa = &a;方法二:int *pa = (int *)&a; 这种
2013-11-11 12:13:59 20710
原创 C++中引用和指针的区别
引用可看作是某变量的别名,对引用进行操作就像操作原变量(直接操作)!主要在函数传递参数时使用,如SWAP函数指针的值存的是变量的地址,通过操作指针可以间接操作变量!区别: 1.引用声明时必须指定引用的对象,指针不必 2.引用不能为空,指针可以为NULL 3.引用一旦声明就不能改变,指针可以指向不同的对象 4.引用访问对象是直接访问,指
2013-11-10 20:20:31 697
转载 数组名和指针的区别
只有在作为函数的参数时,数组名和指针才是相同的(即“数组名就是指针”,只适用于这种情况)!其余情况一律不同!第一:数组名不是指针!它们的大小不同第二:数组名很像指针!比如,数组名可以赋给指针。又比如strcpy函数是以字符型指针为参数,但是我们可以传给它数组名!数组名的本质:1.数组名的内涵在于指代实体是一种数据结构,这种数据结构就是数组。(数组名带指一种数据结构:数组)
2013-11-10 12:25:56 659
原创 TCP和UDP的区别
TCP(Transimission Control Protocol 传输控制协议)和UDP(User Datagram Protocol)是传输层的两种实现版本!它们之间提供基本的服务又各有所长。因此,根据对特定服务质量的要求,应用层软件单元可以选择通过传输层的TCP版本或者UDP版本来传输数据。TCP和UDP之间的区别:第一,基于TCP的传输层在发送报文前要建立一个连接!
2013-11-09 22:28:14 463
原创 [c/c++]static的作用
一:有关生命周期,加了static的局部变量,存储在data区,并且它的初始化是由编译器完成如:int fun() {static int tmp = 1; tmp++; return tmp;} 当在main中两次调用fun()时,int a = fun(), int b = fun(),此时结果为: a = 2, b = 3; 原因就是程序编译过之后,fun
2013-11-02 15:12:01 568
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人