代码改变世界

随笔档案-2012年8月21日

句柄

2012-08-21 21:55 by javaspring, 462 阅读, 收藏,
摘要: 1、句柄概念 句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标示应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。 WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的。相反,WINDOWS API给这 阅读全文

unix网络编程各种TCP客户-服务器程序设计实例(二)

2012-08-21 21:42 by javaspring, 273 阅读, 收藏,
摘要: 前面我们介绍了unix网络编程各种TCP客户-服务器程序设计实例附环境搭建和编译方法本节我们接着介绍另外的几种TCP客户-服务器程序;第四种:TCP并发服务器,每个客户一个子线程在我们前面的并发服务器程序例子中可以看出:父进程接受连接,派生子进程,子进程处理与客户的交互。这种模式的问题:fork()是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。fork()子进程后,需要用进程间通信在父子进程之间传递信息。一个进程中的所有线程共享相同的全局内存,这使得线程很容易共享信息,但是这种简易型也带来了同步问题。一个进程中的所有线程不仅共享全局变量,而且共享:进程指令,大多数数 阅读全文

3G手机Android应用开发视频教程_黎活明老师的视频(第四天课程)总共有八天课程

2012-08-21 21:11 by javaspring, 135 阅读, 收藏,
摘要: 下载地址:http://jiyanet.com/read.php?tid=403 阅读全文

3G手机Android应用开发视频教程_黎活明老师的视频(第三天课程)总共有八天课程

2012-08-21 21:10 by javaspring, 185 阅读, 收藏,
摘要: 下载地址:http://jiyanet.com/read.php?tid=402 阅读全文

POJ 1523 SPF 无向图求割点和块

2012-08-21 20:59 by javaspring, 309 阅读, 收藏,
摘要: 来源:http://poj.org/problem?id=1523题意:给一个无向图,求该无向图中的割点和该割点属于块的数量。一个割点是可以属于多个块的。思路:深搜,dfs解决。给出一些无向图中关于割点割边的知识,是从网上找的。一、基本概念无向图割点:删掉它之后(删掉所有跟它相连的边),图必然会分裂成两个或两个以上的子图。块:没有割点的连通子图割边:删掉一条边后,图必然会分裂成两个或两个以上的子图,又称桥。缩点:把没有割边的连通子图缩为一个点,此时满足任意两点间都有两条路径相互可达。求块跟求缩点非常相似,很容易搞混,但本质上完全不同。割点可以存在多个块中(假如存在k个块中),最终该点与其他点形 阅读全文

Java RandomAccessFile的使用

2012-08-21 16:15 by javaspring, 225 阅读, 收藏,
摘要: Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。RandomAccessFile的对象包含一个记录指针,用于标识当前流的读写位置,这个位置可以向前移动,也可以向后移动。RandomAccessFile包含两个方法来操作文件记录指针。long getFilePoint():记录文件指针的当前位置。void seek(long pos):将文件记录指针定位到pos位置。RandomAccessFile包含InputStream的三个read方法,也包含Outp 阅读全文

Java虚拟机读写其他进程的数据

2012-08-21 15:30 by javaspring, 221 阅读, 收藏,
摘要: 使用Runtime对象的exec()方法可以获得其他进程的Process对象,Process对象代表由该Java程序启动的子进程,Process类提供了如下3个方法,用于让程序和其子进程进行通讯。InputStream getErrorStream():获取子进程的错误流InputStream getInputStream():获取子进程的输入流OutputStream getOutputStream():获取子进程的输出流下面的代码实现了获取子进程的错误输出import java.io.BufferedReader;import java.io.InputStreamReader;publi 阅读全文

Java重定向标准输入/输出

2012-08-21 14:53 by javaspring, 1184 阅读, 收藏,
摘要: Java的标准输入/输出分别通过System.in和System.out来代表,在默认的情况下分别代表键盘和显示器,当程序通过System.in来获得输入时,实际上是通过键盘获得输入。当程序通过System.out执行输出时,程序总是输出到屏幕。在System类中提供了三个重定向标准输入/输出的方法static void setErr(PrintStream err) 重定向“标准”错误输出流static void setIn(InputStream in) 重定向“标准”输入流static void setOut(PrintStream out)重定向“标准”输出流下面程序通过重定向标准输出 阅读全文

POJ 2553 The Bottom of a Graph 强联通分量

2012-08-21 11:01 by javaspring, 230 阅读, 收藏,
摘要: 来源:http://poj.org/problem?id=2553题意:题目新给了一个定义,在一个图中,若从点v能够到达点w,且从w能够到达点v,则称v为sink。让输出一个图中sink的序号,按升序输出。思路:首先根据定义,易知,因为是有向图,所以一个孤立的强联通分量里面的点都是sink,这点很容易理解,因为强联通分量里面的点都是互达的。而且该强联通分量是孤立的,也就是说,该强联通分量缩点后的出度为0。即缩点后该点到不了其他点,满足sink的定义。也就是说,该题就是求缩点后哪些点的出度为0,即为答案。代码:#include <iostream> #include <cstd 阅读全文

二进制转换为十进制(包括小数转换)

2012-08-21 10:37 by javaspring, 812 阅读, 收藏,
摘要: 小数点以下,第一位 是 2 的 负1次方,第二位 是 2 的 负2次方,第N位 是 2 的 负N次方. 2 的 负1次方 = 1.0 / 2.0 2 的 负2次方 = 1.0 / 2.0 / 2.0 2 的 负N次方 = 1.0 / 2.0 / 2.0 / ..../2.0 (共N个2.0) 把它们累加起来就是10进制小数点以下部分。 小数点以前,不用说了吧,第一位是 2 的 0 次方,第二位是 2 的 1 次方,第M位 是 2 的 M-1次方, 把它们累加起来就是10进制小数点以前部分。 阅读全文