journey_fan的专栏

多读书,读好书

排序:
默认
按更新时间
按访问量

Lucene学习笔记(二)--------构建索引

构建索引对搜索内容建模文档和域文档是索引和搜索的原子单位,包含一个或多个域的容器,域则依次包含“真正的”被搜索内容。每个域都有一个标识名称(即一个文本值或二进制值)。将文档加入到索引中时,可以通过一系列选项控制Lucene的行为。在对原始数据进行索引操作时,先将数据转换成Lucene所能识别的文档...

2017-09-05 08:23:12

阅读数:376

评论数:1

Lucene学习笔记(一)-------Lucene基础

Lucene简介 获取内容 Lucene作为一个核心搜索库,并不提供任何功能来实现内容获取建立文档 文档主要包括几个带值的域,比如标题(title),正文(body),摘要(abstract),作者(author)和链接(URL) 可以向比较重要的单个的文档或域中插入权值,加权操作可能...

2017-09-05 08:18:46

阅读数:409

评论数:1

NiFi源码整理

NiFi是一个易于使用、功能强大、操作便利的数据处理data flow系统。 使用户可以不用写很多代码即可操作各种数据流。 目前关于NiFi的文档较少,只能一点点看源码,先把源码做一个大概的整理,之后再深入研究。nifi源码nifi-api:nifi的API接口 nifi-bootstrap:...

2016-12-21 14:12:11

阅读数:1953

评论数:1

《Redis设计与实现》[第二部分]单机数据库的实现-C源码阅读(四)

