Protocol Buffers 入门实例
Protocol Buffers 简介
Protocol Buffers(简称 protobuf)是谷歌的一项技术,用于将结构化的数据序列化、反序列化,经常用于网络传输。
为什么需要 Protocol Buffers
The example we’re going to use is a very simple “address book” application that can read and write people’s contact details to and from a file. Each person in the address book has a name, an ID, an email address, and a contact phone nu...
Zookeeper 客户端 API 入门实例
服务器安装 Zookeeper
参考Zookeeper 分布式安装笔记
客户端 API 实例
创建 Maven 项目,在 pom.xml 文件中添加相关依赖:
<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.1</version>
<...
Thrift 入门实例
下载安装
Windows系统的话直接到 Thrift 官网下载 Thrift compiler for Windows,然后将该 exe 文件所在文件夹加入到 path 环境变量中;
Ubuntu系统直接命令行执行 sudo apt-get install thrift-compiler;
命令行执行 thrift,输出如下表示安装成功:
Usage: thrift [options] file
Use thrift -help for a list of options
实例
假设现在有这样一个需求:客户端需要调用后台服务提供API来计算两个数的和。
创建一个服务 AddService,创建 AddService.thrift 文件,其代...
CountDownLatch 和 CyclicBarrier
这两个工具类都可以简单看作线程计数器,表面上功能相似,其实区别还是不小的。
CountDownLatch
CountDownLatch 可以理解为一个计数器在初始化时设置初始值,当一个线程需要等待某些操作先完成时,需要调用 await() 方法。这个方法让线程进入休眠状态直到等待的所有线程都执行完成。每调用一次 countDown() 方法内部计数器减 1 ,直到计数器为 0 时唤醒。
示例程序:
import java.util.Random;
import java.util.concurrent.CountDownLatch;
/**
* 7个人赛跑
*/
public class TCountDownLatch {
private static int c...
58 post articles, 8 pages.