07 2010 档案

摘要:1.当做数组拷贝操作时,采用System.arraycopy()方法完成拷贝操作要比采用循环的方法完成数组拷贝操作效率高。如下:2.尽量避免在循环体中调用方法,因为方法调用是比较昂贵的。3.最好避免在循环体内存取数组元素,比较好的办法是在循环体内采用临时变量,在循环体外更改数组的值。这时因为在循环体内使用变量比存取数组元素要快。4.当没有使用JIT或HotSpot虚拟机时,尽量使用0值作为终结条件... 阅读全文
posted @ 2010-07-29 16:20 MikeLin 阅读(676) 评论(0) 推荐(0) 编辑
摘要:1.尽早释放无用对象的引用。一般是将引用变量在退出作用域后设置为null。如果程序允许,应尽早将不用的引用对象赋为null,这样可以加速GC的工作。但要注意如果变量是方法的返回值,千万不要做这样的处理,否则从该方法中得到的返回值永远为空。2.尽量少用finalize函数。finalize函数会加大GC的工作量,因此尽量少采用finalize方式回收资源。3.如果需要使用经常用到的图片,可以使用so... 阅读全文
posted @ 2010-07-29 16:18 MikeLin 阅读(911) 评论(0) 推荐(0) 编辑
摘要:用static修饰的变量是类变量/静态变量;用static修饰的方法是类方法/静态方法。对静态变量的引用有下面的规则:1.可以在非静态方法中引用静态变量。2.不可以在静态方法中引用非静态变量。3.可以在静态方法中创建非静态变量。 阅读全文
posted @ 2010-07-29 16:16 MikeLin 阅读(125) 评论(0) 推荐(0) 编辑
摘要:1.用来声明类的常量在Java程序设计中常量的声明经常采用下面的方式:public static final String USER_NAME = "John";static和final关键字分别说明了常量具备的两个基本特征——静态的、不可变的。2.用来声明方法的常量参数将方法的参数声明为final参数可以防止该参数被方法体中的语句更改。3.用来声明不可覆盖的方法采用fin... 阅读全文
posted @ 2010-07-29 16:11 MikeLin 阅读(162) 评论(0) 推荐(0) 编辑
摘要:1.Internet结构2.计算机网络的体系结构1)网路协议主要由以下三要素组成: 语法,即数据与控制信息的结构或格式; 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应; 同步,即事件实现顺序的详细说明(同步含有时序的意思)。2)通常,网络各层要完成以下一种或多种功能: 差错控制:使得和网络对等端的相应层次的通信更加可靠。 流量控制:使得发送端的发送速率不要太快,要使接收端来得及接收。... 阅读全文
posted @ 2010-07-28 18:05 MikeLin 阅读(846) 评论(0) 推荐(0) 编辑
摘要:1.VMware:虚拟机上网方式设置为NAT2.Win7:主机上虚拟机安装的网卡(在此为“VMware Virtual Ethernet Adapter for VMnet8”)IPv4设置成自动ip获得3.Win7:本地连接打开共享,即在本地连接上右键打开属性对话框中设置与VMnet8网卡共享4.Ubuntu10.04:网关设置为主机上虚拟网卡的ip,而ip则设置为和网卡... 阅读全文
posted @ 2010-07-25 14:30 MikeLin 阅读(1468) 评论(0) 推荐(0) 编辑
摘要:操作步骤:1.新建一个类MyWin,继承java.awt.Frame类2.在MyWin类中写一个方法launchFrame3.在launchFrame方法中设置窗口位置:setLocation4.在launchFrame方法中设置窗口大小:setSize5.在launchFrame方法中设置窗口标题栏:setTitle6.在launchFrame方法中设置窗口为可见:setVisible7.在la... 阅读全文
posted @ 2010-07-25 09:51 MikeLin 阅读(999) 评论(0) 推荐(0) 编辑
摘要:Stanford Report, June 14, 2005‘You’ve got to find what you love,’ Jobs says今天,有荣幸来到各位从世界上最好的学校之一毕业的毕业典礼上。我从来没从大学毕业。说实话,这是我离大学毕业最近的一刻。今天,我只说三个故事,不谈大道理,三个故事就好。第一个故事,是关于人生中的点点滴滴怎么串连在一起。... 阅读全文
posted @ 2010-07-22 02:32 MikeLin 阅读(201) 评论(0) 推荐(0) 编辑
摘要:访问控制:private 私有的protected 受保护的public 公共的类、方法和变量修饰符:abstract 声明抽象class 类extends 扩允,继承final 终极,不可改变的implements 实现interface 接口native 本地new 创建static 静态strictfp 严格,精准synchronized 线程,同步transient 短暂volatile ... 阅读全文
posted @ 2010-07-21 13:34 MikeLin 阅读(5739) 评论(0) 推荐(0) 编辑
摘要:1.HTTP协议HTTP(Hypertext Transfer Protocol,超文本传输协议)主要用来定义一个客户端/服务器端通信的规范,它定义了数据以何种形式在网络中进行传递、接收。HTTP协议有以下几个特点:1)它是一个无状态的协议,服务器端在处理相应请求后不会保留任何客户端的信息。2)客户端与服务器端的每一次数据交互,都要经过一次请求/响应的过程。3)服务器端无法识别能够触发客户端请求的... 阅读全文
posted @ 2010-07-18 15:27 MikeLin 阅读(1042) 评论(0) 推荐(0) 编辑
摘要:1.基于UDP的服务器端编程1.1 创建一个socket,用函数socket()1.2 绑定IP地址、端口等信息到socket上,用函数bind()1.3 循环接收数据,用函数recvfrom()1.4 关闭网路连接udp_server.c2.基于UDP的客户端编程2.1 创建一个socket,用函数socket()2.2 绑定IP地址、端口等信息到socket上,用函数bind()2.3 设置对... 阅读全文
posted @ 2010-07-15 23:31 MikeLin 阅读(267) 评论(0) 推荐(0) 编辑
摘要:1.基于TCP的服务器端编程1.1 创建一个socket,用函数socket()1.2 绑定IP地址、端口等信息到socket上,用函数bind()1.3 设置允许的最大连接数,用函数listen()1.4 接收客户端的连接,用函数accept()1.5 收发数据,用函数send()和recv(),或者read()和write()1.6 关闭网络连接,用函数close()tcp_server.c2... 阅读全文
posted @ 2010-07-15 22:16 MikeLin 阅读(231) 评论(0) 推荐(0) 编辑
摘要:Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,链接时需要使用库libpthread.a。1.创建线程#include <pthread.h>int pthread_create(pthread_t *tidp, const pthread_attr_t *attr, void *(*start_rtn... 阅读全文
posted @ 2010-07-15 21:49 MikeLin 阅读(336) 评论(0) 推荐(0) 编辑
摘要:1.管道通信1.1 什么是管道管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。数据被一个进程读出后,将被从管道中删除,其它读进程将不能再读到这些数据。管道提供了简单的流控制机制,进程试图读空管道时,进程将阻塞。同样,管道已满时,进程再试图向管道写入数据,进程将阻塞。管道包括无名管道和有名管道... 阅读全文
posted @ 2010-07-15 20:41 MikeLin 阅读(356) 评论(0) 推荐(0) 编辑
摘要:1.获取ID#include <sys/types.h>#include <unistd.h>pid_t getpid(void) //获取本进程IDpid_t getppid(void) //获取本进程的父进程ID2.用fork创建进程#include <unistd.h>pid_t fork(void)fork每被调用一次都返回两次,它有三种可能的返回值:在... 阅读全文
posted @ 2010-07-15 18:27 MikeLin 阅读(222) 评论(0) 推荐(0) 编辑
摘要:1.时间类型Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟悉的格林威治标准时间(Greenwich Mean Time, GMT)。Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数“来表示的时间。2.时间获取#include <time.h>time_t ti... 阅读全文
posted @ 2010-07-15 14:13 MikeLin 阅读(484) 评论(0) 推荐(0) 编辑
摘要:1.创建和打开文件FILE *fopen(const char *filename, const char *mode)常见打开模式:r,rb 只读方式打开w,wb 只写方式打开,如果文件不存在,则创建该文件a,ab 追加方式打开,如果文件不存在,则创建该文件r+,r+b,rb+ 读写方式打开w+,w+b,wh+ 读写方式打开,如果文件不存在,则创建该文件a+,a+b,ab+ 读和追加方式打开,如... 阅读全文
posted @ 2010-07-15 13:51 MikeLin 阅读(2514) 评论(0) 推荐(1) 编辑
摘要:1.创建文件int creat(const char *filename, mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径)mode:创建的文件的模式/访问权限常见模式:S_IRUSR 可读S_IWUSR 可写S_IXUSR 可执行S_IRWXU 可读、可写、可执行还可以直接使用数字来表示文件的访问权限:可执行 1可写 2可读 4上述三个值的和,如可读可写可执行... 阅读全文
posted @ 2010-07-15 13:28 MikeLin 阅读(1196) 评论(0) 推荐(0) 编辑
摘要:1. -o output_filename确定可执行文件的名称为output_filename。如果不给出这个选项,gcc就给出预设的可执行文件名a.out。2. -c只编译,不链接成为可执行文件,编译器只是由输入的.c等源文件生成.o为后缀的目标文件。3. -g产生调试工具(gdb)所必要的符号信息,要想对编译出的程序进行调试,就必须加入这个选项。4. -O对程序进行优化编译、链接,采用这个选项... 阅读全文
posted @ 2010-07-15 11:23 MikeLin 阅读(1114) 评论(0) 推荐(0) 编辑
摘要:shell,即命令解析器,将用户输入的指令转换为相应的机器能够运行的程序。shell脚本的第一行必须是如下格式:#! /bin/sh符号#!用来指定该脚本文件的解析程序。当编辑好脚本后,如果要执行该脚本,还必须使其具有可执行属性,即执行以下命令:chmod +x filename1.注释在shell程序中,以#开头的句子表示注释,直到这一行结束。2.变量在shell编程中,所有的变量都由字符串组成... 阅读全文
posted @ 2010-07-15 11:03 MikeLin 阅读(277) 评论(1) 推荐(0) 编辑
摘要:1.instanceof运算符该运算是双目运算符,左边的操作元是一个对象,右边是一个类。当左边的对象是右边的类创建的对象时,该运算的结果是true,否则是false。2.改进的for循环JDK1.5对for语句进行了改进,以便更好地遍历数组。改进后的for语句的格式如下:for(声明循环变量:数组的名字) { ......}注意其中的“声明循环变量”必须是声明变量,不能使用... 阅读全文
posted @ 2010-07-10 12:57 MikeLin 阅读(192) 评论(0) 推荐(0) 编辑
摘要:发送方程序UdpSender.java:接收方程序UdpReceiver.java: 阅读全文
posted @ 2010-07-10 10:13 MikeLin 阅读(187) 评论(0) 推荐(0) 编辑
摘要:客户端程序TcpClient.java:服务器端程序TcpServer.java:注1:服务器端利用多线程处理客户端注2:所谓“接收”客户端的套接字连接就是accept()会返回一个和客户端Socket对象相连接的Socket对象,服务器端的这个Socket对象client使用getOutputStream()方法获得的输出流将指向客户端Socket对象socket使用ge... 阅读全文
posted @ 2010-07-10 10:08 MikeLin 阅读(275) 评论(0) 推荐(0) 编辑