`
裴小星
  • 浏览: 260204 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8ccf5db2-0d60-335f-a337-3c30d2feabdb
Java NIO翻译
浏览量:27503
F3e939f0-dc16-3d6e-8c0b-3315c810fb91
PureJS开发过程详解
浏览量:71523
07a6d496-dc19-3c71-92cf-92edb5203cef
MongoDB Java ...
浏览量:61770
社区版块
存档分类
最新评论
文章列表
PandaJS: Rhino + MongoDB + Server-side JQuery Template   PandaJS 是基于 Rhino、MongoDB、Server-side jQuery Template 的 JS 编程工具包,目标是使用更一致的方式编写客户端和服务器端的 js 代码。它采用嵌入式的 Jetty 作为 Web Server,依赖于 Java 7。   PandaJS 在服务器端的页面渲染也采用 JQuery Template 的语法,而数据库操作接口的语法与 Mongo Shell 上直接执行的原生语法非常接近。这使得我们可以在服务器端和客户端共用页面渲染代码, ...
JAVA NIO 全书 译稿      前言      本书介绍了Java平台上的高级输入/输出,具体点说,就是使用Java 2标准版(J2SE)软件开发包(SDK)1.4及以后版本进行的输入/输出。J2SE 1.4版代号Merlin,包含可观的I/O新特性,对此我们将作详细论述。这些新的I/O特性主要包含在java.nio软件包及其子包中,并被命名为New I/O(
  (以下分析针对的是 nutch 1.4)   Crawl 类是运行抓取程序的入口,代码不多,但关联的其他类不少。   抓取的流程是:   1. 将初始的 URL 地址注入到 crawlDb   2. 从crawldb中生成一个url的子集用于抓取   3. 抓取网页   4. 分析网页   5. 更新 crawlDb ,增加新抓取的 url   6. 循环执行 2-5 步,直到达到指定的抓取深度   之后,还需要进行链接反转,将索引导入到 solr 等。   Crawl 类的声明如下: public class Crawl extends Configured implem ...
  在之前的源代码分析中我们经常遇到神秘的 OutMessage 类的实例,并调用它的 writeInt,query 等方法与 MongoDB 数据库进行交互。   但 OutMessage 继承了 BSONEncoder 类,而 BSONEncoder 的 writeInt 等方法实际上是委托给 OutputBuffer 类的实 ...
  GridFSFile 类表示 GridFS 中的文件的信息,它是一个抽象类,分别被 GridFSDBFile (表示从数据库中读取的文件) 和 GridFSInputFile(表示将要保存到数据库中的文件 ) 继承。   GridFSFile 类包含下列属性(相应地有一系列的  get 方法) Object _id; // 文件的唯一标识 String _filename; // 文件的名称 String _contentType; // 文件内容类型 long _length; ...
  GridFS 类在 com.mongodb.gridfs 包中的地位类似于 Mongo 类在 com.mongodb 包的作用,主要是提供对外的接口。   它的各个方法是分别委托给不同的类执行的,尤其是 DBColletion 类的实例 _filesCollection  和 _chunkCollection 。   我们先看看它的构造函数: /** * 在数据库中为指定的 bucket 创建 GridFS 实例 * bucket 可以认为是标识符,用于区分不同的 GridFS 的实例,类似于传统数据库中的不同表 * 默认的 bucket 是 ...
  com.mongodb 是 MongoDB Driver 核心类所在的包。其中 Mongo 类是整个 Driver 的入口点。   下面列出之前对这个包中的几个主要类的介绍:   Mongo 表示一个数据库实例,可能包含多个 Server 。   http://xxing22657-yahoo-com-cn.iteye.com/blog/1236186   DB 表示一个数据库连接。   http://xxing22657-yahoo-com-cn.iteye.com/blog/1291183   DBApiLayer 继承 DB 类。DB 操作的底层实现,通过 Mongo 对 ...
  DBPort 是表示数据库端口的类,分别用 call 和 say 方法实现读取和写入操作。   这两个方法都调用了 go 方法。 // 读取操作 Response call( OutMessage msg , DBCollection coll ) throws IOException { return go( msg , coll ); } // 写入操作 void say( OutMessage msg ) throws IOException { go( ms ...
  RelicaSetStatus 用于读取集群中的服务器节点的信息。   getMaster 方法和 getASecondary 方法分别可用于以获取 master 节点和 secondary 节点。   内部类 ReplicaSetStatus.Node 包含了节点的状态信息,内部类 ReplicaSetStatus.Node.Updater 用于实例化一个定时更新节点状态的线程。   getMaster 方法和 getASecondary 方法分析如下: // 获取 master 服务器地址 ServerAddress getMaster(){ ...
  DBAPILayer 继承了抽象类 DB ,主要借助内部类 DBApiLayer.MyCollection 实现具体的数据库操作。 DB 类的介绍可以参考:http://xxing22657-yahoo-com-cn.iteye.com/blog/1291183 借助 DBApiLayer.MyCollection 实现增删改查   DBApiLayer.MyCollection 继承了抽象类 DBCollection,具体实现了增删改查操作。 DBCollection 类的介绍可以参考之前的文章:http://xxing22657-yahoo-com-cn.iteye.com/blog ...
  DBTCPConnecror 是对 DBPort 类的封装,借助 DBPort 实现读写操作、获取服务器状态等。 say 方法和 call 方法   DBTCPConnecror 类中比较值得分析的是 say 方法和 call 方法的实现: // 执行写操作 WriteResult say( DB db , OutMessage m , WriteConcern concern , ServerAddress hostNeeded ) // 执行读操作 Response call( DB db , DBCollection coll , OutMessage m , Serve ...
DB 表示数据库连接,是一个抽象类,部分核心功能由子类提供,由 DBApiLayer 继承。 由子类实现的抽象方法 // 开始数据库连接 public abstract void requestStart(); // 结束数据库连接 public abstract void requestDone(); // 保持数据库连接 public abstract void requestEnsureConnection(); // 获取指定名称的数据集 protected abstract DBCollection doGetCollection( String name ); ...
  DBCurosr 是 DBCollection 的 find 方法返回的对象,可以设置 skip、limit 等属性之后,执行查询,得到查询结果,   用法如下: List<DBObject> obj = collection.find( query ).skip( 1000 ).limit( 100 ).toArray();   DBCursor 类的方法可以可 ...
  DBCollection 是表示数据集合的抽象类,它的实现可以简单地分为两类:   一类是抽象方法,由子类(DBApiLayer.MyCollection)实现;   另一类委托给类型为 "DB" 的属性 _db,_db 实际上是 DBApiLayer 类的实例(DBApiLayer 继承抽象类 DB);   因此,DBCollection 类是实现细节与 DBApiLayer 关系密切。   DBApiLyer 的实现细节我们将在后续文章中进行详细的描述,本文主要探讨两者之间的联系。 由子类实现的方法   以下方法是由子类实现的,这些将在介绍 DBApiLayer ...
  Mongo 表示一个数据库实例,可能包含多个 ServerAddress 和多个 DB。   本文将介绍 Mongo 类中的三个重要方法:构造方法,获取所有数据库的名称,通过名称获取指定的数据库 构造方法   实现如下: // 构造方法 // replicaSetSeeds 所有 Server 的地址 // options 默认的查询设置 public Mongo( List<ServerAddress> replicaSetSeeds , MongoOptions options ) throws MongoException { // 设置 ...
Global site tag (gtag.js) - Google Analytics