自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 RocketMQ发送和接收方式详解

在使用 RocketMQ 进行消息发送时,可以根据不同的发送需求选择合适的发送方式。异步发送是指消息发送方发送消息后,不会立即等待服务器的响应,而是提供一个回调接口,服务器响应时通过回调接口来通知发送方。单向发送是指消息发送方只负责发送消息,不等待服务器的响应也不关心消息是否被服务器接收,适用于对可靠性要求不高的场景。集群消费模式下,同一个消费者组中的多个消费者实例共同消费主题下的消息,每条消息只会被消费一次。延迟消费不是通过消费者的特定设置来实现的,而是在发送消息时设置消息的延迟等级。

2024-03-19 18:06:44 1200 1

原创 spark2.4本地编译调试阅读源码(windows)

1.github下载源码2.windows环境下idea直接编译会报bash环境问题,我是在gitbash环境下编译((maven 8线程 跳过测试 打包))cd C:\\local\\openProject\\spark-branch-2.4;C:\\local\\InstallDest\\apache-maven-3.6.3\\bin\\mvn -T 8 -DskipTests clean package3.在这里插入图片描述4.https://blog.csdn.net/qq_276

2022-01-07 11:01:32 1483 1

原创 Jprofidler详解

Jprofidler详解

2021-11-26 11:12:00 226

原创 fiddler everyWhere 夜神 证书无效

1.点击 Trust root certificate,成功即可,如果不能成功,没关系,导出证书自己安装。安装成功即可。第二步骤:fiddler配置如下3.夜神安卓版本7以下,可以百度直接安装步骤。如果7及以上,麻烦劝你继续百度教程。...

2021-05-10 14:41:41 1026

原创 elasticsearch analysis思维导图

analysis

2020-12-04 14:13:19 224

原创 最新Docker hub 国内镜像方法

