`
zhaoshg
  • 浏览: 260348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
  转自http://blog.csdn.net/hbcui1984/archive/2007/04/02/1549290.aspx 一、串行化的概念和目的 1.什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力,叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。串行化的主要任务是写出对象实例变量的数值。如果变量是另一对象的引用,则引用的对象也要串行化。这个过程是递归的, ...
转自高维鹏的专栏 在网上看了一篇外文文章,里面介绍了提高Lucene索引速度的技巧,分享给大家。先来看下影响索引的主要因素: MaxMergeDocs该参数决定写入内存索引文档个数,到达该数目后就把该内存索引写入硬盘,生成一个新的索引segment文件。所以该参数也就是一个内存buffer,一般来说越大索引速度越快。MaxBufferedDocs这个参数默认是disabled的,因为Lucene中还用另外一个参数(RAMBufferSizeMB)控制这个bufffer的索引文档个数。其实MaxBufferedDocs和RAMBufferSizeMB这两个参数是可以一起使用的,一起使用时只要有 ...
1 lucene简介1.1 什么是luceneLucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么要回答这个问题,先要了解lucene的 ...
log4j.properties 使用   一.参数意义说明 输出级别的种类 ERROR、WARN、INFO、DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息 配置日志信息输出目的地 log4j.appender.appenderName = fully.qualified.name.of.appender.class 1.org.apache.log4j.ConsoleAppender(控制台) 2.org.apache.log4j.FileA ...
1.准备工作包括JDK 5+、MySQL 5.x和Maven 2.1.0。Maven的环境变量配置:新建变量名为“M2_HOME”,路经为Maven根目录的环境变量,然后在Path中添加“;%M2_HOME%\bin”。如果你不想在线下载工程的依赖包,可以到appfuse-dependencies-2.0.2.zip下载,然后解压,并且将maven目录下conf文件夹下的settings.xml的localRepository变量设置为你刚刚解压的路径如C:\Docume~1\%username%\.m2\repository 2. 创建工程接下来我们习惯性的想要去寻找AppFuse的工程源码 ...
对于并发,Lucene 遵循以下规则: 1. 允许任意多的读操作并发,即任意数量用户可同时对同一索引做检索操作。 2. 即便正在进行索引修改操作(索引优化、添加文档、删除文档),依然允许任意多的检索操作并发执行。 3. 不允许并发修改操作,也就是说同一时间只允许一个索引修改操作。 Lucene内部已经对多线程安全进行了处理,很多操作都使用了 lock 进行多线程同步锁定。只要遵循一定的规则,就可以在多线程环境下安全运行 Lucene。 方案一: 建议: 1. Directotry、Analyzer 都是多线程安全类型,只需建立一个 Singleton 对象即可。 2. 所有线程使用同 ...
Chap5 专题:Java语言的接口 5.1 What? 是一些方法特征的集合,这些方法特征来自于具体方法,但他们一般都是来自于一些在系统中不断出现的方法。一个接口只有方法的特征,而没有实现,所以这些方法在不同的地方被实现时,可以具有完全不同的行为。 5.2 Why? 没有接口会怎样 没有接口,可插入性就没有保证 接口是对可插入性的保证      接口使可插入性变得可能
  Chap4  “开—闭”原则(OCP) 4.1 What 一个软件实体应当对扩展开放,对修改关闭。(在设计一个模块的时候,应当使这个模块可以在不修改的前提下被扩展,即应当可以在不必修改源代码的情况下改变这个模块的行为。) 优越性: (1)通过扩展已有的软件系统,可以提供新的行为。 (2)已有的软件模块,特别是最重要的抽象层模块不能再修改,是变化中的软件系统有一定的稳定性和延续性。  
对可维护性的支持   首先,恰当的提高系统的可复用性,可以提高系统的可扩展性。允许一个具有同样接口的新的类代替旧的类,是对抽象接口的复用。 客户端依赖于一个抽象的接口,而不是一个具体实现类,使得这个具体类 ...
人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。 如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们可以把我们自己描述成 一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,我们可以控制它,但这部分很小。 这庞大的水下的部分是我们的意识不到的。 它们是无组织、无逻辑、无关联的,但它们取能决定我们的行为特征。 ...
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换 ...
http://www.gotapi.com/  语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/  语言:英语 简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/  语言:中文 简介:可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系列技术交流社区.http://www.connectionstrings.com/  语言:英语 简介:这里几乎收集了所有的数据库连接字符(connectionstring)了。http://ww ...
作者 Vikas Hazrati 译者 郑柯 发布于 2009年6月23日 下午9时47分 社区 Agile 主题 敏捷实施, 企业级敏捷 标签 最佳实践 很多人都知道:敏捷项目可以解决快速变更带来的问题。这些变更可能来自市场、系统 需求或是具体实 ...
停下来重构? 作者 Amr Elssamadisy 译者 金明 发布于 2009年6月23日 上午8时56分 社区 Agile 主题 交付价值, 设计 标签 重构 Joshua Kerievsky在Yahoo!上的Refactoring小组里面发表了下面的帖子,引发了激烈讨论: 最近几年,我听到 ...
Vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在Dos上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。    Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。    Vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:命令行模式、文本输入模式和末行模式。    命令行模式 (command mode/一般模式)    任何时候,不管用户处于何种模式,只要按一下键,即可使Vi进入命令行模式 ...
Global site tag (gtag.js) - Google Analytics