Welcome 微信登录

首页 / 软件开发 / JAVA

dySE:一个Java搜索引擎的实现,第2部分 网页预处理

dySE:一个Java搜索引擎的实现,第2部分 网页预处理

dySE:一个Java搜索引擎的实现,第2部分 网页预处理2010-11-20 IBM 董宇在 上一部分 中,您了解到如何编写一个 spider 程序来进行网页的爬取, 作为 spider 的爬取结果,我们获得了一个按照一定格式存储的原始网页库,原 始网页库也是我们第二部分网页预处理的数据基础。网页预处理的主要目标是将 原始网页通过一步步的数据处理变成可方便搜索的数据形式。下面就让我们逐步 介绍网页预处理的设计和实现。预处理模块的整体结构预处理模块的整体结...
借助BeanKeeper快速实现对象持久化

借助BeanKeeper快速实现对象持久化

借助BeanKeeper快速实现对象持久化2010-11-20 IBM 罗后启引言NetMind BeanKeeper 是一个开源的 java 对象 / 关系数据库映 射框架,它可以帮助用户快速将对象保存到关系数据库中,同时它也支持自定义 地查询和事务,可以满足用户在各种应用场景的需求。它最大的特点就是简单, 无需配置。同时,它是纯 Java 的,也支持 HSQLDB 和 MySQL 等多种关系。本文将介绍 BeanKeeper 的基本原理和架构,并将其同...
基于JDT的JAR源代码搜索

基于JDT的JAR源代码搜索

基于JDT的JAR源代码搜索2010-11-20 IBM 魏强 王芹华 邵兵引言Eclipse 为程序员提供了强大的文本搜索功能,程序员可以方便 的在工作空间中搜索到需要的 JAVA 代码或者文本。但是有时候,程序员希望在 .class 文件源码或者普通文本文件中搜索某个字符串,而这些文件包含于 Jar 文件中,此时 Eclipse 就无法满足要求。比如,用户试图寻找 UI 上显示的某 字符串的定义位置,这就需要在 Jar 文件内的普通文本文件 , 以及 ...
关于Java对象序列化您不知道的5件事

关于Java对象序列化您不知道的5件事

关于Java对象序列化您不知道的5件事2010-11-20 IBM Ted Neward数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会 到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处。大约一年前,一个负责管理应用程序所有用户设置的开发人员,决定将用户 设置存储在一个 Hashtable 中,然后将这个 Hashtable 序列化到磁盘,以便持 久化。当用户更改设置时,便重新将 Hashtable 写到磁盘。这...
使用RSA V7.5中的UML-to-JPA转换加速JPA开发

使用RSA V7.5中的UML-to-JPA转换加速JPA开发

使用RSA V7.5中的UML-to-JPA转换加速JPA开发2010-11-20 IBM 赵勇 黄若波 任静安本文介绍 Rational Software Architect(RSA)V7.5 中最新的 UML-to-JPA 转换,它允许使用者在 UML 对象模型上进行 JPA 配置和数据模型设计,并能快 速生成带 JPA 注解的 Java 类,可以将开发人员从频繁的重复工作中解放出来 。当在 O/R Mapping 开发过程中因需求变化而带来模型和代码...
扩展JDT实现自动代码注释与格式化

扩展JDT实现自动代码注释与格式化

扩展JDT实现自动代码注释与格式化2010-11-20 IBM 孟潇 邵兵 王芹华引言源代码注释是对代码的解释和说明。代码注释可以有效帮助程序 员规划未完成的代码任务,减少阅读和理解陈旧代码的时间成本,辅助定位可能 产生错误的代码等,尤其在开发人员流动较大的情况下,代码注释的良莠直接关系到工作交接的执行效率甚至整个开发周期的时间和质量控制。清晰的代码规范和详细准确的代码注释已经成为评估软件源代码质量的重要参考标准之一。Eclipse 作为目前最优秀的 Ja...
世界robocode机器人的四大运动方式分析

世界robocode机器人的四大运动方式分析

世界robocode机器人的四大运动方式分析2010-11-29 IBM iiley前言Robocode 在短短的时间内风靡全球,全世界的robocode爱好者 设计出了大量的优秀智能机器人,他们都拥有各自的运动方式,有的很容易被击 中,有的却很难射击。设计一个好的运动方式是优秀robocode机器人取胜的关键 。上届世界中级组冠军Fermat就是靠他让敌人难以琢磨的运动躲过敌人一发发的 子弹而取得胜利。(当然,他的优秀的瞄准射击也是取胜的关键)怎样的运动...
Robocode高手的秘诀 - 圆周瞄准

Robocode高手的秘诀 - 圆周瞄准

Robocode高手的秘诀 - 圆周瞄准2010-11-29 IBM Alisdair Owens这篇小技巧会让您深入理解圆周瞄准的工作原理。我们会从讨论基本技巧的工作原理开始,接着阐释一个简单的迭代,它能显著提高准确性。我还提供 源 代码,它很容易适应在您自己的机器人中工作。工作原理计算做圆周运动的机器人的 change in x(x 方向上的变化)和 change in y(y 方向上的变化)的伪码相当简单,假定您以弧度为单位进行计算:change i...
Robocode高手的秘诀 - 因数避墙法(factored wall avoidance)