Docker hub 国内镜像{“debug”: true,“experimental”: false,“registry-mirrors”: [ “https://docker.mirrors.ustc.edu.cn” ]}可以免费使用阿里云的镜像,非常快。登陆阿里云,然后访问:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors上面显示的加速器地址即是。...

2020-11-27 14:53:11 18630

原创 单例模式

http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

2020-11-18 12:04:24 96

原创 mysql大表(千万以上)插入 和 查询提速

mysql大表(千万以上)插入 和 查询提速背景遇到的问题插入慢问题分析查询慢的原因总结背景数据库:mysql数据量:3千万字段个数:12个字段大字段:最大bigint主键索引和field5索引遇到的问题1.主键id雪花生成器生成,插入数据的时候到达1200万左右,就异常的缓慢,每秒插入低于100个,无法接受。2.查询的时候,explain select field1, field2, field3, field4 from tablename where field5= 46100151

2020-08-05 14:38:15 2223

原创 手动编译并本地运行Elasticsearch 6.8

下载源码参考这里:编译5.6.2导入idea注意这个版本不需要执行gradlew idea,直接用idea导入即可,这个很人性化,点赞。打包gradlew -p distribution/archives/tar assemble --parallel解释一下:用下面这个命令是生成各种格式的包,比如windows\linux\unix等。./gradlew assemble --parallel用我推荐的方式打出指定包格式,和指定位置。–parallel 是并行执行,效率大大提高d

2020-05-12 10:03:47 764

原创 java对象转mapping快捷代码

一、java对象转mapping对象原则:1.对于数值类型,越小越好。2.精确查询,使用keyword3.模糊查询使用text4.时间可以用long,方便范围查找。5.es6.0以上支持数值快速查找。原理就是kd树二、粗犷的转换代码,能省不少无谓的时间,个别字段评估后修改。/** * "productSkuId": { * "type": "l...

2020-04-29 18:15:14 525

原创 InnoDB存储引擎原理概览

InnoDB存储引擎目标索引与算法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目标主要是了解innodb引擎的原...

2020-04-01 19:20:07 364

原创 mysql源码入口

mysql源码入口mysql源码入口获取源码本地环境搭建源码入口sql parse是解析代码核心类如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入mysql源码入口主要记录mysql5.7....

2020-03-17 09:55:28 1159

原创 mysql源码编译

mysql_boost下载地址Ubuntu Clion MySQL 5.7 源码调试环境搭建

2020-02-01 17:32:52 276

原创 redis源码阅读-事件模块

1.代码入口server.c->main()倒数第二行->aeMain(server.el);2.作用:redis单线程初始化所有准备工作后,就是不断循环执行各种事件,比如网络请求读写事件,过期定时任务等事件,事件管理由操作系统的api来通知(select、poll、epoll、evport、kqueue等事件调度器),然后执行我们希望的操作回调函数,单线程循环往复。3.ae....

2020-01-02 15:48:29 184 1

原创 redis源码阅读(网络模块和集群模块)

redis源码阅读

2019-11-24 16:23:43 265

原创 销售区域细化到区域

1.现状:商品按城市划分运营,销售区域精确到行政区,随着city数量越来越多,商品管理需要在不同城市重复上架,任务量很大。2.目标:支持全国统一管理,销售区域还是精确到行政区。3.解决方案:## 销售区域设计:字段名数据类型备注例子idinteger自增123456codeinteger六位数字420102namevarchar(...

2019-11-13 10:31:58 397

原创 线程停止的四种方法

1.stop2.interrupted3.volatile4.运行完自动停止1.stop 过时方法,虽然在Java的API中仍然可以调用stop()方法,但是和suspend,resume方法一样,是过期了的,不建议使用的,因为stop()在结束一个线程时并不会保证线程的资源正常释放,会导致程序可能会出现一些不确定的状态。2.interrupted,只是线程中一个变量,设置Thread....

2019-11-04 11:42:47 2081

原创 记一次ES查询性能优化思路

现状:es集群有很多索引,主要索引有routing 耗时平均85毫秒。问有没有优化空间。思路:首先得找到85毫秒是哪些步骤分摊的?然后一一查看是否有优化空间。工具:Profile Api 很好的支持查看query、collect、rewrite的耗时。took 耗时是指searchtransportaction 开始execute到response创建为止。中间包含以下步骤。1.re...

2019-10-10 10:52:27 1371

原创 ES线程池详解

ES线程池详解)前言:Java自带线程池回顾默认线程池参数详解:Executors类ES基于jdk构建自己线程池。Fixed类型线程池Fixed_auto_queue_size类型线程池Scaling类型线程池Direct类型线程池Prioritized 类型线程池前言:ES的操作中充斥着不同的操作任务类型,如Index、Search、刷新合并、recover等等。各种类型任务之间不但有着不同...

2019-09-30 15:04:52 2816

原创 分布式数据库汇总

1、 Apache HBase HBase :就是bigTable 支持数十亿列 Apache HBase是一个使用Java语言编写的、 以谷歌BigTable技术为基础的开源非关系型列式分布数据库, 可运行在HDFS文件系统之上。HBase提供了很好的存储容错能力和快速访问大量稀疏文件的能力。HBase遵循Apache 2许可证。Hbase的优点:1 列的可以动态增加, 并且列为空就...

2019-09-20 15:09:14 4569

原创 elasticsearch index模块源码分析

1.TransportSingleItemBulkWriteAction的doExecute方法处,构建单个item请求参数,该类已过期,但是5.x版本request还在使用。 @Override protected void doExecute(Task task, final Request request, final ActionListener<Response&g...

2019-09-20 14:38:50 285

原创 fielddata和doc_values的关系。

1.doc_values类似于正排索引。2.Most fields can use index-time, on-disk doc_values for this data access pattern, but text fields do not support doc_values.大部分字段能够支持doc_values,但是text不支持,所以切分后的正排索引需要存储在内存中,这便是f...

2019-09-20 11:04:05 381

原创 Too many dynamic script compilations within, max: [75/5m]问题处理

1.定位问题:a.字面意思是,ElasticSearch5分钟内执行脚本编译超过75个,编译太多而拒绝编译。编译是非常耗时的,这是ES的自我保护功能。b.我的操作是动态评分通过script实现去了。{ "query": { "function_score": { "functions": [ { ...

2019-09-20 10:01:41 7907

原创 aggregation源码分析

a.SearchService.executeQueryPhase()这行执行buildaggrationfinal SearchContext context = createAndPutContext(request);b.SearchService.parseSource()方法构建AggregatorFactories,以AvgAggregator为例,它是实现了BucketColl...

2019-09-16 18:05:38 539

原创 Elasticsearch缓存源码分析

1.NodeQueryCache:a.IndicesService类里的loadOrExecuteQueryPhase方法判断是否可以缓存,可以缓存的分支执行loadIntoContext方法。 /** * Try to load the query results from the cache or execute the query phase directly if t...

2019-09-12 16:12:28 525

原创 Elasticsearch 重要环境配置

ES重要配置:<1> heap内存设置: 1.最好不要大于32G,否则没法使用指针压缩。 2.es的内存用在node缓存上,shard是单独实例,所以内存各一半比较好。具体再分析场景。 3.elasticsearch cache内存设置: a.NodeQueryCache default:10% heap b.ShardQequestCache default:1% h...

2019-09-12 11:31:45 258

原创 Java安全管理器——SecurityManager

总的来说,Java安全应该包括两方面的内容,一是Java平台(即是Java运行环境)的安全性;二是Java语言开发的应用程序的安全性。由于我们不是Java本身语言的制定开发者,所以第一个安全性不需要我们考虑。其中第二个安全性是我们重点考虑的问题,一般我们可以通过安全管理器机制来完善安全性,安全管理器是安全的实施者,可对此类进行扩展,它提供了加在应用程序上的安全措施,通过配置安全策略文件达到对网络、...

2019-09-12 09:38:19 452

原创 jvm 研究小工具

java 对象内存中大小计算工具包: <dependency> <groupId>com.carrotsearch</groupId> <artifactId>java-sizeof</artifactId> <version>0.0.5</version&...

2019-09-11 18:01:16 134

原创 dubbo深入理解

dubbo是什么?Dubbo是阿里巴巴开源的,一个基于Java语言的高性能分布式RPC框架,现在已经成为apache的顶级项目。1.NIO单一长连接——dubbo通信模型实现https://www.jianshu.com/p/13bef2795c442.dubbo角色:provider:服务提供者cotainer:dubbo自带容器register:服务注册中心consummer:...

2019-09-11 13:44:54 491

原创 elasticsearch search模块源码分析

基于版本:5.6.2增删改查操作只对单个文档进行处理,通常由 _index, _type, 和 _id三元组来确定唯一文档。但搜索需要一种更复杂的模型,因为不知道查询会命中哪些文档。一个搜索请求必须询问指定索引的所有分片中的某个副本来进行匹配。假设一个索引有5个主分片,1个副本分片,共10个分片,一次搜索请求会由5个分片来共同完成,他们有可能是主分片,也可能是副分片。也就是说,一次搜索请求只会命...

2019-09-11 12:21:08 950

转载 Lucene6.6.1学习之自定义Collector

Collector系列接口是用来收集查询结果,实现排序,自定义结果集过滤和收集。Collector和LeafCollector是Lucene结果集收集的核心。下面是自定义collector的实验代码截图,具体看git:https://github.com/niecool/esToolsPlayGround.git...

2019-09-09 17:23:12 231

原创 elasticsearc分页源码分析

1.from + size 浅分页:"浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。其中,from定义了目标数据的偏移值,size定义当前返回的数目。默认from为0,size为10,即所有的查询默认仅仅返回前10条数据。在这里有必要了解一下from/size的原理:因为es是基于分片的...

2019-09-09 14:33:27 243

原创 Elasticsearch中用到的第三方工具包详解

1.High Performance Primitive Collections for Java2.Injector:java guice

2019-09-05 15:48:53 1031

转载 怎样量化评价搜索引擎的结果质量

怎样量化评价搜索引擎的结果质量搜索质量评估是搜索技术研究的基础性工作,也是核心工作之一。评价(Metrics)在搜索技术研发中扮演着重要角色,以至于任何一种新方法与他们的评价方式是融为一体的。搜索引擎结果的好坏与否,体现在业界所称的在相关性(Relevance)上。相关性的定义包括狭义和广义两方面,狭义的解释是:检索结果和用户查询的相关程度。而从广义的层面,相关性可以理解为为用户查询的综合满意...

2019-09-02 10:15:47 1355

原创 Elasticsearch排序以及自定义评分的所有方法

1.elasticsearch相关性评分,默认使用lucene内置评分系统,公式大致如下:lucene的评分机制 https://www.cnblogs.com/yjf512/p/4860134.html2.elasticsearch5.0以下支持搜索前评分,具体位置忘记了。//todo现在推荐在查询的时候评分。3.查询时候评分有哪些方式:1.term boost2.functi...

2019-08-29 20:30:42 1981

转载 N-Gram

转自 https://www.cnblogs.com/always-fight/p/9266870.html一、什么是N-GramN-Gram是一种统计语言模型,用来根据前(n-1)个item来预测第n个item。在应用层面,这些item字符(输入法应用)等。一般来讲,可以从大规模文本或音频语料库生成N-Gram模型。 习惯上,1-gram称为unigram,2-gram称为bigram,...

2019-08-28 15:38:10 477

原创 Elasticsearch的增删改查

1.建立索引put http://localhost:9200/my_index{ "settings": { "number_of_shards": 5, "number_of_replicas": 2 }}2.设置mappingput http://localhost:9200/my_index{ "mapping":{ "t...

2019-08-16 16:52:24 113

原创 Idea2019 手动编译并本地运行Elasticsearch5.6.2

idea手动编译Elasticsearch5.6.2编译elasticsearch5.6.2下载源码编译代码错误经验(按照时间顺序)编译elasticsearch5.6.2第一次编译elasticsearch,遇到的问题不少,特此记录.下载源码下载对应版本的代码zip包:编译代码1.先参照官方指导:https://github.com/elastic/elasticsearch/t...

2019-08-15 10:25:16 831

原创 jvm运行信息查看

系统维护信息,各自的功能和作用。

2019-06-13 21:02:23 4060 1

原创 编程中的事务

编程中的事务事务的本质事务的定义事务的特性事务的几种实现1.jdbc事务:2.JTA事务:3.容器事务事务的本质事务的定义事务的特性ACIDA:atom 原子性C:concurrency 一致性I: isolate 隔离性D: 持久性事务的几种实现1.jdbc事务: conn.setTransactionIsolation(Connection.TRANSAC...

2019-06-11 17:46:58 684

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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