StampedLock是JUC并发包里面JDK1.8版本新增的一个锁,该锁提供了三种模式的读写控制,当调用获取锁的系列函数的时候,会返回一个long 型的变量,该变量被称为戳记(stamp),这个戳记代表了锁的状态。 try系列获取锁的函数,当获取锁失败后会返回为0的stamp值。当调用释放锁和转换 ...
分类:
编程语言 时间:
2018-06-17 00:12:15
阅读次数:
197
Nginx服务优点:稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求)一、编译安装Nginx1.安装支持软件Nginx的配置运行需要pcre-devel、zlib-devel、gcc、gcc-c++等软件包的支持,因此应预先安装这些软件的开发包。若服务器中已装有httpd等其他Web服务软件,应采取措施如修改端口、停用或卸载等以避免冲
分类:
其他好文 时间:
2018-06-16 14:31:10
阅读次数:
157
AQS concurrent并发包中非常重要的顶层锁类,往往用的比较多的是ReentrantLock,然而ReentrantLock的实现依赖AbstractQueuedSynchronizer在到上层CountDownLatch、Semaphore等不是基于ReentrantLock就是Abstr ...
分类:
编程语言 时间:
2018-06-14 20:50:54
阅读次数:
217
TCP协议中有个慢启动,在《TCP/IP详解卷一》中占据的篇幅很小,但是这个东西,在某些业务场景下,对性能的影响非常大。 什么是慢启动 最初的TCP的实现方式是,在连接建立成功后便会向网络中发送大尺寸的数据包,假如网络出现问题,很多这样的大包会积攒在路由器上,很容易导致网络中路由器缓存空间耗尽,从而 ...
分类:
其他好文 时间:
2018-06-14 11:43:45
阅读次数:
146
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分 ...
分类:
其他好文 时间:
2018-06-13 23:31:34
阅读次数:
245
0x00 背景 周一早上刚到办公室,就听到同事说有一台服务器登陆不上了,我也没放在心上,继续边吃早点,边看币价是不是又跌了。不一会运维的同事也到了,气喘吁吁的说:我们有台服务器被阿里云冻结了,理由:对外恶意发包。我放下酸菜馅的包子,ssh连了一下,被拒绝了,问了下默认的22端口被封了。让运维的同事把 ...
分类:
其他好文 时间:
2018-06-11 17:17:37
阅读次数:
205
(一)RPC的定义:RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RP ...
分类:
其他好文 时间:
2018-06-11 14:49:18
阅读次数:
163
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分 ...
分类:
其他好文 时间:
2018-06-09 23:15:03
阅读次数:
169
<获取开发工具> 到https://www.golangtc.com/download 下载安装包, 根据自己的系统选择合适的开发包,这里选择go.1.9.2.linux-amd64.tar.gz <搭建开发环境> ?为golang 配置PATH环境变量 解压文件,将解压后的文件拷贝到"/usr/l ...
分类:
系统相关 时间:
2018-06-09 23:12:14
阅读次数:
253
并发包中并发List只有CopyOnWriteArrayList这一个,CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行修改操作和元素迭代操作都是在底层创建一个拷贝数组(快照)上进行的,也就是写时拷贝策略。 我们首先看一下CopyOnWriteArrayList的 ...
分类:
编程语言 时间:
2018-06-09 21:09:49
阅读次数:
199