Home

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...

Read more

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> &lt...

Read more

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 文件,其代...

Read more

Welcome

If you see this page, that means you have setup your site. enjoy! :ghost: :ghost: :ghost: You may want to config the site or writing a post next. Please feel free to create an issue or send me email if you have any questions.

Read more

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...

Read more