4、事件 关键字:I/O并发模式,文件事件处理器,时间事件处理器 Redis服务器是一个事件驱动程序,服务器需要处理两类事件: 文件事件(file event):Redis服务器通过套接字与客户端(或其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或其他...

2016-10-18 16:56:11

阅读数:945

评论数:0

《Redis设计与实现》[第二部分]单机数据库的实现-C源码阅读(三)

3、AOF持久化 关键字:AOF持久化:文件写入与同步,AOF文件重写,数据一致性 与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存redis服务器所执行的写命令来记录数据库状态的被写入AOF文件的所有命令都是以redis的命令请求协议格式保存的,因为redi...

2016-06-06 20:59:21

阅读数:2507

评论数:0

《Redis设计与实现》[第二部分]单机数据库的实现-C源码阅读(二)

2、RDB持久化 关键字:RDB文件解析,自动间隔性保存 Redis提供RDB持久化功能,可以将Redis在内存中的数据库状态保存到磁盘里,避免数据意外丢失。RDB持久化可以手动执行,也可以根据服务器配置选项定期执行,该功能可以将某个时间点上的数据库状态保存到一个RDB文件中。RDB文件生成R...

2016-06-02 19:40:07

阅读数:3057

评论数:0

《Redis设计与实现》[第二部分]单机数据库的实现-C源码阅读(一)

1、数据库 关键字:键空间,过期,删除策略 数据结构源码//redisServer中属性太多,篇幅限制,故只列本章描述相关的属性 struct redisServer { //... // 数据库 //一个数组,保存着服务器中的所有数据库 ...

2016-05-31 16:21:44

阅读数:2801

评论数:2

《Redis设计与实现》[第一部分]数据结构与对象-C源码阅读(二)

四、跳跃表 关键字:层高随机 跳跃表支持平均O(logN)、最坏O(N)复杂度的结点查找,还可以通过顺序性操作来批量处理结点。在大部分情况下,跳跃表的效率可以和平衡树相媲美,因为跳跃表的实现比平衡树来得更为简单,所以不少程序都使用跳跃表代替平衡树。Redis使用跳跃表作为有序集合键的底层实现之...

2016-05-30 16:56:21

阅读数:2982

评论数:0

《Redis设计与实现》[第一部分]数据结构与对象-C源码阅读(一)

一、简单动态字符串SDS 关键字:空间预分配,惰性空间释放,二进制安全 C字符串不易更改,所以Redis中把C字符串用在一些无须对字符串值进行修改的地方,作为字符串字面量(String literal),比如打印日志: redisLog(REDIS_WARING, “Redis is n...

2016-05-29 17:20:57

阅读数:5662

评论数:0

设计模式总结

模式分类设计原则:设计模式(总纲) - 构建型: 单例模式 简单工厂模式 工厂方法模式 抽象工厂模式 建造者模式 原型模式 - 结构型: 代理模式 适配器模式 装饰器模式 桥接模式 组合模式 享元模式 外观模式 - 行为型: 观察者模式 模板方法模式 命令模式...

2016-05-24 21:01:00

阅读数:851

评论数:3

Java线程池理解

线程池原理理解作用: 线程池的作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果; 少了浪费系统资源,多了造成系统拥挤效率不高。 用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列中取最前面的任务开始执行。 若...

2016-05-23 10:34:55

阅读数:4760

评论数:3

PostgreSQL在哪些方面胜过了其他开源SQL数据库(Part I)

这篇文章翻译自:https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases/ PostgreSQL宣称:“这是世界上最高级的开源数据库。”这篇文章将PostgreSQL与My...

2016-05-20 16:46:49

阅读数:723

评论数:1

redis中执行大量数据插入操作

Redis管道请求/响应协议和RTTRedis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。 通常情况下一个请求会遵循以下步骤: - 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 - 服务端处理命令,并将结果返回给客户端。 例如,...

2016-05-19 21:49:25

阅读数:19908

评论数:1

Trie树与位操作

使用Trie树解决数字位操作问题。Trie树Trie树可以将keys/numbers/strings等信息保存在树中。 Trie树由一系列结点组成,每个结点存储一个字符/位。从而我们可以插入新的strings/numbers。 以trie树存储strings为例: 但现在我们要用trie树解...

2016-05-19 21:19:21

阅读数:574

评论数:1

Java多线程编程(一):创建并运行Java线程

Java线程类也是一个Object类,它的实例都继承自java.lang.Thread或其子类。可以用如下方式在Java中创建一个线程: Thread thread = new Thread(); 执行该线程可以调用该线程的start()方法: thread.start(); 在上...

2016-05-18 19:49:31

阅读数:520

评论数:1

并发编程模型

原文链接:http://tutorials.jenkov.com/java-concurrency/concurrency-models.html 并发系统可以采用多种并发编程模型来实现。并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。 不同的并发模型采用不同的方式...

2016-05-18 16:41:25

阅读数:2933

评论数:1

JDK1.8源码中的设计模式

1. 迭代器与组合模式(Iterator)1.1 Collection.iterator()集合(Collection)指的是一群对象,其存储方式可以是各式各样的数据结构。 如何能让客户遍历你的对象而又无法窥视你存储对象的方式——利用迭代器(iterator)java.util.Iterator...

2016-05-17 21:37:33

阅读数:4396

评论数:1

JDK1.8源码中的编程习惯

1.如果指定了toString()返回值的格式,则应该提供一个对应的静态工厂方法1.1BigInteger.toString()/* * Returns the String representation of this BigInteger in the * given radix.* / p...

2016-05-16 22:18:04

阅读数:4382

评论数:1

Java锁机制:Synchronized,Lock,Condition

Java锁机制:Synchronized,Lock,Condition1、synchronized把代码块声明为synchronized,有两个重要后果,通常是指该代码具有原子性(automicity)和可见性(visibility)。原子性原子性意味着某个时刻,只有一个线程能够执行一段代码,这段...

2016-05-16 18:38:04

阅读数:1622

评论数:1

从源码理解WeakHashMap.java

package java.util; import java.lang.ref.WeakReference; import java.lang.ref.ReferenceQueue; import java.util.concurrent.ThreadLocalRandom; import j...

2016-05-15 22:05:19

阅读数:774

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