2018年1月7日
摘要: 这周看RPC相关的代码时,里面用到了动态代理的相关知识,以前没怎么接触过,因此学习了下。 一、代理 代理是一种基本的设计模式,它是为了提供额外或者不同的操作,而插入的用来代替“实际”对象的对象。这些操作通常涉及与实际对象的通信, 因此代理通常充当着中间人的角色,下面我们来看一个展示代理结构的简单例子 阅读全文
posted @ 2018-01-07 17:44 junjiang3 阅读(234) 评论(0) 推荐(0) 编辑
  2018年1月1日
摘要: 这周要做一个定时增量更新Elasticsearch索引的功能,以前没有做过定时更新,所以请教了下同事,使用crontab添加linux下的定时任务。 一、linux下定时执行任务的方法 在linux中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /cleari 阅读全文
posted @ 2018-01-01 19:06 junjiang3 阅读(419) 评论(0) 推荐(0) 编辑
  2017年12月24日
摘要: 这周在看代码时,看到别人的代码里用到了工厂设计模式,做为小白,所以来学习下。 我们首先来看一个例子,是女娲造人的例子,女娲需要造黑色、黄色和白色三种人。并且每种人分为男性和女性。 这个例子中就可以用到工厂设计模式。具体的类图如下: 接下来,我们来看看相关的实现,Human接口代码清单如下: 人种有三 阅读全文
posted @ 2017-12-24 13:16 junjiang3 阅读(192) 评论(0) 推荐(0) 编辑
  2017年12月17日
摘要: 现在,我们经常会使用压缩和解压缩软件来处理文档,因为它除了可以减少文档在磁盘上的空间外,还有重要的一点,就是我们可以在网络上一压缩的形式传输大量数据,是的保存和传递都更加高效。 那么压缩而不出错是如何做到的呢?简单说,就是把我们要压缩的文本进行重新编码,今天我们就介绍一种最基本的压缩编码方法——哈夫 阅读全文
posted @ 2017-12-17 19:12 junjiang3 阅读(1772) 评论(0) 推荐(0) 编辑
  2017年12月10日
摘要: 最近在做搜索的时候用到了AC双数组自动机,理解它的基础是Trie树,因此,学习了一下。 一、基本介绍 Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无 阅读全文
posted @ 2017-12-10 19:04 junjiang3 阅读(671) 评论(0) 推荐(0) 编辑
  2017年12月3日
摘要: 一、循环链表 循环链表:是一种头尾相接的链表。其特点是最后一个结点的指针域指向链表的头结点,整个链表的指针域链接成一个环。 特点是: 从循环链表的任意一个结点出发都可以找到链表中的其它结点,使得表处理更加方便灵活。 其示意图如下图所示 循环链表的操作: 对于单循环链表,除链表的合并外,其它的操作和单 阅读全文
posted @ 2017-12-03 18:24 junjiang3 阅读(3759) 评论(0) 推荐(0) 编辑
  2017年11月25日
摘要: 这周在做视频搜索的过程中遇到一个问题,就是用下面的查询表达式去Elasticsearch检索,检索不到想要的结果。查询语句如下: 而查询的字段的值为: "mergeVideoName": "奔跑吧兄弟“ 按照match_phrase的查询应该是能够查询到结果。可是事实就是查询结果为空。开始考虑是不是 阅读全文
posted @ 2017-11-25 21:58 junjiang3 阅读(1530) 评论(0) 推荐(0) 编辑
  2017年11月19日
摘要: 一、基本概念 链式存储 :用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。存储链表中结点的一组任意的存储单元可以 是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。 为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后继结点的地 阅读全文
posted @ 2017-11-19 11:09 junjiang3 阅读(951) 评论(0) 推荐(0) 编辑
  2017年11月12日
摘要: 线性结构是最常用、最简单的一种数据结构。而线性表是一种典型的线性结构。其基本特点是线性表中的数据元素是有序且是有限的。在这种结构中: (1) 存在一个唯一的被称为“第一个”的数据元素; (2)存在一个唯一的被称为“最后一个”的数据元素; (3)除第一个元素外,每个元素均有唯一一个直接前驱; (4)除 阅读全文
posted @ 2017-11-12 17:06 junjiang3 阅读(480) 评论(0) 推荐(0) 编辑
  2017年11月5日
摘要: 一、算法定义: 如今普遍认可的对算法的定义是:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 因此,为了解决某个或某类问题,需要把指令表示成一定的操作序列,操作序列包括一组操作,每个操作都完成特定的功能,这就是算法了。 二、算法的特性: (1)输入 阅读全文
posted @ 2017-11-05 17:17 junjiang3 阅读(269) 评论(0) 推荐(0) 编辑