- 博客(59)
- 收藏
- 关注
单元测试mock:用JMockit写单元测试实例
在最近刚结束的接口开发项目中,由于和三方合作同时并行开发,所以开发过程中调用到第三方时,而此时第三方的接口还未实现,这时候我们要进行单元测试时,需要进行mock操作,本次项目就是以JMockit框架来完成单元测试的。 JMockit 是一个轻量级的mock框架是用以帮助开发人员编写测试程序的一组工具和API,该项目完全基于 Java 5 SE 的 java.lang.instrument 包...
2011-03-31 22:42:00 119
Android学习笔记(十八):ListView和RatingBar
在学习笔记(十七)中,我们对ListView做了进一步的探讨,然而给出的例子list中的元素可以有多个widget,并可灵活设置他们的值,但是这些widget之间缺乏互动,而且getView()的调用,需要重刷给list的entry,我们希望能够在entry中触发变化。本次,我们继续根据《Beginging Android 2》的学习,结合RatingBar,将程序稍微复杂一点。R...
2011-03-29 17:41:00 51
[转]百度文库何以成“贼”
道德的层面,利益的层面,对于我们这些局外人都不清楚,但是法律层面就是黑白条文,看了网易评论‘百度文库何以成“贼”’,将这个问题说得比较清楚,以下来源于:http://news.163.com/special/reviews/baiduwenku.html“避风港”原则要求权利人告知侵权百度和出版界的维权纠纷中,互联网“避风港原则”被反复提到。所谓“避风...
2011-03-28 22:31:00 49
Java语言基础:抽象类和接口
1. 一个类中的方法如果只有声明没有实现,则称为抽象方法,必须用abstract修饰之;一个有抽象方法的类称为抽象类,也必须用abstract修饰之,但抽象类可以没有抽象方法;抽象类不能被创建:// 抽象类abstract class A { // 抽象方法 abstract public void proc();} // 没有抽象方法的抽象类abstr...
2011-03-27 02:07:00 54
8斤大头鱼
昨天中午和同事出去打野食,由头是庆祝某男三十而立,他请。去番禺那里的农家乐。大头鱼18元一斤,鲩鱼38元一斤。自己吃自己,不能太狠,点了大头鱼,8斤重。在隔壁桌子上现煮,拍张照片。那是服务员的手,用来做尺寸对比。我还学了一样东西,明白了什么叫和谐价,就是如果不要发票的话,可以打个折扣。除了去年新来的同事,这是最后一位进入30的。有时觉得世界也随着自己在变老,...
2011-03-26 22:05:00 60
Java语言基础:对象的初始化
1. 如果基类存在默认构造函数,则在子类构造之前,会先调用基类的默认构造函数:class A { A() { System.out.println("A create"); }} class B extends A { B() { // 会在这里先调用A的默认构造函数 System.out.prin...
2011-03-26 01:23:00 46
Java语言基础:基本数组类型
1. 一维数组的声明和初始化,分成动态和静态:// 动态创建10个整型,默认初始化为0int[] a1 = new int[10]; // 静态创建4个整型,并初始化为括号中的值int[] a2 = {1, 2, 3, 4}; // 动态创建MyClass数组,需要遍历创建数组中的每个类实例MyClass[] a3 = new MyClass[3];for (i...
2011-03-25 21:48:00 48
C++界面库的抉择
C++的界面库经过几天来的搜索,总结了下面几种的优缺点1. MFC优点:VS2008以及VS2010的扩展确实很强大,特别是原生的窗口运行时停靠以及PropertyGrid确实很强大缺点:默认字体很模糊,无论你对MFC多了解,C++多熟悉,每次写代码时依然要重新熟悉代码,更不用提分析别人写的MFC代码,一个字:乱。2. WTL优点:Windows下有个最好的例子:Goo...
2011-03-25 21:47:00 106
中日辐射数据比较
1. 前言 我现在人在东京,从大地震到现在一直坚持在工作。 对于核辐射不是不关心,但是一直想搞清楚到底辐射是什么程度。 我搜集到了中国官方的大陆各个城市核辐射数据,和日本官方的东京核辐射数据,来科学的比较一下。2. 核辐射数值的换算 核辐射的单位有两个: 1nGy/h,μSv/h他们的换算标准是以下公式: 1nGy/h (ナノグレイ/時) = 0.0008μSv...
2011-03-25 20:49:00 1827
Android 学习笔记(十五):Activity-GalleryView
LogCat调测信息在Window -> Show View -> Other... -> Android -> LogCat,这样将显示LogCat的窗口,对于System.out.print()以及Log.d(),可以打印出我们所需要的信息,例如:System.out.print("Hello -------------------...
2011-03-24 14:54:00 70
【转】Oracle的Java EE 7计划增加对云和HTML5的支持
作者 Charles Humble 译者 张龙 发布于 2011年3月22日 上午7时38分 近日,Oracle完成了Java Specification Request(J...
2011-03-24 14:30:00 52
Java语言基础:泛型
我必须承认我不是一个Java程序员,日常开发主要是C++和Delphi,使用Java完全是为了开发Android应用。今天在看Java的泛型,有些方面感到很奇怪,先来看下面的代码: class Shape {public void Draw() {System.out.println("Draw Shape");} } class Rect extends Shape ...
2011-03-24 00:04:00 43
Java语言基础:final和static
1.finalfinal可以修饰类,成员方法,成员变量;表示最终的,不能修改,不能继承的:final类不能被继承,类中的方法默认是final方法,但类中的成员变量不是。final方法不能被子类覆盖,可以这样理解:JAVA中的普通方法等于C++的虚方法,JAVA中的final方法等于C++中的普通方法。final成员表示常量,只能在声明时赋值一次,以后不能...
2011-03-23 23:42:00 41
Android 学习笔记(十四):Activity-AutoCompleteTextView
AutoCompleteTextView,有一个text作为前缀,有一个类似spinner作为选择,用户也可以敲入所需,可不在spinner的list之中。AutoCompleteTextView是EditText的subclass,可以使用EditText所有的属性,例如字体,颜色等。此外,提供android:completionThreshold,用于表明最小要敲入多少字符才开始显示l...
2011-03-23 14:33:00 44
共享和可变概念
所谓共享,是指一个变量可以被多个现场访问;所谓可变,是指变量的值在其生命周期内可以改变。我们讨论的线程安全性好像是关于代码的,但是我们真正要做的,是在不可控制的并发访问中保护数据。...
2011-03-22 10:02:00 57
散列表
定义散列表为了提供对内存中存储的数据项的快速,随机访问。完美散列,对于传给它的每份数据,它都能生产唯一的散列值。良好的散列函数具有两个令人称心如意的特点:一是快速的,并且它会把散列键均匀地分布在整个表中。二是它还必须弥补可能出现在输入数据中的聚集(聚集是具有近似元素值的数据趋势),对于相同的数据项,它必须总是产生相同的散列值。冲突解决方案再散列法,链表。...
2011-03-21 16:40:00 56
乐观锁和悲观锁
1、悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 统不会修改数据)。2、乐观锁( Optimistic Lockin...
2011-03-21 16:09:00 50
日志分析zz
那道socket的面试题我说我不会,那公司又给我了另一道更加变态的题目:日志分析1)从文件中用户提取字符串(下面示例中包含在[]中的字符)2)利用hash算法把所有的字符串散列 到一个hash表中,统计相同字符串出现的次数3)编写一个排序算法(例如快速排序),把这些字符串按照出现的频率排序.4) 把输出结果保存到一个文件,文件格式为:字符串/出现次数/r/n输 ...
2011-03-21 11:38:00 58
const 使用小结
is2120@csdn1. 修饰变量,使得在初始化变量值后不能在修改其值。// 无const修饰int x = 4;x = 10;// 有const修饰const int x = 2;x = 10; // err2. const替代#define的好处在调试时可以看见变量名,而#define后调试时只能看见值避免了宏定义带来的种种麻烦(宏是直接的文本替代,这会带...
2011-03-19 22:31:00 86
Android学习笔记(十二):Activity-Spinner
Spinner这个词可能有些陌生,在Java中,就是ComboBox。下面我们通过两个例子来学习。两个例子本质上没有区别,但是我们学习一下一些细节的变化。在学习之前,换个思考,想一下下面这个虚拟案例的判决(这是听来的)洞穴奇案的判例 洞穴奇案:这是一个虚构的案例,原型是海难吃人案,但是做更多的理清。5个人在洞穴探险中发生意外,等待救援。而食品无法维...
2011-03-19 11:50:00 55
ci框架mysql数据库连接资源无法释放
使用ci框架提供的类查询数据: $this->load->database(); $query = $this->db->query($sql);程序运行一段时间之后,报错,告知数据库too many connections很明显mysql数据库连接资源超过了 max_connections 设定值。立马在每个查询之后,添加资源释放脚本:...
2011-03-18 17:01:00 40
mysql常用命令
mysql服务启动关闭等:1、查找mysql服务名chkconfig --list2、查找mysql可以操作的命令假如步骤1查找出的服务名字为mysqlservice mysql ?系统将要提升如下:[root@localhost init.d]# service m...
2011-03-18 16:48:00 53
获取客户端用户真实ip
通常通过Request.ServerVariables("REMOTE_ADDR") 或 Request.UserHostAddress 来获取客户端ip。如果在客户端使用了代理服务器或在服务器前加了反向代理服务器,获取的就是代理服务器的地址了,无法获取用户真实ip。怎么获取呢? public static string RemoteIp() { string realRemot...
2011-03-18 14:48:00 58
再说墨水
之前对丹俊的墨水给予很高的评价,最近看来,是给错了。我从丹俊买了一个再生墨盒,便理所当然地认为里面的就是丹俊的专业墨水。而我加过丹俊的彩色墨水,效果确实很高,因此连带也认为丹俊的黑色专业墨水非常好。在质量比较差的纸上,提供优秀的效果。 然则,我加了丹俊的黑色专业墨水后,和其他的国产墨水,例如印维的,并没有很明显的差异差距。在纸张不太好的情况下,有毛边现象,包括常见的A4复印纸。对于铜版纸和...
2011-03-17 22:26:00 71
Android学习笔记(十一):Activity-ListView
在手机中经常有列表方式。如果Activity中只有唯一一个List(这也是通常的情况),可以继承ListActivity来实现。我们用两个例子来学习List。List例子一:利用Android自带的List格式步骤一:Android XML文件ListActivity是一个全屏的list,如果我们需要定制layout,例如加上一个button之类的什...
2011-03-17 16:39:00 46
35个你也许不知道的Google开源项目
Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道的哦。 文本文件处理: Google CRUSH (Custom Reporting Utilities for SHell) CRUSH是为命令行或shell scripts处理特定文字数据...
2011-03-17 15:28:00 76
ubuntu环境下编译内核详解(linux kernel compile)
声明:本文是个人参考网上有关资料,编译2.6.25内核的总结,如按本文步骤编译内核造成的责任和本文作者无关。 本文放在本人的blog上面:http://hi.baidu.com/ffbp89/ 本文还有姊妹篇《老笔记本编译2.6.20内核指导》 如果有修改,也在blog上。 欢迎转载本文,但是请不要取消本声明。 写这篇东西主要是教学目的,学生可以结合编译内核复习shell的有关...
2011-03-17 12:24:00 162
离线使用 ubuntu下的dict
离线使用 ubuntu下的dict首先sudo apt-get install dict //安装客户端sudo apt-get install dictd //安装服务器端安装辞典sudo apt-get install dict-wn //WorldNet 英英字典 这个我推荐其他辞典英英 dict-gcide英汉 dict-xdict, dict-stard...
2011-03-17 12:22:00 76
ubuntu skype 安装
Installing Skype简单描述下:1. 在源服务器里面把Canonical Partner Repository选上2. 然后直接sudo apt-get install skype,就可以了。Since Ubuntu 10.04 (Lucid Lynx), Skype is part of the Canonical partner repository. To i...
2011-03-17 12:22:00 43
DB2数据库还原故事 — Ubuntu篇
背景公司内部测试用服务器CentOS,本地虚拟机Ubuntu10。开始从生产服务器拿到一个备份,准备弄到本地做测试,这个还原实验进行了很久,开始是比较顺利的。后来就一直卡在一个db2 connect to上,每次连接都会显示下面的错误:db2 connect to our_database-- SQL0901N The SQL statement failed because of ...
2011-03-15 21:00:00 118
ubuntu find whereis locate find
which 只能寻找执行文件 ,并在PATH变量里面寻找。 whereis 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。 locate 同上,不过文件名是部分匹配。 find 是直接在硬盘上搜寻,功能强大,但耗硬盘,一般不要用。...
2011-03-15 18:49:00 47
ubuntu whatis
在用到whatis ,有时候无输出,显示appropriate之类的。通过如下脚本可以解决该问题。ubuntu 默认没有该脚本。#!/bin/sh# Generated automatically from makewhatis.in by the# configure script.##!/bin/sh# makewhatis: create the whatis dat...
2011-03-15 18:47:00 127
ubuntu 查询 修改 时间
ubuntu 查询 修改 时间date用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]以给定的格式显示当前时间,或是设置系统日期。-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间-f,--file=日期文件 类似--date,从日期文件中按行读入...
2011-03-15 18:46:00 76
结构struct 联合Union和枚举Enum的细节讨论
联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换。联合体对象在同一时间只能存储一个成员的值。联合的内存大小取决于其中字节数最多的成员,而不是累加,联合也会进行字长对齐。在定义联合变量的时候可以指定初始值,但是只能制定一个初始值(测试过似乎无法设置初值),而且该初始值的类型必须与...
2011-03-15 17:45:00 49
结构struct 联合Union和枚举Enum的细节讨论
联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换。联合体对象在同一时间只能存储一个成员的值。联合的内存大小取决于其中字节数最多的成员,而不是累加,联合也会进行字长对齐。在定义联合变量的时候可以指定初始值,但是只能制定一个初始值(测试过似乎无法设置初值),而且该初始值的类型必须与...
2011-03-15 17:45:00 64
个人源码管理:如何在本机配置自己的SVN Repository (图解)
Repository 即源码的集中存放处,所有修改后提交的源码就是保存在这里,并在其中记录所有的修改版本,分支版本,版本合并,以及并发修改处理等。SVN最主要的功能是用于团队开发时用的,用于处理源码修改的版本控制和并发修改冲突。对于个人开发来说,虽然不存在并发修改冲突的问题,但个人源码可以使用到SVN的版本控制功能,以便找到开发过程中的版本记录。一般个人没有条件也没必要搭一个独立的服务器来做Rep...
2011-03-13 05:01:00 91
2011年3月15日 浅草游记
2011年3月15日 浅草游记1. 前言 就要快回去了,想着给亲戚带些什么礼物,想来想去,东京卖小礼物最多的就是浅草寺。 从我这边过去到浅草不太好走,三田线坐到春日,转大江户线去藏前,然后再转浅草线去浅草。2. 浅草线车站出口的模样3. 浅草寺门口最具有标志性的雷门。门口基本上全是外国旅游团,其中以中国人居多。。。...
2011-03-12 10:01:00 41
c++ 虚函数 工作机制 原理( virtual function )
/**晚上花了几个小时翻译了下,第一次翻译这么长的文字;挺累呀,翻译的很多地方也不算通顺,权当自娱自乐了。*版权所有 xt2120#gmail 谢绝转载*/c++ 虚函数 原理 机制 c 虚函数表 表指针 上个月,我介绍了虚拟函数。我概述了如何使用虚拟函数来实现一个设备无关的文件系统,并详细描述了如何创建一个具...
2011-03-12 00:06:00 46
地震频繁
<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGri
2011-03-11 23:05:00 75
Android学习笔记(九):Activity-RelativeLayout
指定widget在container的相对位置,包括:android:layout_alignParentTop, android:layout_alignParentBottom, android:layout_alignParentLeft, android:layout_alignParentRight, android:layout_centerHorizontal, android:...
2011-03-09 16:57:00 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人