摘要: 对于实现了Serializable接口的类,如果没有主动在程序中加上serialVersionUID,那么编译器会默认加上。一般情况下最好是自己加上,编译器默认的ID依赖于编译器的实现,在反序列化时,可能会报InvalidClassExceptions。先看java bean的代码: 1 package com.oppo.test; 2 3 import java.io.Serializable; 4 5 public class Student implements Serializable { 6 7 /** 8 * 9 */10 private... 阅读全文
posted @ 2012-12-20 20:01 leealways87 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 1.可以在Valgrind Home下载最新版本;2.解压之后,打开README文件,查看软件的安装方法,一般都是./configure make make install这三步;3.检查是否安装正确:1 valgrind ls -l我安装的时候出现如下错误: 1 # valgrind ls -l 2 ==13544== Memcheck, a memory error detector 3 ==13544== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. 4 ==13544== Using Valgri 阅读全文
posted @ 2012-11-02 09:26 leealways87 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 《C++ Primer》可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。原文网址:浅谈C++类(4)--隐式类类型转换 1 #include <string> 2 #include <iostream> 3 using namespace std; 4 class Fruit //定义一个类,名字叫Fruit 5 { 6 string name; //定义一个name成员 7 string colour; //定义一个colour成员 8 9 public:10 bool isSame(const ... 阅读全文
posted @ 2012-10-29 19:58 leealways87 阅读(333) 评论(0) 推荐(1) 编辑
摘要: 1 "history 2 set history=700 3 4 "syntax highlight 5 syntax on 6 7 "enable filetype plugins 8 filetype plugin indent on 9 filetype plugin on 10 " 11 "Highlight from start of file 12 autocmd BufEnter * :syntax sync fromstart 13 14 let mapleader="," 15 16 " auto 阅读全文
posted @ 2012-10-24 13:24 leealways87 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 1. #的用法在C语言中,#可以用来宏的转换成字符量,它仅允许出现在带参数的宏的替换列表中程序如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 #define str1(s) #s 5 #define str2(s) "#s" 6 #define str3(s) '#s' 7 8 int 9 main(void)10 {11 char *hello = "HELLO";12 printf("%s = %s\n", str1(hello), he 阅读全文
posted @ 2012-10-21 21:42 leealways87 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: 源网址:http://hi.baidu.com/xtuyvzkkkllstue/item/33ce141051de400f8fbde4e1感谢作者讲解,所以copy过来以流后用,如有不妥,请作者留言,我直接删除哈。#define do{} while(0) 什么意思#define do{} while(0) 为什么这么用什么情况下用宏定义do{}while(0);简单地说,就是能够实现复杂的定义,通用性强,任何情况下都适用。#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#defi 阅读全文
posted @ 2012-10-21 21:10 leealways87 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 1 /** 2 *initserver.c 3 **/ 4 5 #include <stdio.h> 6 #include <stdlib.h> 7 #include <sys/socket.h> 8 #include <netinet/in.h> 9 #include <syslog.h>10 #include <errno.h>11 12 int13 initserver(int type, const struct sockaddr *addr, socklen_t alen, int qlen)14 {15 int 阅读全文
posted @ 2012-10-05 15:18 leealways87 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 1 """""""""""""""""""""""""""""""""""""""""""""""""&quo 阅读全文
posted @ 2012-10-04 19:44 leealways87 阅读(633) 评论(0) 推荐(0) 编辑
摘要: 服务器端的程序名为ruptimed,服务名为ruptime,为客户端提供uptime服务,由于ruptime服务是用户自定义的服务,在调用getaddrinfo时出现如下错误:1 Servname not supported for ai_socktype我给getaddrinfo函数提供了主机名和服务名,但需要在系统中登记,即将ruptime和端口号写入/etc/services中(注意用户自定义的端口号不能小于1024,以免和系统已经存在的端口号冲突。程序名和服务名不必相同,服务名更像是程序的别名),将ruptime 4000/tcp添加到/etc/services文件末尾,这样就不会.. 阅读全文
posted @ 2012-10-03 00:38 leealways87 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 一、管道的特性 管道是UNIX系统IPC的最古老形式,并且所有UNIX系统都提供此种通信机制。但是管道有以下两种局限性: (1)半双工的(即数据只能在一个方向上流动),虽然有系统提供全双工的管道,但是为了可移植性,用户不能假设这种情况; (2)管道只能在具有公共祖先的进程之间使用。二、管道的创建管道由pipe函数创建:1 #include <unistd.h>2 int pipe(int filedes[2]);函数返回值:若成功则返回0,若出错返回-1。经由参数filedes返回两个文件描述符,filedes[0]为读而打开,filedes[1]为写而打开,也就是说filedes 阅读全文
posted @ 2012-09-09 21:35 leealways87 阅读(625) 评论(0) 推荐(0) 编辑