摘要:想深入学习一下java logging api。网上资料不多。于是翻译了一下jdk的文档。4级都没有过的人的处女翻译作品。轻拍。如果无法忍受。请移步原文。http://docs.oracle.com/javase/6/docs/technotes/guides/logging/overview.html一、概述控制流概述应用程序向记录器(Logger)对象发起logging请求。记录器按照命名空间被组织成层级关系,子记录器可以从他们的祖先记录器中继承一些logging属性。记录器对象向每一个可见的处理器(Handler)对象分发日志记录(LogRecord)。记录器和处理器都可以用日志级别(L 阅读全文
posted @ 2012-05-08 20:15 咖啡不苦 阅读 (481) 评论 (0) 编辑
摘要:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实作出来,且在大部分真实世界的资料,可以决定设计的选择,减少所需时间的二次方项之可能性。设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。然后分别递归的排序关键数据前面和后 阅读全文
posted @ 2012-03-21 14:35 咖啡不苦 阅读 (318) 评论 (0) 编辑
摘要:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。复杂度分析选择排序的交换操作介于和次之间。选择排序的比较操作为次之间。选择排序的赋值操作介于和次之间。比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+...+1=n*(n-1)/2。 交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。 交换次数比冒泡排序少多了,由于交换所需CPU 阅读全文
posted @ 2012-03-13 12:10 咖啡不苦 阅读 (185) 评论 (0) 编辑
摘要:冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序对个项目需要O()的比较次数,且可以原地排序。尽管这个算法是最简单了解和实作的排序算法之一,但它对于少数元素之外的数列排序是很没有效率的。冒泡排序是与插入排序拥有相等的执行时间,但是两种法在需要的交换次数却很大地不同。在最坏的情况,冒泡排序需要次交换,而插入排序只要最多交换。冒泡排 阅读全文
posted @ 2012-03-11 18:35 咖啡不苦 阅读 (269) 评论 (0) 编辑
摘要:最近在找工作,常被问到:“你认为最理想的工作是什么样的?”。在面试条件下,可能由于内心希望给面试官好的印象,或考虑不够成熟。每次回答,每次事后回想都觉得不太对劲。静下来想想,我认为以下几点对程序员的工作来说是比较重要的。一、优秀的团队成员古语有云:近朱者赤近墨者黑。 和什么样的人在一起久了,你就会变成什么样的人。如果你想成为“牛人”。那和“牛人”一起工作吧。而“牛人”一般都出没于“牛”的公司。二、富有挑战性的工作假如,你和你所在的团队的成员都非常优秀,但你们的工作都是一些劳动密集型的事务。那如何发挥你们的优秀才能。所谓的海量数据处理,如果你都没有海量数据的问题,还谈什么处理?富有挑战的工作.. 阅读全文
posted @ 2012-01-31 22:51 咖啡不苦 阅读 (1027) 评论 (0) 编辑
摘要:首先声明,我对什么加密解密,公钥私钥啊就是一小白。在看支付宝接口的时候,突然心生一疑问:与接口通讯中如何保证不被窃取和篡改?不懂~求解释。下面是一个典型的支付宝接口方式。去支付宝申请接口权限,然后他会给你一个“partnerId” 和一个 “privateKey”。然后请求某个接口的时候应该是这样的: serviceURI+msg&partnerId=partnerId&sing=MD5(msg+partnerId+privateKey);就是说你的报文和partnerId是明文的,然后用你要发送的报文+你的partnerId+你的privateKey做MD5运算,产生签名。同 阅读全文
posted @ 2011-12-31 10:16 咖啡不苦 阅读 (3080) 评论 (3) 编辑
摘要:从taobao面试失败回来就想写篇文章分析一下,也算给自己一个交待吧。一直拖着,今天周末,写出来吧。不然我怕因为自己的惰性就要不了了之了。 先说一下事情经过。由于现在工作不顺心,想换一份靠谱点的。但我自己又没有什么靠谱的门路。最终一个朋友把我的简历推到了淘宝。因为我的简历其实比较不给力。当时也没抱太大希望。但推得朋友很给力。还是给我争取到了面试机会。接到面试通知时还是有些激动的。然后就稍微准备了一下诸如“JAVA面试题”,准备了一下诸如查找、排序什么的算法。然后就去了。以为应该会有个笔试什么的,结果没有。第一面是一个P8的“技术专家”面的,也就是通常意义上的技术面。面试官不错。没有问一些... 阅读全文
posted @ 2011-12-11 20:37 咖啡不苦 阅读 (2103) 评论 (0) 编辑
摘要:关于单例模式的文章,其实网上早就已经泛滥了。但一个小小的单例,里面却是有着许多的变化。网上的文章大多也是提到了其中的一个或几个点,很少有比较全面且脉络清晰的文章,于是,我便萌生了写这篇文章的念头。企图把这个单例说透,说深入。但愿我不会做的太差。 首先来看一个典型的实现: 1 /** 2 * 基础的单例模式,Lazy模式,非线程安全 3 * 优点:lazy,初次使用时实例化单例,避免资源浪费 4 * 缺点:1、lazy,如果实例初始化非常耗时,初始使用时,可能造成性能问题 5 * 2、非线程安全。多线程下可能会有多个实例被初始化。 6 * 7 * @author laiche... 阅读全文
posted @ 2011-12-05 15:32 咖啡不苦 阅读 (14980) 评论 (7) 编辑
摘要:显然,这个问题不是我第一个遇到。已经有一些人做了研究了。但我发现这种方式在spring 3.1.0依然不行。没有小心跟踪源码。也没能给出方案,自己还是换回3.0.5了。3.1.0返回的是Content-Type:text/plain;charset=ISO-8859-1。而3.0.5则能返回Content-Type:text/plain;charset=utf-8 阅读全文
posted @ 2011-10-26 14:26 咖啡不苦 阅读 (1341) 评论 (0) 编辑
摘要:借这篇文章理清一下自己的思路,同时也希望能给和我同样一知半解的同学理清一下思路。 引发思考来自于我犯的一个错误,错误代码是这样的:[代码]结果不用说,当然是报错的。遗憾的是我以前一直以为var o = { }是定义了一个叫做o的类。然后自己理了一下。得出一下结论:  var o = {}; 等价于 var o = new Object(); 但不等价于 var o = function(){}; ... 阅读全文
posted @ 2010-09-25 15:07 咖啡不苦 阅读 (323) 评论 (1) 编辑
摘要:3.3 阴影对img-wrapper使用阴影图片作为背景,再用负的空白边移动图片,造成阴影的效果。这涉及到一些细节问题在注释上体现<div class="img-wrapper"><img src="dunstan.jpg" width="300"?height="300" alt="Dunstan Orchard" /></div>.img-wrapper {... 阅读全文
posted @ 2010-03-09 13:00 咖啡不苦 阅读 (270) 评论 (0) 编辑
摘要:2.2 圆角框1、固定宽度的圆角可以用上下两个背景图片实现。 顶部的背景图片运用到h1上,底部的运用到div.box上。可以加上padding来控制内容显示的区域。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1<h3>固定宽度,高度自适... 阅读全文
posted @ 2010-03-06 10:13 咖啡不苦 阅读 (317) 评论 (0) 编辑
摘要:第三章 背景图像和图像替换 3.1 背景图像基础1、background属性全写格式:background:#FFFFFF url("imgUrl") repeatOption horizontalPosition verticalPosition; a.#FFFFFF 十六进制表示的背景颜色; b.url("imgUrl") 用相对或绝对路径指定背景图片 c.repeatOption 重复选项,... 阅读全文
posted @ 2010-03-06 09:31 咖啡不苦 阅读 (1256) 评论 (3) 编辑
摘要:2.2 定位概述1、在使用相对定位(relative)时,不论元素是否移动,它仍然占据其原有空间。2、相对定位被看作是普通文档流的一部分。元素的位置相对于他在普通流中的位置。3、绝对定位(absolute)使元素的位置与文档流无关,不占据空间,文档流中的元素就像绝对定位的元素不存在一样。4、绝对定位元素的位置相对于和他最近的已经定位的祖先元素。在相对定位的容器里进行绝对定位很有用,比容下拉菜单等。... 阅读全文
posted @ 2010-03-05 08:42 咖啡不苦 阅读 (653) 评论 (0) 编辑
摘要:第二章:可视化格式模型 2.1 框模型概述1、框模型:在页面上的每一个元素被看做是一个矩形的框。这个框由元素的内容(content),填充(padding),边框(border)和空白边(margin)组成。2、元素的width和height指的是元素的内容区域的宽度和高度。 实际宽度=marginLeft+borderLeft+paddingLeft+width+paddingRight+bor... 阅读全文
posted @ 2010-03-04 13:29 咖啡不苦 阅读 (451) 评论 (0) 编辑