Achilles' Heel

No way is impossible to courage.

正确理解RESTful API

“你总提及的那个词,它的含义与你想表达的意思并不一样。” 前言 眼下,在技术圈,REST俨然已经成为一个时髦的流行词汇,很多人声称自己设计的API是"RESTful API"。但据我观察,大部分人对REST的真正含义知之甚少,很多人对REST的一些核心概念尚未真正理解,甚至存在误解。那么,到底什么是REST,什么样的API可以叫做”RESTful API“呢?本文试图......

用Redis实现分布式锁

用SETNX、GET、GETSET做分布式锁 GETSET命令 该命令接收两个参数:key,value。命令效果为,设置key的值为value,同时返回该key存储的旧值。该操作是原子操作。 使用步骤 计算expireTime = 当前时间 + 过期超时时间,执行SETNX key expireTime,如果返回1,则代表获取锁成功;如果返回0, 则没有获取到锁,执行第2步。 GET......

Java NIO 缓冲区

Java NIO 缓冲区和通道配合使用。如你所知,数据可以从通道读进缓冲区,也可以从缓冲区写进通道。 缓冲区本质上是一块用于数据读写的内存。这块内存被包装成NIO Buffer对象,并提供了一系列的方法使得操作内存变得更加容易。 Buffer的简单用法 用Buffer读写数据一般分为以下4个步骤: 将数据写入Buffer 调用buffer.flip()方法 从Buffer读取数据 调用......
NIO

Java NIO 通道

Java NIO 通道和流很像,但有一些区别: 你既可以往通道里写数据,也可以从通道读数据。流一般只支持读或写。 通道可以支持异步读写。 通道要么将数据读入缓冲区,要么从缓冲区写数据到通道。 上文提到,你可以从通道将数据读入缓冲区,也可以从缓冲区将数据写入通道。以下是一个示意图: 通道实现 以下是Java NIO框架里最重要的几个通道的具体实现: FileChannel Datagr......
NIO

Java NIO 概览

Java NIO 由以下核心组件构成: 通道 缓冲区 选择器 Java NIO 框架包含了很多类和组件,但是Channel,Buffer 和 Selector 是核心。其他的组件,像 Pipe 和 FileLock 只不过是结合了那三个组件作为工具类来使用。所以,在这篇概览里我会着重介绍这三个组件。 通道和缓冲区 一般地,NIO框架里所有的IO操作都始于一个通道。一个通道有点像一个流......
NIO

Java NIO 教程

Java NIO(New IO)是Java提供的IO API的另一种实现(jdk1.4+),这意味着标准的Java IO和网络API不再是唯一的选择方案。相对于标准IO,Java NIO框架提供了一种不同的工作机制来实现流。 通道和缓冲区 标准IO基于字节流和字符流来实现。NIO基于通道和缓冲区来实现。数据总是从一个通道读进缓冲区,或者从缓冲区写入通道。 非阻塞IO Java NIO可以......
NIO

ZooKeeper 简介

zookeeper是什么? ZooKeeper是一个分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。 zookeeper是干吗用的? 解决分布式系统数据一致性问题(ACID)。 协调分布式服务。 为什么用ZooKeeper 成熟稳定 开源 免费 广泛应用 zookeeper特点 一致。 有头。 数据树。 zk选举算法 每个Server会发出一个投票......

无线无屏幕安装树莓派

准备材料 一张micro SD卡,推荐容量8G以上 一个读卡器 一台mac电脑 一个5V 2A的USB Micro接口的电源 一个下载好的系统镜像 安装步骤 制作系统盘 把SD卡插进读卡器,再插进Mac,用自带应用Disk Utility将sd卡格式化为FAT32(FAT或MS-DOS)分区格式。 将镜像文件烧进sd卡: 1diskutil list 1sudo diskutil......

Tmux入门

前言 很多时候我们需要通过SSH连接服务器进行一些操作,费了好长时间调好了程序,一顿饭的功夫SSH超时了(broken pipe),重新连上去正在运行的程序也都没了,一切又得从头再来。这个时候你就非常需要用到tmux了,用tmux在服务器上创建一个会话(Session),在该会话中进行操作,你可以随时随地断开和重新连接会话(Session),即便是SSH中断了你在远程服务器上的工作状态也可以......

微服务介绍

什么是微服务 微服务就是一些协同工作的小而自治的服务。 微服务的优点 技术异构性 弹性 扩展 简化部署 与组织结构相匹配 可组合性 对可替代性的优化 ...