加载中
解析源码找出 Springboot+ShardingJdbc 对数据库连接池调优属性配置的方式

问题描述 最近公司搭建springboot项目 由于之前都是使用的spring项目 对于boot的理解还是不深 通过找一些文档搭建好了shardingJdbc分库分表的配置 使用了properties方式 参考官网配置如下 我...

Elasticsearch reindex及Java使用sliceScorll优化查询

Reindex会将一个索引的数据复制到另一个已存在的索引,但是并不会复制原索引的mapping(映射)、shard(分片)、replicas(副本)等配置信息。 简单实例如下 POST _reindex { "source": { "r...

2019/10/08 17:37
53
elasticsearch should 和must 共存时 should失效问题

再使用must和should混合查询的时候,发现should并不起作用。 如a==1时搜索b=1或者b=2的数据,按照编程语言的逻辑则是在a=1的条件下必须满足b=1或者b=2, 所以must和should平级的写法是错误的...

2019/10/07 22:00
4.1K
ElasticSearch复杂关系数据的存储方式

一,使用objcet和array[object]的字段类型自动存储多层结构的json数据 这是es默认的机制,也就是我们并没有设置任何mapping,直接向es服务端插入一条复杂的json数据,也能成功插入,并能支持...

2019/10/07 21:23
45
Elasticsearch中的倒排索引结构

倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。 先来回忆一下我们是怎么插入一条索引记录的: cu...

ElasticSearch(进阶概念)

1.1 解析ES的分布架构 1.1.1 分布式架构的透明隐藏特性(Elasticsearch 集群分配多少分片合理) ElasticSearch是一个分布式架构,隐藏了复杂的处理机制 分片机制(shard):我们不用关心数据...

2019/09/19 22:30
22
Elasticsearch Doc与Segment原理

Doc概念 2.1 术语介绍 首先我们说几个ES中跟Doc相关的概念,以免后面混淆: Index(索引) 这里指ES的索引概念,有1个或多个type,由若干shard分片组成 Shard(分片) 是一个Lucene索引。一个...

2019/09/19 22:09
43
elasticsearch的查询流程

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

ElasticSearch属性字段Doc Values 和 Fielddata

为什么聚合排序不适合使用倒排序索引 假设现在有以下的一个搜索: POST /ecommerce/music/_search { "size":0, "query":{ "match":{ "desc":"吉他" } }, "aggs":{ "brands":{ "terms":{"fiel...

2019/09/18 23:51
15
Elasticsearch中mapping属性_source和_store

1._source Es除了将数据保存在倒排索引中,另外还有一分原始文档 原始文档就是存储在_source中的; 其实我们在elasticsearch中搜索文档,查看文档的内容就是_source中的内容 默认情况下,Ela...

2019/09/18 22:20
45
线程池的原理和使用与执行流程

并发编程3:线程池的使用与执行流程 复制过来格式实在太恶心了

2019/09/07 14:40
7
Callable、Future和FutureTask浅析

1.Callable<V>接口 我们先回顾一下java.lang.Runnable接口,就声明了run(),其返回值为void,当然就无法获取结果了。 public interface Runnable { public abstract void run(); } 而Callabl...

2019/09/07 14:25
3
Java CAS及其应用(自旋锁 Atomic类)

一、CAS 操作 乐观锁用到的机制就是CAS,Compare and Swap。 CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 ...

2019/09/07 13:48
5
Synchronized底层优化(偏向锁、轻量级锁)

一、重量级锁   上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依...

2019/09/06 23:54
11
Java中的阻塞队列

聊聊并发(七)——Java中的阻塞队列 原文首发于InfoQ 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等...

2019/09/05 23:10
8
CountDownLatch、Semaphore、CyclicBarrier示例及底层原理简述

CountDownLatch CountDownLatch是一个计数器闭锁,通过它可以完成类似于阻塞当前线程的功能,即:一个线程或多个线程一直等待,直到其他线程执行的操作完成。CountDownLatch用一个给定的计数...

2019/09/05 22:19
3
Condition.await, signal 与 Object.wait, notify 的区别

Object 类中 wait,notify 与 notifyAll 方法可以用来实现线程之间的调度,比如在阻塞队列(BlockingQueue)的实现中,如果队列为空,则所有消费者线程进行阻塞 ( wait ),如果某一个时刻队列...

2019/09/04 23:20
6
java内存模型和volatile关键字

Java并发编程:volatile关键字解析   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键...

2019/09/04 23:10
7
ReentrantLock源码解析

什么是可重锁ReentrantLock? 就是支持重新进入的锁,表示该锁能够支持一个线程对资源的重复加锁。底层实现原理主要是利用通过继承AQS来实现的,也是利用通过对volatile state的CAS操作+CLH队...

CAS
2019/08/09 17:16
4
AQS同步器的实现原理

1.什么是AQS? AQS的核心思想是基于volatile int state这样的volatile变量,配合Unsafe工具对其原子性的操作来实现对当前锁状态进行修改。同步器内部依赖一个FIFO的双向队列来完成资源获取线程...

CAS
2019/08/09 17:13
8

没有更多内容

加载失败,请刷新页面

返回顶部
顶部