Redis结合AQS实现Java版的可重入分布式锁

前言 对于java的单进程应用来说,存在资源竞争的场景可以使用synchronized关键字和Lock来对资源进行加锁,使整个操作具有原子性。但是对于多进程或者分布式的应用来说,上面提到的锁不共享,做不到互相通讯,所以就需要分布式锁来解决问题了。 废话不多说,直接进入正题,下面结合AQS和Re...

2018-01-30 15:37:43

阅读数 1336

评论数 4

初始化与清理(3)

初始化当类的成员变量没有指定初始化值时,在实例化时会初始化一个默认的值,而方法的局部变量一定要进行初始化,否则编译器会报错。初始化顺序 静态数据初始化 非静态数据初始化 构造器初始化 当对多种初始化方式对同一个变量进行了初始化,该变量的值会被覆盖,例如一个非静态成员变量会首先被初始化为一个默认值...

2016-03-31 16:29:40

阅读数 193

评论数 0

初始化与清理(2)

垃圾回收器如何工作 引用计数 引用计数是一种简单但速度很慢的垃圾回收计数。每个对象都含有一个引用计数器,当有一个引用连接至对象时,引用加1,当 引用离开作用域或被置为null时,引用减1。当对象的引用变成0的时候,这个对象会被回收。但是这种方法有个缺陷,就是当两个对象互相引用,而且这个对象都不再...

2016-03-30 19:13:44

阅读数 221

评论数 0

Centos系统下docker的安装与卸载

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和...

2016-03-04 09:57:06

阅读数 35605

评论数 1

初始化与清理(1)

用构造器确保初始化 构造器的名称必须与类名完全相同。 类的构造器相当于一个创建对象时执行的方法,当不写构造器的时候,会默认为类提供一个无参构造器。 当写了一个有参数的构造器的时候,无参构造器便不会默认提供了,如果有需要的话,还是要再写。 class Rock { //无参构造器 Ro...

2016-02-25 22:32:31

阅读数 232

评论数 0

操作符

在最底层,Java中的数据是通过使用操作符来操作的。赋值运算符 = 在Java中,基本类型的赋值会改变被赋值变量的值,但是对对象的赋值改变的是引用class Tank { int level; }public class Assignment { public static vo...

2016-02-22 20:21:42

阅读数 157

评论数 0

创建新的数据类型:类

类是对对象的抽象,好比猫狗都属于动物类,对象是类的一个实例。在Java中类是一种数据类型,用class关键字定义。字段和方法 字段是类关联的一个成员,好比动物有体重、身高,这些就是动物的字段 方法就是类的一个动作,好比动物可以吃东西,吃东西就是动物类拥有的一个方法 方法的构成包括:名称、参数、返...

2016-02-22 15:09:44

阅读数 359

评论数 0

Java编程思想初学

一切都是对象用引用操纵对象一切都可以视为是对象,但是对象要如何操纵呢? 首先要创建一个对象的一个引用:String s;这时创建的只是引用,并不是对象,默认值为null,此时如果去操纵这个对象,将会发生错误。因此需要进行初始化。String s = "this is a string....

2016-02-21 00:08:06

阅读数 276

评论数 0

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