自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(244)
  • 资源 (17)
  • 收藏
  • 关注

转载 深入理解wait/notify/notifyAll的作用

notify: 唤醒在监视器对象上等待的单个线程,此时调用该方法的代码继续执行。notifyAll: 唤醒在监视器对象上等待的所有线程,此时调用该方法的代码继续执行。第一、为什么会有wait/notify/notifyAll这几个方法?(1) wait/notify/notifyAll是为了避免轮询(尝试执行)带来的性能损失,这句话是什么意思?看下面的讲解:为了说清道理,我们用“图书馆借书...

2018-09-12 10:26:13 2299 3

转载 分布式理论(3):Paxos Made Simple

作者:LESLIE LAMPORT 2001 译者:phylips@bmy 2011-4-30出处:http://duanple.blog.163.com/blog/static/709717672011440267333/ [序:在PODC2001会议上,我总是听到人们在抱怨paxos算法是那么的难以理解。人们总是被那些古希腊的名称弄得晕头转向,而使得他们觉得论文难以理解,实际上算法...

2018-08-22 17:25:54 390

转载 How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs

作者:Leslie Lamport 1979原文:make-multiprocessor-computer-correctly-executes-multiprocess-programs译者:phylips@bmy 2018-03-24译文:http://duanple.blog.163.com/blog/static/70971767201822515346732/ 高...

2018-08-21 17:11:03 573

转载 线性一致性理论

Jepsen(项目主页)是开源的分布式测试框架,基于Clojure语言,支持各种错误注入。目前广泛应用在各种分布式系统的测试中,尤其是一致性协议实现的测试中。Jepsen测试中支持验证系统的线性一致性,关于线性一致性,中文的介绍非常少,目前网上能搜到的大概只有tidb(一个创业公司PingCAP研发的分布式数据库)的一篇Linearizability 一致性验证。要理解理论,最好的方法还是直接...

2018-08-21 17:01:25 3167 2

原创 分布式系统领域经典论文翻译集

分布式系统领域经典论文翻译集http://duanple.com/?p=170

2018-08-21 16:57:56 719

转载 分布式事务之两阶段提交

作者:Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman. 1987原文:Concurrency Control and Recovery in Database Systems译者:phylips@bmy 2013-02-14译文:http://duanple.blog.163.com/blog/static/70971767...

2018-08-21 10:11:29 535

原创 mysql查询死锁的方法

