加载中
如何使用Jekyll+GitHub Pages搭建个人博客站点

作为一名有情怀的工程师,一般都会通过博客来记录自己的生活,成长,工作心得或者经验,大部分人使用博客都会经历如下几个阶段: (1)记录在大脑中 (不推荐) (2)使用XXX云笔记 (3)使用...

2018/04/12 10:18
100
elasticsearch的查询流程分析

我们都知道es是一个分布式的存储和检索系统,在存储的时候默认是根据每条记录的_id字段做路由分发的,这意味着es服务端是准确知道每个document分布在那个shard上的。 相对比于CURD上操作,s...

2018/04/02 20:39
238
关于elasticsearch中更新数据的几种方式

作为一个成熟的框架,Elasticsearch里面提供了丰富的操作数据的api,本篇我们就来学习一下在es中更新数据的几种方式。 (一)更新文档 (1)部分更新: java api: ` HashMap<String,O...

2018/03/21 19:14
13.1K
Elasticsearch里面的segment合并

通过前面的文章,我们已经知道在elasticsearch中每个shard每隔1秒都会refresh一次,每次refresh都会生成一个新的segment,按照这个速度过不了多久segment的数量就会爆炸,所以存在太多的seg...

2018/03/20 18:00
637
Elasticsearch如何保证数据不丢失?

上篇文章提到过,在elasticsearch和磁盘之间还有一层cache也就是filesystem cache,大部分新增或者修改,删除的数据都在这层cache中,如果没有flush操作,那么就不能100%保证系统的数据不会丢...

2018/03/19 21:01
612
为什么说Elasticsearch搜索是近实时的?

通过前面两篇文章的介绍,我们大概已经知道了 Elasticsearch处理数据的流程,其中在Elasticsearch和磁盘之间还有一层称为FileSystem Cache的系统缓存,正是由于这层cache的存在才使得es能够拥...

2018/03/16 19:50
124
Elasticsearch如何动态维护一个不可变的倒排索引

上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。 索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问...

2018/03/15 21:36
84
Elasticsearch如何检索数据

我们都知道Elasticsearch是一个全文检索引擎,那么它是如何实现快速的检索呢? 传统的数据库给每个字段都存储成一个单个值,对于全文检索而言,这样的存储是低效的。举个例子,我有一个大文本...

2018/03/14 20:14
140
JDK8中LinkedList的工作原理剖析

LinkedList虽然在日常开发中使用频率并不是很多,但作为一种和数组有别的数据结构,了解它的底层实现还是很有必要的。 在这之前我们先来复习下ArrayList的优缺点,ArrayList基于数组的动态管...

2018/03/06 21:30
200
理解Java集合框架里面的的transient关键字

在分析HashMap和ArrayList的源码时,我们会发现里面存储数据的数组都是用transient关键字修饰的,如下: HashMap里面的: transient Node<K,V>[] table; ArrayList里面的: transient Obj...

2018/03/01 20:29
2.2K
JDK8中ArrayList的工作原理剖析

ArrayList也是在Java开发中使用频率非常高的一个类,内部是基于数组的动态管理的方式来实现的。数组在内存里面是一块连续的存储空间,其优势是基于下标的随机访问和遍历是非常高效的。 JDK8...

2018/02/25 21:59
24
Java里面关于数组拷贝的几种方式

在java里面数组拷贝有几种方式: (1)clone (2)System.arraycopy (3)Arrays.copyOf (4)Arrays.copyOfRange 下面分别介绍下他们的用法: (1)clone方法是从Object类继承过来的,基本数...

2018/02/10 20:16
56
如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了 目前在ES5.x中备份支持的存储方式有如下几种: fs //本地挂载的盘 url //网络协议存储支持http,https,ftp repository-s3 //亚马...

2018/02/09 18:32
265
数据结构的基本概念

(一)什么是数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效...

2018/02/01 20:18
41
使用位运算替代模运算

昨天的分析HashMap原理的文章里面提到,使用位运算替代取模运算效率高,但位运算只能在特定场景下才能替代%运算。 正常情况下: a % b = a - (a / b)*b 但如果b的值为2的n次方的时候(n为...

2018/01/30 21:14
60
理解Java中的hashCode 和 equals 方法

在Java里面所有的类都直接或者间接的继承了java.lang.Object类,Object类里面提供了11个方法,如下: 1,clone() 2,equals(Object obj) 3,finalize() 4,getClass() 5,hashCode() 6,not...

2018/01/26 19:17
8
Java程序排查问题利器之Btrace

(一)Btrace的介绍 BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强,可以在不用重启的情况下监控系统运行情...

2018/01/23 20:26
116
小知识之Linux系统中的最大进程数,最大文件描述,最大线程数

今天来了解一下linux里面的一些小知识: (一)Linux系统中最大可以起多少个进程? (1)32位系统中最多可以起32768个进程 (2)64位系统中最多可以起2的22次方(4194304)约420万个 如何查看...

2018/01/19 22:28
74
理解Java里面的jvm,jre,jdk的区别和联系

有时候越是基础的问题,越是容易被我们忽视,比如标题上的问题,感觉挺简单,但真正让解释一下,未必能够说的很清楚,其实这个问题在Oracle官网的Java的文档里面解释的非常清晰,看官网下面的...

2018/01/17 19:59
12
Nginx配置的一些小功能

前面的文章,已经介绍了Nginx的作用以及Nginx的安装,本篇文章我们来看几个实际的小例子,来对Nginx进一步加深了解。 (一)Nginx一些常用的配置介绍 //nginx运行的用户,一般不要设置成roo...

2018/01/12 21:31
34

没有更多内容

加载失败,请刷新页面

返回顶部
顶部