2017年12月11日

JAVA volatile 解析

摘要: volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文

posted @ 2017-12-11 14:52 虾米&老黄牛 阅读(132) 评论(0) 推荐(0) 编辑

JAVA 内存模型

摘要: 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写 阅读全文

posted @ 2017-12-11 13:59 虾米&老黄牛 阅读(151) 评论(0) 推荐(0) 编辑

2017年4月20日

Linux常用命令快查

摘要: 一、读取配置文件中某一个变量的值 假如有一个配置文件dubbo.properties,需要读取dubbo.application.name的值: 有以下几种方式: 1) sed '/dubbo.application.name/!d;s/.*=//' dubbo.properties 2) sed 阅读全文

posted @ 2017-04-20 16:31 虾米&老黄牛 阅读(1029) 评论(0) 推荐(0) 编辑

2017年4月19日

Java中如何动态创建接口的实现

摘要: 有很多应用场景,用到了接口动态实现,下面举几个典型的应用: 1、mybatis / jpa 等orm框架,可以在接口上加注解进行开发,不需要编写实现类,运行时动态产生实现。 2、dubbo等分布式服务框架,消费者只需要引入接口就可以调用远程的实现,分析源代码,其实在消费端产生了接口的代理实现,再由代 阅读全文

posted @ 2017-04-19 18:59 虾米&老黄牛 阅读(31496) 评论(7) 推荐(2) 编辑

使用Dubbox构架分布式服务

摘要: 第一部分:Dubbo的背景分析及工作原理 1. Dubbo是什么?Dubbo是一个来自阿里巴巴的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubb 阅读全文

posted @ 2017-04-19 16:40 虾米&老黄牛 阅读(3081) 评论(0) 推荐(0) 编辑

2017年4月6日

Elasticsearch搜索之explain评分分析

摘要: Lucene的IndexSearcher提供一个explain方法,能够解释Document的Score是怎么得来的,具体每一部分的得分都可以详细地打印出来。这里用一个中文实例来纯手工验算一遍Lucene的评分算法,并且结合Lucene的源码做一个解释。 首先是测试用例,我使用“北京东路”来检索一个 阅读全文

posted @ 2017-04-06 18:50 虾米&老黄牛 阅读(5303) 评论(0) 推荐(0) 编辑

Elasticsearch搜索之most_fields分析

摘要: 顾名思义,most_field就是匹配词干的字段数越多,分数越高,也可设置权重boost。 下面是简易公式(详细评分算法请参考:http://m.blog.csdn.net/article/details?id=50623948): score=match_field1_score*boost+ma 阅读全文

posted @ 2017-04-06 18:46 虾米&老黄牛 阅读(1278) 评论(0) 推荐(1) 编辑

Elasticsearch搜索之cross_fields分析

摘要: cross_fields类型采用了一种以词条为中心(Term-centric)的方法,这种方法和best_fields及most_fields采用的以字段为中心(Field-centric)的方法有很大的区别。 它将所有的字段视为一个大的字段,然后在任一字段中搜索每个词条。 operator:ope 阅读全文

posted @ 2017-04-06 18:45 虾米&老黄牛 阅读(2027) 评论(0) 推荐(0) 编辑

Elasticsearch搜索之best_fields分析

摘要: 顾名思义,best_field就是获取最佳匹配的field,另个可以通过tie_breaker来控制其他field的得分,boost可以设置权重(默认都为1)。 下面从宏观上来讲的简单公式: score=best_field.score*boost+other_fields*boost.score* 阅读全文

posted @ 2017-04-06 18:40 虾米&老黄牛 阅读(9589) 评论(0) 推荐(1) 编辑

Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)

摘要: 一、先摆需求: 1、中文搜索、英文搜索、中英混搜 如:“南京东路”,“cafe 南京东路店” 2、全拼搜索、首字母搜索、中文+全拼、中文+首字母混搜 如:“nanjingdonglu”,“njdl”,“南京donglu”,“南京dl”,“nang南东路”,“njd路”等等组合 3、简繁搜索、特殊符号 阅读全文

posted @ 2017-04-06 18:29 虾米&老黄牛 阅读(30392) 评论(12) 推荐(5) 编辑

导航