SELECT * FROM test.user;use test;SET SQL_SAFE_UPDATES=0;SET AUTOCOMMIT=0;update user set desc2 = (  case  when age = 6 and name='a' then 'haeeohaoh'  when  age = 564 and name='r' then 'eekeyi...

2018-08-10 15:37:51 262

转载 一次Mysql死锁排查过程的全纪录

前言之前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入地去分析与锁相关的源码,但是如果我们能够掌握基本的死锁排查方法,对我们的日常开发还是大有裨益的。PS:本...

2018-08-09 18:42:50 189

转载 高性能队列——Disruptor

转载地址:https://tech.meituan.com/disruptor.html背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin...

2018-08-08 11:43:08 245

转载 如何快速实现高并发短文检索

转载地址:https://mp.weixin.qq.com/s/uCx0VUKzvagPVTpjy7Co1w一、需求缘起某并发量很大,数据量适中的业务线需要实现一个“标题检索”的功能:(1)并发量较大,每秒20w次(2)数据量适中,大概200w数据(3)是否需要分词:是(4)数据是否实时更新:否 二、常见潜在解决方案及优劣(1)数据库搜索法具体方法:将标题数...

2018-07-18 16:03:30 235

原创 红黑树

    /** From CLR  新增一个节点之后需要修正树的结构*/    private void fixAfterInsertion(Entry<K,V> x) {        x.color = RED;//默认置成红色,这样做为了把问题简单化,可以考虑尽量少的情况        while (x != null && x != root &...

2018-07-18 09:57:25 170

转载 AOP的实现机制

原文地址:http://www.iteye.com/topic/11166961 AOP各种的实现 AOP就是面向切面编程,我们可以从几个层面来实现AOP。 在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。   类别 机制 原理 ...

2018-07-17 08:48:18 362

原创 一致性hash算法

package arithmetic;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.SortedMap;import java.util.TreeMap;/** * 一致性hash算法 * 类名称:    ConsistentHash * 类描述: ...

2018-07-10 10:51:19 166

原创 分布式系统的Raft算法

文章地址:https://www.jdon.com/artichect/raft.html演示地址:http://thesecretlivesofdata.com/raft/

2018-07-03 15:31:09 261

原创 jdk8 hashcode 扰动函数

static final int hash(Object key) {        int h;        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);    }

2018-07-03 10:10:16 1086

转载 字符串匹配算法之:有限状态自动机

阅读博客的朋友可以参看视频: 如何进入google,算法面试技能全面提升指南什么叫有限状态自动机先看一个图: 上面这个图描述的就叫一个有限状态自动机,图中两个圆圈,也叫节点,用于表示状态,从图中可以看成,它有两个状态,分别叫0和1. 从每个节点出发,都会有若干条边,当处于某个状态时,如果输入的字符跟该节点出发的某条边的内容一样,那么就会引起状态的转换。例如,如果当前状态处于0,输入是字符a,那么状...

2018-06-28 10:23:25 1341

原创 lucene 分配数组大小 (newSize + 1) & 0x7ffffffe

  public static int oversize(int minTargetSize, int bytesPerElement) {    if (minTargetSize < 0) {      // catch usage that accidentally overflows int      throw new IllegalArgumentException("inval...

2018-06-28 10:17:51 343

原创 netty源码之 DefaultEventExecutorChooserFactory 之2的整数次幂设计

package io.netty.util.concurrent;import io.netty.util.internal.UnstableApi;import java.util.concurrent.atomic.AtomicInteger;/** * Default implementation which uses simple round-robin to choose next {@...

2018-06-01 09:37:30 431

原创 使用Maven构建多模块项目

第一步:创建spring-code-test,用来给各个子模块继承。mvn archetype:generate -DgroupId=me.gacl -DartifactId=spring-code-test -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false注:maven3.0.5以上版本舍弃了crea...

2018-05-06 11:33:16 204

转载 理解分布式id生成算法SnowFlake

分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。概述SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是041位,用来记录时间戳(毫秒)。41位可以表示241−1个数字,如果只用来表示正整数(计算机中...

2018-05-03 10:33:50 381

转载 如何通俗易懂地解释卷积?

作者:鱼腻链接:https://www.zhihu.com/question/22298352/answer/91131073来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。关于卷积的一个血腥的讲解比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就...

2018-04-26 16:44:31 188

转载 sku组合查询算法探索

在前端领域,很少会遇到算法问题,这不能说不是一种遗憾。不过,随着前端处理的任务越来越复杂和重要,偶尔,也能遇到一些算法上的问题。本文,所要讨论的,就是这样一样问题。什么是SKU问题来自垂直导购线周会的一次讨论,sku组合查询,这个题目比较俗,是我自己取得。首先,看下什么是sku,来自维基百科的解释:最小存货单位(Stock Keeping Unit)在连锁零售门店中有时称单品为一个SKU,定义为保...

2018-04-16 09:05:40 2304

转载 谈谈HTML5本地存储——WebStorage

浏览器本地存储概述 简介 cookie cookie是指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。webStorage webStorage是HTML5中本地存储的解决方案之一,包括sessionStorag和localStorage,两者差别就差在生命周期的不同而已。三者对比 类型 生命周期 存储大小 与服务器通信 作用域 Cookie 一...

2018-04-16 08:42:28 302

转载 jQuery除指定区域外点击任何地方隐藏DIV功能

$('body').click(function(e) {  var target = $(e.target);  // 如果#overlay或者#btn下面还有子元素,可使用  // !target.is('#btn *') && !target.is('#overlay *')  if(!target.is('#btn') && !target.is('#ove...

2018-04-16 08:41:07 3313

原创 第11课:彻底解析wordcount运行原理

本期内容:1. 从数据流动视角解密WordCount,即用Spark作单词计数统计,数据到底是怎么流动的。2. 从RDD依赖关系的视角解密WordCount。Spark中的一切操作皆RDD,后面的RDD对前面的RDD有依赖关系。3. DAG与Lineage的思考。依赖关系会形成DAG。1. 从数据流动视角解密WordCount(1)在IntelliJ IDEA中编写下面代码:package com...

2018-03-04 10:49:09 456

原创 怎样理解spark中的partition和block的关系

一、hdfs中的block是分布式存储的最小单元,类似于盛放文件的盒子,一个文件可能要占多个盒子,但一个盒子里的内容只可能来自同一份文件。假设block设置为128M,你的文件是250M,那么这份文件占3个block(128+128+2)。这样的设计虽然会有一部分磁盘空间的浪费,但是整齐的block大小,便于快速找到、读取对应的内容。(p.s. 考虑到hdfs冗余设计,默认三份拷贝,实际上3*3=...

2018-03-04 09:42:57 998

转载 2017 最新java面试题(技术面试)

1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。2、s...

2018-03-02 11:44:17 310

转载 Java常量池(静态常量池与运行时常量池)

 1、什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。    1)所谓静态常量池,即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串(数字)字面量,还包含类、方法的信息,占用class文件绝大部分空间。    ...

2018-03-02 11:12:50 30853 22

转载 点餐系统——数据库设计

一、 数据库设计1.用户表    字段字段类型字段描述备注U_IDInt 主键、自增U_LoginIDVarchar(20)(登陆账号)电话号码U_Ni

2017-12-08 14:04:28 22838 1

转载 ySQL性能优化的21个最佳实践和mysql使用索引

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。  

2017-12-05 16:19:29 505

转载 java之yield(),sleep(),wait()区别详解

1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行

2017-12-01 16:20:11 135

原创 JVM 指令中单词的缩写

bipush : byte immediate pushsipush : short immediate pushldc : load constant

2017-11-30 14:03:22 597

转载 KMP,深入讲解next数组的求解

前言    之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或错误的请给我留言。

2017-11-19 10:55:35 262

转载 Java内部类详解

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指正。  请尊重作

2017-11-17 18:08:43 160

转载 有向图的拓扑排序算法JAVA实现

一,问题描述给定一个有向图G=(V,E),将之进行拓扑排序,如果图有环,则提示异常。要想实现图的算法,如拓扑排序、最短路径……并运行看输出结果,首先就得构造一个图。由于构造图的方式有很多种,这里假设图的数据存储在一个文件中,每一行包含如下的信息:LinkID,SourceID,DestinationID,Cost其中,LinkID为该有向边的索引,SourceID为该有向边的起

2017-11-17 09:47:42 1245

转载 数据结构--图 的JAVA实现(下)

在上一篇文章中记录了如何实现图的邻接表。本文借助上一篇文章实现的邻接表来表示一个有向无环图。1,概述图的实现与邻接表的实现最大的不同就是,图的实现需要定义一个数据结构来存储所有的顶点以及能够对图进行什么操作,而邻接表的实现重点关注的图中顶点的实现,即怎么定义JAVA类来表示顶点,以及能够对顶点进行什么操作。为了存储图中所有的顶点,定义了一个Map,实际实现为LinkedHashMap>

2017-11-16 17:17:32 214

转载 数据结构--图 的JAVA实现(上)

1,摘要:本系列文章主要学习如何使用JAVA语言以邻接表的方式实现了数据结构---图(Graph),这是第一篇文章,学习如何用JAVA来表示图的顶点。从数据的表示方法来说,有二种表示图的方式:一种是邻接矩阵,其实是一个二维数组;一种是邻接表,其实是一个顶点表,每个顶点又拥有一个边列表。下图是图的邻接表表示。从图中可以看出,图的实现需要能够表示顶点表,能够表示边表。邻接表指是的哪部分呢?

2017-11-16 15:23:15 474

转载 图的存储结构-十字链表和邻接多重表

1、十字链表对于有向图来说,邻接表是有缺陷的。关心了出度问题,想了解入度就必须要遍历整个图才能知道。反之,逆邻接表解决了入度却不了解出度的情况。有没有可能把邻接表和逆邻接表结合起来呢?答案是肯定的,就是把它们整合在一起。这种存储有向图的方法是:十字链表(Orthogonal List).我们重新定义顶点表结点结构为:datafirstinfirstout

2017-11-16 14:12:51 599

转载 Java之深入JVM(3) - 由一个栈溢出的问题看Java类和对象的初始化

今天,在一个群里面有网友问到这样一个问题,以下代码被调用运行时为何会造成栈溢出(StackOverflowError)的错误:public class Constructor { Constructor c = new Constructor(); public static void main(String[] args) { Constructor tes

2017-11-15 16:28:48 162

转载 Java之深入JVM(1) - 由i++ 和 ++i的执行速度所想到的

i++++i i-=-1i+=1 以上的四句代码,问那句的执行速度更快?对于C/C++程序员来说,可能首先想到的就是i++和++i要比其他两者要快一些,但是在Java中是不是这样的呢?我们可以对他进行一些分析,首先当然想到的是对这些语句利用Java的System.currentTimeMillis()计算单个语句运行很多次(如10亿次)后

2017-11-15 16:05:51 457

mybatis中文版教程

mybatis中文版教程

2014-01-13

Hadoop源代码分析完整版.

Hadoop源代码分析完整版.

2014-01-13

hadoop实战培训

hadoop实战培训-传智播客

2014-01-13

深入java虚拟机

深入java虚拟机

2014-01-02

Ext+JS权威指南

Ext+JS权威指南Ext+JS权威指南Ext+JS权威指南Ext+JS权威指南Ext+JS权威指南

2014-01-02

Java设计模式

Java设计模式

2014-01-02

(带书签)Hadoop权威指南(中文版)

(带书签)Hadoop权威指南(中文版)

2013-12-27

EasyHdoop应用开发第二次聚会

EasyHdoop应用开发第二次聚会

2013-12-27

json-lib-2.4-jdk15.jar

json-lib-2.4-jdk15.jar

2013-12-27

mail.jar架包

java 发送邮件包 解压后 把activation.jar和mail.jar 拷贝到 WEB-INF/lib 下就可以直接在项目中使用

2013-05-26

dom.jar架包

java dom jar包 网上很难找到

2013-05-26

java_spring基本教程

java_spring基本教程

2013-03-14

spring .jar

spring jar 包详解 spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会

2013-02-24

aliedit.exe

pc6官方下载为您提供aliedit.exe,aliedit.exe其实就是淘宝等购物网站需要的支付宝插件安装程序。也就是支付宝安全控件,您可以免费下载。

2013-02-24

commons-logging.jar

mmons Logging 的使用方法的相关文章:应用程序中使用好日志(Logging)功能能够方便的调试和跟踪应用程序任意时刻的行为和状态。在大规模的应用开发中尤其重要,毫不夸张的说,Logging是不可或缺的重要组成部分。

2013-02-24

空空如也

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

TA关注的人

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