现在位置: 首页 > abatement发表的所有文章
  • 05月
  • 09日
综合 ⁄ 共 9706字 评论关闭
散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 比如我们存储70个元素,但我们可能为这70个元素申请了100个元素的空间。70/100=0.7,这个数字称为负载因子。我们之所以这样......
阅读全文
  • 10月
  • 19日
综合 ⁄ 共 6472字 评论关闭
                  作者:zuoxiaolong8810(左潇龙),转载请注明出处。                   各位好,我们本次接着讨论第八个设计模式,适配器模式。                   适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式。                   另外从使用目的上来说,也可以分为两种,特殊适配器和缺省适配器,这两种的区别在于使用目的上的不同,一种为了复用原有的代码并适配当前的接口,一种为了提供缺省的实现,避免子类需要实现不该实现的方法。   ......
阅读全文
  • 08月
  • 17日
综合 ⁄ 共 4713字 评论关闭
写出漂亮代码的七种方法 首先我想说明我本文阐述的是纯粹从美学的角度来写出代码,而非技术、逻辑等。以下为写出漂亮代码的七种方法: 1, 尽快结束 if语句 例如下面这个JavaScript语句,看起来就很恐怖:  Java代码   1 function findShape(flags, point, attribute, list) {      2    if(!findShapePoints(flags, point, attribute)) {      3        if(!doFindShapePoints(flags, point, attribute)) {      4            if(!findInShape(flags, point, attribute)) {      5                if(!findFromGuide......
阅读全文
  • 05月
  • 21日
综合 ⁄ 共 4316字 评论关闭
一、准备工作:        首先,你要确定你下载的文件,是存放在服务器中还是存在数据库中,一般存在数据库中的都是比较大的项目,我们常用的就是将文件保存在服务器中,下面就是我关于存在在服务器中文件的下载。   其次,你要准备Struts 2的jar包,创建一个工程,导入jar包,配置好Struts 2,这都是很简单的了,不需要我在详细配置了,O(∩_∩)O~   二、下载   1、web代码: 一帮都经常是一个超链接,就可以下载了,我们现在也模拟此功能,代码如下: <a href="download_downloadAction.action">Struts2下载测试</a>  ......
阅读全文
  • 02月
  • 15日
综合 ⁄ 共 7336字 评论关闭
(中国大陆著名杀毒软件公司J2007年面试题) 题目:一个字符串中可能包含a~z中的多个字符,如有重复,如String data="dwsiqwksoqsmwqiswqwswqswqs",求出现次数最多的那个字幕及次数,如有多个重复则都求出。 分析:笔者拿到看到该题后,有多种思路涌现出来,比如我们可以创建一个长度为26的数组,用来记录每个字符出现的次数,fine,类似这样的思路我想大家应该都可以想到(笔者以前做过一个,是通过ArraylIst实现的)。下面的一个思路是从《Java程序员面试宝典》(第二版)(欧立奇,刘洋,段韬)这本书上看到的,很值得学习。......
阅读全文
  • 11月
  • 23日
综合 ⁄ 共 2489字 评论关闭
Closest Common Ancestors Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 7415   Accepted: 2360 Description Write a program that takes as input a rooted tree and a list of pairs of vertices. For each pair (u,v) the program determines the closest common ancestor of u and v in the tree. The closest common ancestor of two nodes u and v is the node w that is an ancestor of both u and v and has the greatest depth in the tree. A node can be its own ancestor (for example in......
阅读全文
  • 11月
  • 15日
综合 ⁄ 共 213字 评论关闭
1.Javap工具主要是帮助开发者深入了解java编译器的机制 其语法格式如下:   javap <options> <classes>.... 该工具支持如下的常用选项: -c:分解方法代码,也就是显示每个方法具体的字节码 -l:用于指定显示行号和局部变量列表 -public|protected|package|private:用于指定显示哪种级别的类成员,分别对应java的4种访问控制权限 -verbose:用于指定显示更进一步的详细信息
阅读全文
  • 10月
  • 28日
综合 ⁄ 共 5906字 评论关闭
使用cronolog轮循(rotating)Tomcat日志 一、本文基于的环境: 操作系统:Linux(redhat)、Windows(XP、2003) JDK版本:j2sdk<?xml:namespace prefix = st1 />_04 Tomcat版本:tomcat- Cronolog版本:cronolog-.tar.gz                      cronolog--win32.zip 本文修改后的tomcat都是按日保存日志文件,文件格式如:catalina..out 二、cronolog的简介(下载cronolog) Cronolog是一款日志轮循(rotation)工具,可以用它来把Apache、Tomcat等Web服务器上输出的日志切分成按日或月保存的文件。 Cronolog从标准输入中......
阅读全文
  • 10月
  • 27日
综合 ⁄ 共 490字 评论关闭
在使用swt 的dialog的时候(不是jface的dialog),用了eclipse的向导生成的,然后对话框有一个父窗口 构造函数如下 public MyDialog(Shell parent, int style) { super(parent, style); } 生成的代码中 MyDialog有一个属性shell,当我想关闭这个对话框的使用,我使用了 shell.dispose() 然后发现,它的父窗口也一同关闭了…… 后来研究了下代码,发现构造函数中的parent最终是赋给了属性shell。所以调用shell.dispose()的使用,相当于调用了this.getParent.dispose() 所以父窗口就一同关闭了。 为了解决这个问题。修改......
阅读全文
  • 10月
  • 12日
综合 ⁄ 共 1801字 评论关闭
对于多个非阻塞I/O,怎么知道I/O何时已经处于可读或可写状态? 如果采用循环一直调用write/read,直到返回成功,这样的方式成为轮询(polling)。大多数时间I/O没有处于就绪状态,因此这样的轮询十分浪费CPU。 一种比较好的技术是使用I/O多路转接,也叫做I/O多路复用。其基本思想为:先构造一个有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已经准备好进行I/O时,该函数才返回。在返回时,它告诉进程哪些描述符已经准备好可以进行I/O了。 有3个函数poll、pselect、select可以使我们能够执行I/O多路转接。POSIX标准......
阅读全文
  • 09月
  • 16日
综合 ⁄ 共 953字 评论关闭
1:     auto s = Director::getInstance()->getWinSize();     auto draw = DrawNode::create();     this->addChild(draw);     for (int i = 0; i < 10; i++) {         draw->drawDot(Vec2(s.width*0.5,s.height*0.5), 10*(10-i),  Color4F(CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1(), 1));     } 2: void HelloWorld::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) {     _customCommand.init(1);     _customCommand.func = CC_CALLBACK_0(HelloWorld::onDraw,this,transform......
阅读全文
  • 10月
  • 07日
综合 ⁄ 共 1180字 评论关闭
取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3563    Accepted Submission(s): 1790 Problem Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。   Input 输入包含若干行......
阅读全文