高爽|Coder

Stay hungry. Stay foolish.

排序:
默认
按更新时间
按访问量

求编辑距离

定义 编辑距离又称Leveinshtein距离,是由俄罗斯科学家Vladimir Levenshtein在1965年提出。编辑距离是计算两个文本相似度的算法之一,以字符串为例,字符串a和字符串b的编辑距离是将a转换成b的最小操作次数,这里的操作包括三种: 插入一个字符 删除一个字符 替换一个...

2017-12-26 15:50:08

阅读数:1150

评论数:0

求素数个数

我最近在leetcode上撸了一个小算法,虽然已经工作了五年,当看到每次代码提交后排名的提升,内心依然很有成就感。题目比较简单,求小于n的素数个数,素数也叫质数,具有以下特点: 正整数 只能被1和本身整除 1既不是素数也不是合数,所以最小的素数是2 根据上面的特点,我们还可以推断出: 除了2,其它...

2017-12-10 22:20:17

阅读数:1048

评论数:0

服务化架构下的数据一致性如何保证

在系统服务化的过程中,我们不得不面临的一个问题是多个子系统间业务数据的一致性如何保证,解决这个问题有多种方式。XA可能很多人首先会想到XA规范中定义的分布式事务,下图是XA规范中定义的DTP(Distributed Transaction Processing)模型: 但该模式并不适用于如今...

2017-10-27 10:40:24

阅读数:1058

评论数:2

探究InnoDB可重复读

在RC(Read Committed)和RR(Repeatable Read)两种事务隔离级别下,InnoDB存在两种数据读取方式: 快照读(Snapshot Read) 故名思意,快照读读取的都是快照数据,快照怎么来,在InnoDB引擎下是基于undo log,那undo log又是什么...

2017-10-17 11:15:35

阅读数:1060

评论数:0

CAP理论十二年回顾:"规则"变了

CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了...

2017-10-09 20:02:04

阅读数:1230

评论数:0

去哪儿网任务系统演进

这是我分享在公司公众号的一篇文章,比较偏业务: http://mp.weixin.qq.com/s/ttNjEgIQ01MgOol7piTjcg

2017-09-01 17:47:01

阅读数:1425

评论数:2

增量接口的设计及实现

引言 在应用开发过程中,我们总会碰到这样的场景:某系统需要同步我们系统的数据去做一些业务逻辑,当数据量较小的时候,可以全量的提供,但当数据量很大时,全量提供就显得很笨重,不仅耗时而且做了很多无用功,这时我们需要一种提供增量数据的机制,只告诉对方变化的数据。提供增量数据大致可分为两种方式:MQ和接...

2017-03-20 15:26:57

阅读数:4013

评论数:0

再聊线程池

最近恰好在组内分享线程池,又看了看四年前自己写的线程池文章,一是感叹时光荏苒,二是感叹当时的理解太浅薄了,三是感叹自己这么多年依然停留在浅薄的理解当中,没有探究其实现,羞愧难当。遂把分享的内容整理出来,希望能够让读者对线程池有一个全新的认识。

2016-12-09 23:29:15

阅读数:7291

评论数:13

Hession反序列化导致CPU占用飙高

今天发布一个线上服务,暂且称之为O,发布完后,依赖O服务的2个服务C和W大量Time报警,并且这两个服务的CPU占用都飙到了40%左右,平时只有10%的样子。 这时去看O服务的监控,Time并没有升高,QPS反倒降了一半。同时C和W服务器日志中出现了大量的WARNING,信息如下:java....

2016-12-03 00:08:26

阅读数:4321

评论数:4

装修后记

硬装墙漆 品牌:多乐士 价钱:1000 数量:1桶18L面漆+2桶5L底漆 地址:京昌回龙观建材城3区4号 备注:官网找的门店,服务很差。进门点就推荐我买底漆,说底漆遮盖强,我进了两家店都这样讲。但从实际体验来看,不推荐买底漆,即使是无添加底漆也有味道,并且遮盖也不行,远远不如面漆 厨房地砖 品牌...

2016-11-26 11:07:14

阅读数:2547

评论数:2

Java奇淫巧技之Lombok

背景   我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法,那Java中有没有一种方式能够避免...

2016-09-08 14:35:28

阅读数:71203

评论数:9

如何替换博客的搜索模块

CSDN的博客其实并不好用,问题很多,这里就不一一列举。前段时间突然发现,量子横道统计不知道从什么时候下线了,我当时正要跟同事去show一下我博客的pv,结果没show出来,我就反馈了什么时候把统计服务更换一下啊,当时是在一个升级公告底下反馈的,结果当然是没人鸟啦。这件事也没在意,官方不解决就拉倒...

2016-08-14 20:56:38

阅读数:2055

评论数:3

MySQL字符集不一致导致索引失效

两个表join查询,却不走连接条件的索引。当索引无问题,sql也无问题时,就可以去看看这两个表的字符集是否一致,这是我耗费一个下午得出来的经验教训。

2016-08-02 20:26:41

阅读数:2873

评论数:0

如何实现基于商圈和地标的位置搜索

标题中包含了两个关键词,商圈和地标,先来解释一下商圈和地标这两个名词。商圈是一个地理范围,但并不是官方的划分,而是民间大致的划分,它通常提供了民众消费、娱乐的功能,产生了一个相对集中的活动区域,比如王府井、五棵松。地标是地图上的一个点,它通常在某个范围有一定知名度,大家都知道它,它可以是一个大厦、...

2016-07-19 18:11:46

阅读数:6155

评论数:0

夏天蚊子来了

哈哈

2016-06-19 13:47:53

阅读数:2530

评论数:5

Guava Predicate

Predicate<泛型>(断言,断定),是Guava中的一个基础接口,其内部只有一个方法`boolean apply(T input)`,这个方法输入是一个泛型对象,输出是一个布尔值,非常简单,下面来看一下这个小东西能帮助我们做

2016-06-18 23:45:24

阅读数:3881

评论数:0

Java线程(七):Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被...

2016-02-05 15:12:04

阅读数:251451

评论数:56

如何实现按距离排序、范围查找

简介现在几乎所有的O2O应用中都会存在“按范围搜素、离我最近、显示距离”等等基于位置的交互,那这样的功能是怎么实现的呢?本文提供的实现方式,适用于所有数据库。实现为了方便下面说明,先给出一个初始表结构,我使用的是MySQL:CREATE TABLE `customer` ( `id` IN...

2016-01-30 11:58:03

阅读数:29964

评论数:6

CiscoVPNClient不支持WIN10

最近系统由WIN8.1升级到了WIN10,几乎所有软件都不存在兼容问题,唯独CiscoVPNClient不能使用了。幸好找到了替代品Shrew Soft VPNClient,免费,并且支持pcf导入,下载地址:https://www.shrew.net/download/vpn/vpn-clien...

2015-08-15 16:09:09

阅读数:24797

评论数:7

Java线程(十一):Fork/Join-Java并行计算框架

并行计算在处处都有大数据的今天已经不是一个新鲜的词汇了,现在已经有单机多核甚至多机集群并行计算,注意,这里说的是并行,而不是并发。严格的将,并行是指系统内有多个任务同时执行,而并发是指系统内有多个任务同时存在,不同的任务按时间分片的方式切换执行,由于切换的时间很短,给人的感觉好像是在同时执行。 ...

2015-07-22 21:12:51

阅读数:14099

评论数:15

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