Robocode高手的秘诀 - 因数避墙法(factored wall avoidance)

Robocode高手的秘诀 - 因数避墙法(factored wall avoidance)2010-11-29 IBM David McCoy我们只要对在 Tracking your opponents" movement中做的机器人加以补充 ,就能将因数避墙法添加到现有的或讨厌的移动中。这种方法将预想的方向 和根据机器人和墙之间距离远近确定的安全方向作为因数试图找到最可能的方向 。添加做常见数学计算的辅助方法我们先要给机器人添加常见数学算法使用的一些辅...
在Robocode中使用Vector实现敌人列表

在Robocode中使用Vector实现敌人列表

在Robocode中使用Vector实现敌人列表2010-11-29 IBM 羌狼前言RoboCode的混战模式中,如何更好的掌握多个对手的情况,从而采取更好的 策略,成为每一个玩家迫切需要解决的问题。而世界级的机器人大都采用了向量 (vector)数组的方式来保存多个对手的信息。而且vector的作用不止于此,上届世界冠军Yngwie还使用vector来保存子弹 的命中率信息,为更好的决策提供依据。当然这超出了我们今天的话题,有兴趣 的朋友可以看一下Yn...
Robocode基本原理之方向剖析

Robocode基本原理之方向剖析

Robocode基本原理之方向剖析2010-11-29 IBM Skyala.Li很多研究Robocode的 玩家都被其中的方向及坐标弄糊涂了。下面就跟着 Skyala.Li一起来揭开其中的奥妙。前言:很多研究Robocode的 玩家都被其中的方向及坐标弄糊涂了。下面就跟着 Skyala.Li一起来揭开其中的奥妙。首先我们来看看一段英文的翻译及说明:heading - absolute angle in degrees with 0 facing up t...
Robocode基本原理之坐标锁定

Robocode基本原理之坐标锁定

Robocode基本原理之坐标锁定2010-11-29 IBM 天翼.李Skyala.Li导论前面我们了解了Robocode中的绝对方向,相对方向及整个方向系统。相信大 家对此深有体会了。但是问题又来了,单知道方向似乎不能完全达到了解敌人的 目的。怎样去探测敌人的距离?怎样精确的锁定目标呢?对于移动中的目标我们 又如何处理?在这里我们将利用Java.lang 基本类库中的Math类及一些基本三角 函数方法为你揭开这些迷雾。对于那些快被遗忘的三角几何知识在本...
Robocode高手的秘诀 - 躲避子弹

Robocode高手的秘诀 - 躲避子弹

Robocode高手的秘诀 - 躲避子弹2010-11-29 IBM Jae Marsh在我向您展示这一技巧之前,您必须了解 Robocode 的一些基础知识。首先 ,它攻击和防守使用的是一个能量仓。这就带来了有趣的博弈决定:您必须决定 何时使用能量向对手开炮,何时保存能量以应付可能的损失。其次,机器人对于周围环境的了解非常有限。它可以知道其它机器人的距离 、方位、方向、速度和能量等级。但是,它看不到子弹,不过也许根据这些线索 ,您可以猜想如何发现其它机器...
Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST2010-11-29 IBM Andrew Glover目前为止,本专栏 系列 已经探究了 Google 和 Amazon 平台中的云计算。 虽然它们在实现和结构上存在不同,但两种平台都支持快速和可扩展的部署方式 。它们可以快速经济地组装、测试、运行和维护 Java 应用程序,这无疑是前所 未有的。但是,云并不是影响如今 Java 开发速度的唯一因素。开源解决方案还 ...
模块化Java:动态模块化

模块化Java:动态模块化

模块化Java:动态模块化2010-11-29 infoq 译:宋玮在前一篇文章《模块化Java:静态模块化》中,我们讨论了如何构建Java模 块并将其作为一个单独的JAR进行部署。文中的例子给出了一个client和一个 server bundle(两者在同一个VM中),client通过工厂方法找到server。在该 例子中,工厂实例化了一个已知类,当然也可以使用反射来获取一个服务实现; Spring就是大量运用这种技术把spring对象绑定在一起的。在我...
模块化Java:声明式模块化

模块化Java:声明式模块化

模块化Java:声明式模块化2010-11-29 infoq 译:宋玮前一篇文章,《模块化Java: 动态模块化》描述了如何通过使用服务 (service)给应用程序带来动态模块化特性。它们是通过输出的一个(或多个 )可以在运行时被动态发现的接口而实现的。尽管这种方式使得client和server 完全解耦,但是又带来一个如何(何时)启动服务的问题。启动顺序在彻头彻尾的动态系统里,服务不仅可以在系统运行的时候装卸,还可以以 不同的顺序启动。有时,这是个大问...
用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE2010-11-29 IBM Michael Galpin成为一名 Web开发人员恰逢其时。从来不曾像现在一样有如此多的技术选择 。大量优秀的开源 Web 服务器、数据库、和开发框架供您使用。无论 您希望使用哪种技术组合,都存在可以提高生产力的集成开发环境 (IDE): Eclipse。本教程是三部分系列教程 “Web development with E...
<< 351 352 353 354 355 356 357 358 359 360 >>