摘要:先来提出问题和给出答案,之后再刨根问底的揭开面纱: 问:volatile 的可见性和禁止指令重排序是怎么实现的? 答:可见性:是通过缓存一致性协议来达到的 禁止指令重排序:JMM 模型里有 8 个指令来完成数据的读写,通过其中 load 和 store 指令相互组合成的 4 个内存屏障实现禁止指令重 阅读全文
posted @ 2020-04-28 16:10 星火燎原智勇 阅读(330) 评论(1) 推荐(3) 编辑
摘要:摘要:这次solr底层升级是一次比较大的升级。从底层搜索引擎 solr4.8 升级到 solr6.4.2,由于solr底层从6.x开始以来的jdk必须指定为1.8,而且很多内部实现类都已经废弃或者干脆被砍掉了,这样就导致了很多实现类都需要进行兼容性的处理,第三方依赖的库也需要跟着进行升级改造。例如I 阅读全文
posted @ 2017-03-06 23:36 星火燎原智勇 阅读(856) 评论(1) 推荐(2) 编辑
摘要:1、jps jps主要用来输出JVM中运行的进程状态信息。常用参数命令: jps -v -v 输出传入JVM的参数 使用这个命令我们可以很轻松的查看相应服务的启动参数与配置。 2、jstack jstack -l pid | jstack -m pid #-l long listings,会打印出额 阅读全文
posted @ 2020-09-30 12:23 星火燎原智勇 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Multiset集合 Multiset是什么?顾名思义,Multiset和Set的区别就是可以保存多个相同的对象。在JDK中,List和Set有一个基本的区别,就是List可以包含多个相同对象,且是有顺序的,而Set不能有重复,且不保证顺序(有些实现有顺序,例如LinkedHashSet和Sorte 阅读全文
posted @ 2020-09-12 22:52 星火燎原智勇 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、cat 参数规范 二、cat API 1. 查看集群健康情况 GET /_cat/health?v 2. 查看集群上整个索引 或 指定索引 统计信息 GET /_cat/indices?v GET /_cat/indices/food20200909?v 3. 查看集群整体分片 或 指定索引分片 阅读全文
posted @ 2020-09-10 12:05 星火燎原智勇 阅读(29) 评论(0) 推荐(0) 编辑
摘要:guava提供了Bytes/Shorts/Ints/Iongs/Floats/Doubles/Chars/Booleans这些基本数据类型的扩展支持,只有你想不到的,没有它没有的!对JDK集合的有效补充 对于程序员来说直接上代码比讲解来的更实际一些,这里注重聊一下 Ints 的使用,其他类型的都类似 阅读全文
posted @ 2020-09-10 10:29 星火燎原智勇 阅读(24) 评论(0) 推荐(0) 编辑
摘要:背景 目前Google Guava在实际应用中非常广泛,本篇是我对 Guava 使用的认识以及在项目中的经验来给大家分享! 学习使用Google Guava可以让你快乐编程,写出优雅的JAVA代码! 以面向对象思想处理字符串:Joiner/Splitter/CharMatcher 问题 有朋友就要问 阅读全文
posted @ 2020-09-09 13:21 星火燎原智勇 阅读(49) 评论(0) 推荐(0) 编辑
摘要:将list集合按指定长度进行切分,返回新的List<List<??>>集合,如下的: List<List<Integer>> lists=Lists.partition(numList,3); package test; import com.google.common.collect.Lists; 阅读全文
posted @ 2020-09-08 23:47 星火燎原智勇 阅读(386) 评论(0) 推荐(0) 编辑
摘要:首先我们需要清楚: ES 中的文档是不可变更的。如果你更新一个文档,会将文档标记为删除,同时增加一个全新的文档,与此同时文档的 version 字段也会加 1。 那么 es7.x 之后,对应的 version 让然保留着,但是内部乐观锁版本控制是通过另外两个新引入的字段来控制的,分别是:seq_no 阅读全文
posted @ 2020-09-07 23:27 星火燎原智勇 阅读(80) 评论(0) 推荐(0) 编辑
摘要:1、索引命名规范 索引命名有如下限制: 仅限小写字母 不能包含 \、/、 *、?、"、<、>、|、# 以及 空格符等 特殊符号 从 7.0 版本开始不再包含 冒号 不能以 -、_ 或 + 开头 不能超过 255 个字节(注意它是字节,因此多字节字符将计入255个限制) 2、新建索引 (1)索引名小写 阅读全文
posted @ 2020-09-07 23:10 星火燎原智勇 阅读(219) 评论(0) 推荐(0) 编辑
摘要:1、搜索 _source 数据列过滤 我们常常在 kibana 的 devTools 中书写相关的 dsl 语句,但是有时候想要过滤一些字段明明知道es 应该有这样的功能,但是就是想不起来,今天在这里汇总一下: "_source": false // 不显示任何source字段 "_source": 阅读全文
posted @ 2020-09-01 23:53 星火燎原智勇 阅读(48) 评论(0) 推荐(0) 编辑
摘要:为啥用 item2 呢?还不是因为 macOS 自带的终端连窗口的大小都不能保存么,每次打开它都觉得它太小了,每次都要拉大点才能用,让人非常不爽。 而且用起来 item 比 mac 自带的功能、用途强泰太多了。 iTerm2 怎么更改默认窗口大小呢?很简单。 1. 打开 iTerm2 2. 依次点击 阅读全文
posted @ 2020-08-31 23:20 星火燎原智勇 阅读(57) 评论(0) 推荐(0) 编辑
摘要:需知 目前 java 操作 redis 的客户端有jedis 跟 Lettuce。 在 springboot1.x 系列中,使用的是 jedis 到了 springboot2.x 系列使用的是 Lettuce。 目前我们线上开发基本上都使用的版本是 springboot2.x 系列,所以我们需要会使 阅读全文
posted @ 2020-08-15 00:09 星火燎原智勇 阅读(28) 评论(0) 推荐(0) 编辑
摘要:地址详情 Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html redisson 官网地址:https://redisson.org/ redisson git项目地址:https: 阅读全文
posted @ 2020-08-14 18:54 星火燎原智勇 阅读(100) 评论(0) 推荐(0) 编辑
摘要:背景 合理的JedisPool资源池参数设置能为业务使用Redis保驾护航,本文将对JedisPool的使用、资源池的参数进行详细说明,最后给出“最合理”配置。 一、使用方法 以官方的2.9.0为例子(Jedis Release),Maven依赖如下: <dependency> <groupId>r 阅读全文
posted @ 2020-08-14 15:01 星火燎原智勇 阅读(45) 评论(0) 推荐(0) 编辑
摘要:1、背景 在当前微服务体系架构中,有很多服务例如,在 特征组装 与 排序等场景都需要有大量的数据支撑,快速读取这些数据对提升整个服务于的性能起着至关重要的作用。 缓存在各大系统中应用非常广泛。尤其是业务程序所依赖的数据可能在各种类型的数据库上(mysql、hive 等),那么如果想要获取到这些数据需 阅读全文
posted @ 2020-08-14 00:08 星火燎原智勇 阅读(299) 评论(0) 推荐(0) 编辑
摘要:1、震荡问题 搜索同一 query,结果ES返回的顺序却不尽相同,可能会有两个原因导致此问题发生: 这就是请求轮询到不同分片,而未设置排序条件,相同相关性评分情况下,是按照所在 segment 中 ​lucene id 来排序的,相同数据的不同备份之间该 id 是不能保证一致的,故造成结果震荡问题。 阅读全文
posted @ 2020-08-10 19:40 星火燎原智勇 阅读(103) 评论(0) 推荐(0) 编辑