自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 raft协议 论文

概述 raft通过操作日志备份的方式实现一致性算法。在达到的效果和可用性上与paxo相比没有什么区别,但是思维方式却有很大的不同;raft比paxos更容易理解,也更容易在此基础上工程化。为了便于理解,raft将一致性算法分解成了几个关键部分,例如,leader选举、操作日志分发备份、算法安全等,另外,为了更高强度的一致性(弱一致性----->强一致性,状态越少,速度越快,一致性越能得到

2017-11-20 09:23:08 1301

翻译 distributed locks with redis,分布式锁在redis中的实现

基于redis的分布式锁实现在很多环境中不同的进程需要以排他性的方式占用共享资源,此时分布锁就成为一项很有用且必须的功能。现在有很多的博客描述了 如何在redis的基础上实现分布式锁,并且进行了实现。但是每种实现都采用了不同的方式,有些实现比较简单,但是不能够保证功能完全实现并正确,有些实现稍微复杂些,但是在功能方面就比较完整。这篇文章致力于提供一个在redis基础上实现分布式

2015-07-09 17:17:27 3988 2

原创 HTTPS协议详解

证书的生成就是依赖上文所述的非对称加密算法。所谓对称加密算法,加密、解密使用相同的密钥,常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。相应的非对称加密算法用于加密、解密的密钥是一对儿,如果用其中一个来加密,只能用另外一个来解密,反之亦然,常用的算法有:RSA、DSA、ECC、DH等。终端证书由CA证书签发,这个CA证书由另外一个CA证书签发,循环往上,直至根证书。终端证书是由CA机构的证书进行签发的,那么CA机构的证书又是谁签发的?

2023-05-11 19:44:26 579

原创 CAP理解

CAP是随着分布式系统诞生而产生的。而分布式的架构,就是为了解决“单机可用性”的问题。但是分布式架构一个不可避免的问题就是会发生分区,只是发生的概率问题。在发生分区的情况,就需要想办法来解决CA的问题,某些极端情况下,需要在C和A之间进行取舍。总结:CAP不是三选二的问题,而是在发生P的情况下,怎么尽可能的提升C与A。我们要做的就是:尽量减少分区的发生,尽量提升一致性与可用性,无论通过什么方式。

2022-11-11 17:03:08 440

原创 mysql 事务隔离级别详述

针对幻读,网上有太多的各种解释,并且百分之九十都是错误的,mysql官网也没有给出具体的例子。我先按照我觉得比较对的一种进行解释

2022-09-14 20:31:07 269

原创 Java垃圾回收算法CMS和G1的区别

首先内存模型不一样:CMS还是采用传统的年轻代(包括一个伊甸区,两个幸存区)、老年代。 G1是把内存切分成大小相等的区域(region),逻辑上把他们划分为伊甸区、幸存区、老年区。CMS(cocurrent mark and sweep)major gc步骤:init mark:从roots出发(线程、静态引用、新生代)遍历存活对象;这个阶段应用线程暂停。 cocurrent mark:多个垃圾回收线程同时遍历JVM内存的存活对象;这个阶段应用线程是运行状态。 remark:上个阶段中,可能

2020-11-09 16:10:22 1147

原创 http 500 错误总结

500: Internal server ErrorThe server encountered an unexpected condition which prevented it from fulfilling the request.应用代码出了问题,比如说空指针、数据库异常、访问其它服务的网络异常等等,被tomcat容器捕获后,返回500错误。501:Not ImplementedThe server does not support the functionality req.

2020-06-10 16:55:19 4590

转载 不错的JavaGC 调优文章

https://www.cubrid.org/blog/understanding-java-garbage-collection/

2020-03-25 15:30:43 98

原创 Java reference详解

最近在做一个服务编排执行引擎的东西,其中业务逻辑执行的参数上下文存储在了ThreadLocal里面,为了保证运行参数不丢失,对ThreadLocal进入了一些源码研究,发现实际的存储是在ThreadLocalMap里面,而map的中key居然是weakreference类型,这能保证GC的时候,业务运行参数不丢失吗?由此,对不同的引用reference做了一下深入了解,机制是什么?应用的场景是什么...

2019-12-09 19:27:33 491 1

原创 信号量与互斥量的区别

semaphore虽然也能提供临界资源保护的功能,但是信号量的应用场景并不是为了保护临街资源,只是为了线程间的同步执行;A线程执行完自己的操作后,发送了semaphore,B线程获取到semaphore后接着执行自己的操作,但是A的操作与B的操作可能没有任何关系,也不会访问相同的临界资源。

2019-12-07 16:10:16 788

原创 细说JVM的垃圾回收机制

什么是垃圾回收?从字面看来,按字面意思来理解就是--找到垃圾对象并将他们抛弃掉;事实却正好相反,垃圾回收是把处于活动状态的对象找出来,而将剩余的对象标记为垃圾对象。基于此理论,我们来详细描述java virtual machine的自动垃圾回收机制。我们首先从最基础的垃圾回收的一些属性、概念、方法讲起,而不会直奔主题:JVM的垃圾回收机制。声明:  这边文章主要论述Oracle HotSpot和O...

2018-04-18 21:43:30 359

翻译 哈希定时轮、层级定时轮:有效的定时轮实现数据结构

概要如果用一般的算法去实现操作系统中的定时模块儿,那么插入一个定时任务或者处理一个到期的定时任务的时间复杂度大概为O(n),n标示的是已经处于等待的定时任务,如果n的值很大,那么消耗也一定很大。这篇文章首先描述了定时算法、分散事件模拟当中的时间流转机制(time flow mechanisms used in discrete event simulations)、排序算法三者之间的联系。接着

2017-12-14 19:05:36 1208

原创 基于DAO层上的分库分表、及mybatis实现

代码地址:点击打开链接1.架构框架1. 概述框架采用反射、动态代理、泛型、注解等技术实现;主要设计模式:代理、接口回调、本地线程;本框架主要抽取了分库分表、全局事物的处理,具体业务代码不再涉及分库分表逻辑,同时可以选择性的代理事物控制。分库分表在DAO层实现。不同的O/R模型需要提供各自实现以便支持本框架;现已实现Mybatis的接入。全局事物在Service层进行实现,具体业

2017-12-07 20:24:36 3257

原创 网络异常那些事

java里经常爆出的网络异常都是啥原因引起来得呢?其实java本身没做什么,只是如实上报了系统反馈的异常。1.host unreachable,network unreachable 两个异常出现的原因是因为路由设置有问题:a. 当向某一个目标IP发送数据包时,首先检查一下路由表,看看是否有和目标IP完全匹配的路由记录(网络id和主机id都相同),如果有,则将数据包发送到下一个路由...

2015-12-22 10:48:25 1462

原创 Java 多线程警告不阻塞,单线程处理警告实现

import java.util.concurrent.atomic.AtomicBoolean;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * 此类提供的锁机制如下: * 多个线程可以发送警告事件,如果警告已经被触发,则直接忽

2015-11-12 16:19:09 553

原创 maven编译依赖rt.jar、jce.jar等内部类不能编译问题

maven在编译sun私有api不能找到相应类时的解决方案

2015-09-07 18:03:04 14346

翻译 mysql当中时间类型是如何存储的

一直很好奇时间类型在mysql中的存储形式,终于在mysql官网中找到了答案:下面的表格描述了不同时间类型在不同数据库版本中是如何存储的。Type Storage before MySQL 5.6.4 Storage as of MySQL 5.6.4 YEAR 1 byte, little endian

2015-08-11 17:48:27 2887

paxos-simple.pdf

作者声明算法时的第一版文档,paxos第一版描述,比较生动、易懂

2014-11-13

Time, Clocks, and the Ordering of Events in a Distributed System

分布式系统实现同步的方式,partial ordering、total ordering、及其基于physical clock 实现的 Strong Clock Condition

2014-11-13

SOA_Using_Java_Web_Services.pdf

SOA Using Java Web Services 英文版原文

2010-09-27

svn基础教程.pdf

svn基础教程,pdf格式,对svn的操作作了基本的描述

2009-09-26

spring_referece_inchinese_m2.pdf

spring_referece_inchinese_m2.pdf

2008-09-22

空空如也

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

TA关注的人

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