摘要: XXX项目采用分布式架构部署,要保证同一个客户信息不能同时被两个客户端操作,故采用redis做分布式锁。 分布式锁 分布式锁本质上要实现目标就是在Redis里面占一个坑,当别的进程也要来占用时,发现已经有人蹲在那里,只好放弃或者等待。(以下分析基于Redis单实例) 占坑一般是使用 setnx(se 阅读全文
posted @ 2019-04-02 23:05 江洋小盗 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 最近在review代码的时候发现一个假单例模式, 从而想总结下单例模式。假单例模式代码如下: 从代码中可以看出类的构造函数(第七行)是public类型,不能保证只有一个实例。 一、单例模式定义 从上面假单例代码中可以看出,单例模式保证一个类仅有一个实例,并且提供一个全局访问点。有以下几个特点: 1、 阅读全文
posted @ 2019-04-01 22:36 江洋小盗 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 项目中经常使用arraylist,知道到怎么使用,但是还未看过它的底层实现原理,现在结合jdkapi以及源码分析下。 一、ArrayList概述 从api上可以看出,ArrayList是实现List接口的“动态数组”,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的 阅读全文
posted @ 2017-03-31 13:30 江洋小盗 阅读(312) 评论(0) 推荐(0) 编辑
摘要: underscore.js是一个JS框架,在原生JavaScript基础上提供了很多有用的工具API。 underscore官网 http://underscorejs.org/官网中文翻译 http://www.css88.com/doc/underscore/。 直接上代码,我是直接引用js,官 阅读全文
posted @ 2016-12-21 13:50 江洋小盗 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 最近重新看了下javascript高级程序这边书,在以往的工作中虽然用到了js,但是都是很简单的应用,从来都没有系统的学习过相关书籍,趁此机会记录下学习过程 阅读全文
posted @ 2016-12-20 14:19 江洋小盗 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1、基本思想:在一组未排序的数组中,自上而下(从数组下标为0的位置开始)对相邻的两个数依次比较、交换顺序,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 2、实例: 3、java代码实现: 第1次1 5 4 3 9 第2次1 4 3 5 9 第 阅读全文
posted @ 2016-12-20 12:53 江洋小盗 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1、本文结合项目中使用以及此篇博客http://www.cnblogs.com/chenssy/p/3521565.html 记录hashmap原理 package java.util; import java.io.*; public class HashMap<K,V> extends Abst 阅读全文
posted @ 2016-12-15 10:43 江洋小盗 阅读(266) 评论(0) 推荐(0) 编辑