最新文章
-
09 2018年07月
ReentrantLock详解
ReentrantLock介绍ReentrantLock可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大,更灵活的锁机制,可以减少死锁发生的几率。API介绍如下:一个可重入的互斥锁定 Lock,它具
-
09 2018年07月
-
05 2018年07月
-
09 2018年06月
Centos7搭建邮件服务器
最近因为要搭建shadowsocks-manager要用到邮件服务,虽然提供了第三方的邮件服务,但是还时想自己动手搭建邮件服务,VPS空着也是空着,随便也可以练一下手,何乐而不为了好了,废话不多说了开始搭建前需准备:域名一个(需要解析的)postfixdovecotcycus-sasl域名解析作者用
-
07 2018年06月
VPS安装ssmanager
相信有很多人和作者一样都自己搭建了VPS,用于科学上网,但一个人每月的流量都用不完,其实是可以分享给他人的嘛,如果随便还能赚点小钱,何乐而不为了。所以就有了下面的教程,请出今天的主角shadowsocks-manager,废话不多少,直接开始本文所使用的linux环境:CentOS7另外因为之前我的
-
05 2018年06月
AbstractQueuedSynchronizer详解
AQS简介AbstractQueuedSynchronizer简称AQS,即抽象的队列同步器,它是构建锁或者其他同步组件的基础框架(如ReentrantLock、ReentrantReadWriteLock、Semaphore等),JUC并发包的作者(Doug Lea)期望它能够成为实现大部分同步需
-
04 2018年06月
Semaphore信号量
信号量Semaphore是一个控制访问多个共享资源的计数器,和CountDownLatch一样,其本质上是一个“共享锁”。Semaphore介绍Semaphore在API是这么介绍的:一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前阻塞每一个acquire(),然后在获得该
-
29 2018年05月
volatile关键字
在java语言规范中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。简单点来说就是一个变量如果用volatile修饰了,则java可以确保所有线程看到这个变量的值是一致,如果某个线程对volatile修
-
25 2018年05月
RocketMQ安装
开始安装RocketMQ之前,需要自行安装Maven,JDK,并配置好环境变量,具体的安装过程这里就省略了本文中使用的环境为:JDK: 1.8.0_91Maven: 3.5.3(印象中RocketMQ是对Maven版本有要求的)RocketMQ: 4.2.0CentOS: 6.6下载这个不用多说,点
-
22 2018年05月
CentOS7安装maven
下载maven点击下放链接下载即可Apache官方下载解压安装tar -zxvf apache-maven-3.3.9-bin.tar.gz mv apache-maven-3.3.9 maven (重命名文件夹,这一步骤可省略,主要是为了后面方便操作)配置环境变量使用vim编辑/etc/profi