02 2013 档案

摘要:前言项目上经常用到redis进行持久化存储,却不知道redis持久化的原理,这里转载一篇博客,权当记读书笔记了,原文地址:http://blog.nosqlfan.com/html/3813.html写操作的流程首先我们来看一下,数据库在进行写操作时到底做了哪些事,主要有下面五个过程:客户端向服务器端发送写操作(数据在客户端的内存中)数据库服务端接收到写请求的数据(数据在服务器端的内存中)服务器端调用write(2)这个系统调用,将数据往磁盘上写(数据在系统内存的缓冲区中)操作系统将缓冲区中的数据转移到磁盘控制器上(数据在磁盘缓存中)磁盘控制器将数据写到磁盘的物理介质中(数据真正落在磁盘上)故 阅读全文
posted @ 2013-02-28 18:18 java程序员填空 阅读(237) 评论(0) 推荐(0)
摘要:题目: 有100块钱要买100只鸡 其中 公鸡 5元一只 母鸡 3元一只 小鸡 一元3只 有几种买鸡的方法?用for循环int add = 0; for (int j = 0; j <= 20; j++) //公鸡 { for (int k = 0; k <= 33; k++) // 母鸡 { for (int l = 0; l <= 300; l++) //小鸡 { if (15 * j + 9 * k + l == 300 && j + k + l == 100) { add++; } } } } Console.WriteLine("共有&qu 阅读全文
posted @ 2013-02-27 17:41 java程序员填空 阅读(2599) 评论(0) 推荐(0)
摘要:题目题目描述: 打印所有不超过n(n<256)的,其平方具有对称性质的数。 如11*11=121 输入: 无任何输入数据 输出: 输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。 样例输入: 样例输出:思路比较数组的数据是否满足对称的性质对整数取余求每一位数AC代码(c)#include <stdio.h> #include <stdlib.h> int judgeSymmetry(int square); int main() { int i; for(i = 0; i < 256; i ++) { if(i == 0) { pr 阅读全文
posted @ 2013-02-27 15:02 java程序员填空 阅读(258) 评论(0) 推荐(0)
摘要:Oracle软件本身是免费的,所以任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的License。现在Oracle有两种授权方式,按CPU(Process)数和按用户数(Named User Plus)。前一种方式一般用于用户数不确定或者用户数量很大的情况,典型的如互联网环境,而后一种则通常被用于用户数确定或者较少的情况。按CPU: License数=CPU 数*系数。系数来自Oracle的一个参数表,如IBM Power6的处理器为1,AMD和Intel的处理器为0.5,详细情况 阅读全文
posted @ 2013-02-27 14:27 java程序员填空 阅读(1353) 评论(0) 推荐(0)
摘要:从学校走出来、到现在这个公司已经两年了。还记得自己刚来公司时候的稚嫩。面试的时候的紧张、每当走进面试的时候的茶水间、我总能想到研发经理跟人事经理在面试我的场景。二年匆匆而过。不是我挥一挥衣袖不带走色彩。而是曾经的研发经理自己辞职走了。这二年中不断有新人来、老人离开。曾经属于新人菜鸟阵营的我。也不知道从什么时候开始变成了老菜鸟。曾经的踌躇满志已经过去、我一直在漂泊着、磕磕碰碰、摇摇晃晃的、想要抵达甚至看都看不到的终点。我孤注一掷想要拜托身上的枷锁。却不知何去何从、我挥霍着青春、去追随所谓的幸福。曾经以为自己会不知疲倦。可是不知道从什么时候开始、我一直有一种想要停下脚步的冲动。然而就算我站着... 阅读全文
posted @ 2013-02-27 11:35 java程序员填空 阅读(125) 评论(0) 推荐(0)
摘要:冒泡排序:让数组中的元素两两比较(第i个与第i+1个比较),经过若干次两两比较,使得数组中的元素按照我们预期的规律排序。要从大到小排,再量量比较的时候使用<;从小到大使用>10,20,3020,30,101趟2次两两比较30,20,102趟1次两两比较10<20true交换10,20,30,40,50,60,70原始数据7个原素20,30,40,50,60,70,10第1趟比较6次30,40,50,60,70,20,10第2趟比较5次40,50,60,70,30,20,10第3趟比较4次50,60,70,40,30,20,10第4趟比较3次60,70,50,40,30,20, 阅读全文
posted @ 2013-02-27 08:47 java程序员填空 阅读(117) 评论(0) 推荐(0)
摘要:前言一道比较简单的二叉树题目,需要了解的知识点,当前结点为i,采用数组存储树的每个结点:左孩子为2 * i右孩子为2 * i + 1吐嘈一下,其实我的代码功底在公司应该是非常强的,哎,不搞开发搞运维真是感觉有些可惜啊!题目图片题目描述如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。 比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。 输入: 输入数据包括多行,每... 阅读全文
posted @ 2013-02-26 23:14 java程序员填空 阅读(167) 评论(0) 推荐(0)
摘要:前言用最大堆实现的最大优先级队列一般用来进行作业调度的问题用最小堆实现的最小优先级队列一般用于贪心等概念优先级队列是一种用来维护一组元素构成的集合S的数据结构,这一组元素中的每一个都有一个关键字key。这里以最大堆实现的最大优先级队列为例,支持如下操作:extract_max(A, n) : 去掉并返回A中的具有最大关键字的元素increase_key(A, i, key) : 将元素A[i]关键字变为key并且保持最大优先级队列的性质实现extract_max/** * Description:从节点i开始,维护以i为根节点的子树,使以i为根的子树为最大堆(非递归) */ void ma.. 阅读全文
posted @ 2013-02-26 16:13 java程序员填空 阅读(139) 评论(0) 推荐(0)
摘要:\? 问号字符 \’单引号符 \"双引号符 \\反斜线符"\" \0空字符(Null) \a鸣铃 \b退格 \f走纸换页 \n换行 \r回车 \t横向跳到下一制表位置 \v竖向跳格(垂直制表) \ddd任意字符 三位八进制 \xhh任意字符 二位十六进制 阅读全文
posted @ 2013-02-26 11:45 java程序员填空 阅读(136) 评论(0) 推荐(0)
摘要:前言这道题耗时将近半个月,期间我复习了几处基础知识贪心算法堆排序哈夫曼树最后在参考我同学的博客,终于通过最小堆构建最小优先级队列ac了这道题!优先级队列参考链接:http://blog.csdn.net/zinss26914/article/details/8614022推荐一下我同学的博客,内容很好而且人也很犀利 :http://blog.csdn.net/cscmaker/article/details/8138870题目题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆。每一次合并,小明可以把两堆水果合并到一起,消... 阅读全文
posted @ 2013-02-26 07:36 java程序员填空 阅读(278) 评论(0) 推荐(0)
摘要:堆排序概述堆排序定义n个关键字序列k(1), k(2), ..., k(n)称为堆,当且仅当该序列满足如下性质(简称为堆性质)k(i) <= k(2i) && k(i) <= k(2i+1)k(i) >= k(2i) && k(i) >= k(2i+1)若将此序列所存储的向量R[1..n]看做是一颗完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。大根堆和小根堆根结点(亦称堆顶)的关键字是堆里所有结点关键字中最小者的堆称为小根堆根节点(亦称堆顶)的关键 阅读全文
posted @ 2013-02-25 23:28 java程序员填空 阅读(195) 评论(0) 推荐(0)
摘要:前言由于是周末,这道九度贪心算法的题目进行了整整两天的时间,挺不错的,这里分析记录一下题目题目描述: With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You are asked 阅读全文
posted @ 2013-02-24 18:16 java程序员填空 阅读(195) 评论(0) 推荐(0)
摘要:语法请进 http://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx看,很详细 很好 就不复制了。。常用正则表达式:正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正 阅读全文
posted @ 2013-02-24 05:59 java程序员填空 阅读(116) 评论(0) 推荐(0)
摘要:对于Asp.Net应用程序,当面对大量用户的请求,我们的服务器是否有能力从容应对,一方面取决于我们服务器硬件设备的处理能力,更重要的一方面则取决于数据库连接的管理是否合理。(这里代码是否合理,暂不考虑,假定它合理。)本文主要讨论数据库连接的管理,即连接池的管理需要注意的问题,并通过代码实例进行分析。注意一:连接池中包含打开的可重用的数据库连接。在同一时刻同一应用程序域中可以有多个连接池。一个连接池是通过一个唯一的连接字符串来创建。连接池是根据第一次请求数据库连接的连接字符串来创建的,当另外一个不同的连接字符串请求数据库连接时,将创建另一个连接池。因此一个连接字符中对应一个连接池而不是一个数据库 阅读全文
posted @ 2013-02-22 21:01 java程序员填空 阅读(255) 评论(0) 推荐(0)
摘要:前言大家都知道,代码对整个IT公司来说就是生命,小中型公司由于人员水平问题,大部分都采用svn进行代码的版本化控制,因此svn的版本库备份显得至关重要,这里我介绍svnsync实现svn的版本库同步,并且将实现过程脚本化需求同步的主版本库位于A服务器(192.168.1.1),基于apache进行访问控制,配置根目录下有test[1-9]这9个版本库,采用http协议进行访问镜像版本库位于B服务器(192.168.1.2),基于apache进行访问控制,采用http协议进行访问授权访问控制由于主版本库和镜像版本库都采用libapache2-svn模块进行权限访问控制,因此我们首先需要提供一个s 阅读全文
posted @ 2013-02-22 16:04 java程序员填空 阅读(327) 评论(0) 推荐(0)
摘要:前言又是一道贪心算法的题目,开始还以为是动态规划,所以理解题目很关键题目题目描述: 通过悬崖的yifenfei,又面临着幽谷的考验—— 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。 幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。 现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。 现在的问题是:如何配置此药,能 阅读全文
posted @ 2013-02-20 23:40 java程序员填空 阅读(181) 评论(0) 推荐(0)
摘要:前言过年几天学习了一下贪心算法,趁着现在任务比较轻,多做几道贪心算法的题目巩固一下题目题目描述: FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean. The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMou 阅读全文
posted @ 2013-02-20 15:48 java程序员填空 阅读(146) 评论(0) 推荐(0)
摘要:前言今天qq群里有位挺厉害的大神提出了一个问题:“上海-redis-蛋疼(137795882) 17:39:37 有没有查找一个目录下面 有没有重名文件的 工具 啊”大家都知道,同一个目录下是不存在同名文件的,因此肯定要遍历子目录查找同名文件思路find命令查找所有的子目录find命令循环遍历子目录,获取所有的文件对所有的文件做去重因为是shell脚本,所以用好sort、uniq、awk等是非常方便的SHELL脚本#!/bin/bash #获取查找的目录名 if [ 'x' == 'x'$1 ]; then echo "Usage $0 search_ 阅读全文
posted @ 2013-02-19 19:51 java程序员填空 阅读(895) 评论(0) 推荐(0)
摘要:前言在linux下挂载磁盘分区的时候,除了利用磁盘的代号之外(/dev/sd*),也可以直接利用磁盘的label来作为挂载的磁盘挂载点。优点:无论磁盘的代号如何变化,不论你将磁盘插在哪个IDE接口,由于是通过label挂在,所以磁盘插在哪个接口将不会有影响!缺点:如何插了两个磁盘,恰好两个磁盘的label重复,就悲剧了,因为系统无法判断哪个磁盘分割槽才是正确的!查看系统的磁盘代号:系统挂载限制根目录/是必须挂载的,而且一定要先于其它mount point被挂载进来其它mount point必须为已建立的目录查看磁盘分区的UUID命令sudo blkid效果注:可以根据windows分区的la. 阅读全文
posted @ 2013-02-19 16:37 java程序员填空 阅读(177) 评论(0) 推荐(0)
摘要:const_iterator it: it可修改,*it不可修改。const_iterator: it不可修改,*it可修改。iterator it: it和*it均可修改。 阅读全文
posted @ 2013-02-18 17:29 java程序员填空 阅读(111) 评论(0) 推荐(0)
摘要:前言学习贪心算法的时候复习了一下哈夫曼树的构造,这里记录一下,参考链接:http://blog.csdn.net/zinss26914/article/details/8461596主要是记录一道九度的哈夫曼树的题目题目题目描述: 哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。 输入: 输入有多组数据。 每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。 输出: 输出权值。 样例输入: 5 1 2 2 5 9 样例输 阅读全文
posted @ 2013-02-17 23:46 java程序员填空 阅读(146) 评论(0) 推荐(0)
摘要:encodeURI和decodeURI编码encodeURI和decodeURI 主要用于URL(网址)的编码、解码,是JavaScript的自身函数,采用UTF-8编码格式对指定的字符串进行编码或解码。 编码函数 encodeURI():将非字母、数字 字符转换成ASCII码,以16进制表示 译码函数 decodeURI():将被encodeURI()编码过的 ASCII码转换成对应的字符例如:空格符号 对应的编码是 %20说明:encodeURI函数不能编码的字符:@ ~ ! @ # $ & * ( ) _ + : ? - = ; ' , . / 英文 数字encodeUR 阅读全文
posted @ 2013-02-17 08:26 java程序员填空 阅读(138) 评论(0) 推荐(0)
摘要:一、1. 在ASP.NET中专用属性:获取服务器电脑名:Page.Server.ManchineName获取用户信息:Page.User获取客户端电脑名:Page.Request.UserHostName获取客户端电脑IP:Page.Request.UserHostAddress2. 在网络编程中的通用方法:获取当前电脑名:static System.Net.Dns.GetHostName()根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList也可根据IP地址取出电脑名:static System.Net.Dns.Resolv 阅读全文
posted @ 2013-02-15 07:57 java程序员填空 阅读(417) 评论(0) 推荐(0)
摘要:public void MakeThePaper(string paperPath, string paperName, string[] qesNbu, string[] queType, int[] queCon, ArrayList[] path) { //定义 Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Wo... 阅读全文
posted @ 2013-02-15 07:57 java程序员填空 阅读(148) 评论(0) 推荐(0)
摘要:#region 导入试题 /// <summary> /// 导入按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnImport_Click(object sender, EventArgs e) { try { //获取题型 string strQuestionType = ddlQuestionType.Selected... 阅读全文
posted @ 2013-02-15 07:57 java程序员填空 阅读(148) 评论(0) 推荐(0)
摘要:题目要求题目描述: “今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目) 输入: 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目 阅读全文
posted @ 2013-02-13 22:22 java程序员填空 阅读(204) 评论(0) 推荐(0)
摘要:引言事先声明,我学习贪心算法之前只是理解了动态规划的装配线调度问题,其它的动态规划基础基本为零,我感觉很多问题都可以用贪心来解决,因此在这里总结一下我学习贪心算法的过程,很多东西是靠做题和死记硬背理解的,唉,为自己的智商着急啊!我采用通过acm题的方式来分析一下我理解的贪心算法!例题题目描述: 又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。 输入: 第一行n,有n个招聘会,接下来n行每行两个整数表示起止时间,由从招聘会第一天0点开始的小时数表示。 n <= 1000 。 输出: 最多参加的招聘会 阅读全文
posted @ 2013-02-13 15:25 java程序员填空 阅读(3153) 评论(0) 推荐(0)
摘要:前言在线下做mysql数据分析的时候,会遇到执行shell脚本里导入sql文件到mysql数据库里或者连接mysql执行指定sql语句的情况,这里介绍一下我采用的方法导入sql文件到mysql数据库示例代码#变量定义 sqlname="test.sql" dir="/sdb2/backup/mysql_db_backup/backup/databases" host="127.0.0.1" user="root" passwd="123456" dbname="test" # 阅读全文
posted @ 2013-02-08 14:31 java程序员填空 阅读(852) 评论(0) 推荐(0)
摘要:前言闲来无事,又ac了一道水题题目题目描述: “臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。 首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。 输入: 每个案例第一行两个整数N,M,2 <... 阅读全文
posted @ 2013-02-07 10:41 java程序员填空 阅读(328) 评论(0) 推荐(0)
摘要:前言比较简单的一道acm题,用一个bool类型数组求解即可!春节在家无聊写篇博客记录一下自己的acm过程吧,反正也没闲着,督促一下自己假期也是需要努力的!题目题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数 阅读全文
posted @ 2013-02-07 10:00 java程序员填空 阅读(126) 评论(0) 推荐(0)
摘要:前言今天在家里做acm的时候,用到了sscanf()函数,感觉特别犀利,这里记录一下用法。sscanf()函数原型int sscanf(const char *str, const char *format, mixed var1, mixed var2);说明:sscanf()会将参数str的字符串根据参数format来转换并格式化数据。format格式{%[*] [width][{h | l | l64 | L}]type | ' ' | t' | '\n' | 非%符号}注:*可用于格式中,(即%*d和%*s)加了星号(*)表示跳过此数据不读入。( 阅读全文
posted @ 2013-02-05 17:48 java程序员填空 阅读(492) 评论(0) 推荐(0)
摘要:前言由于之前的线上服务器替换过ip地址,导致线下服务器crontab在拉取备份日志时日志里记录了如下问题(ps:在家边解决bug边看我是歌手,很爽啊):注意:查找服务器端问题一定要查看日志,不能靠猜,例如ssh的问题可以多加-vvv参数来具体排查问题原因线上服务器进行了ip地址的修改,开始出现Host key verification failed的时候,以为删除自己的know_hosts文件即可,但是没有解决本质问题,所以察看日志很重要解决方法mknod -m 644 /dev/tty c 5 0 chmod o+rw /dev/tty公私钥认证解决了上面的问题,发现之前由于不清楚原因搞乱了 阅读全文
posted @ 2013-02-05 15:22 java程序员填空 阅读(1948) 评论(1) 推荐(0)
摘要:起因今天发现一台服务器crontab定时运行scp的备份脚本失败,手动执行脚本没问题,所以想从crontab的日志里找原因,突然发现我的/var/log下没有cron日志,这里记录一下如何ubuntu server如何查看crontab日志crontab记录日志修改rsyslogsudo vim /etc/rsyslog.d/50-default.confcron.* /var/log/cron.log #将cron前面的注释符去掉重启rsyslogsudo service rsyslog restart查看crontab日志less /var/log/cron.logcro... 阅读全文
posted @ 2013-02-04 23:39 java程序员填空 阅读(321) 评论(0) 推荐(0)
摘要:需求shell脚本里我需要根据不同的ip地址做出不同的操作,因此我需要在shell脚本里获取当前主机的ip地址我需要获取到192.168.1.111这个ip地址方法1ifconfig |grep 'inet 地址'|grep '192.168.1' | grep -v 'grep' | awk '{print $2}'| tr -d "地址:"效果 阅读全文
posted @ 2013-02-01 20:26 java程序员填空 阅读(609) 评论(0) 推荐(0)
摘要:需求临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu10.04server思路获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库通过mysqldump来for循环导出所有的数据库的sql文件用zip加密压缩所有的sql文件定期进行数据清理工作shell代码数据库导出代码#!/bin/bash #1.数据库信息定义 mysql_host="192.168.1.1" mysql_user="root" mysql_passwd="root" #sql备份目录 root_dir 阅读全文
posted @ 2013-02-01 19:16 java程序员填空 阅读(322) 评论(0) 推荐(0)
摘要:需求今天做日志备份的时候,由于昨晚替换了备份脚本没有完全测试通过,导致了我的备份目录遭到污染,如果所示:我的需求是test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。我可以选择手动的一个个删除,但是身为程序员,各位懂得,写了一个shell脚本,用了for+case,大家有更好的方法欢迎跟帖,肯定是有的,我提示一个find命令,哈哈,看看大家的积极程度了,有留言我肯定回复!shell脚本#!/bin/bash #1.变量定义 root="/backup/log" dirarr=("test1" " 阅读全文
posted @ 2013-02-01 13:47 java程序员填空 阅读(1155) 评论(0) 推荐(0)