注册中心在RPC整个体系中担任的角色是比较重要的,但也是比较微妙的,它维护了所有服务提供者的所暴露服务的信息,最最核心的信息就是IP+端口号,服务消费者会在调用服务的时候去注册中心上去询问它远程调用服务的端口和IP地址,注册中心返回它所需要的信息,服务消费者拿着服务的IP+端口号,如果获取到多个IP的时候,再根据负载策略去远程调用服务,其实最最简单的注册中心的职责就是如此,注册中心的最核心的职责也是如此
List容器类中有一个toArray()
的方法,该方法是用来把List转化为数组的。
这个方法有一个特点就是转化出来的数组是复制了原数据的一个副本而不只是原数据的一个引用。因此我们可以放心的更改这些数据而不会影响到原List中的数据。
一、指向函数的指针
函数名可以在表达式中被解读成“指向函数的指针”
,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针。
“指向函数的指针”本质上也是指针(地址),所以可以将它赋给指针型变量。
在 Linux、Mac OS X 上搭建环境
到 LuaJIT 官网 http://luajit.org/download.html,查看当前最新开发版本,例如笔者写书时的最新版本:http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz。
# wget http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz # tar -xvf LuaJIT-2.1.0-beta1.tar.gz # cd LuaJIT-2.1.0-beta1 # make # sudo make install
问题:
总共有 4 个MySqld节点,通过其中的一个节点新建表时,发现其他 MySqld节点 查不到表内容的问题,即表没有同步过来。
什么是Java注解
注解是java5的新特性。注解可以看做一种注释或者元数据(MetaData),可以把它插入到我们的java代码中,用来描述我们的java类,从而影响java类的行为。
Java注解的目的
使用Java注解一般来说主要有三种目的
- 构建时指示: RetentionPolicy.SOURCE
- 编译期指示: RetentionPolicy.CLASS
- 运行时指示: RetentionPolicy.RUNTIME
golang 的 nil 在概念上和其它语言的 null、None、nil、NULL一样,都指代零值或空值。nil 是预先说明的标识符,也即通常意义上的关键字。在 golang 中,nil 只能赋值给 指针、channel、func、interface、map 或 slice 类型的变量。如果未遵循这个规则,则会引发 panic。对此官方有明确的说明:http://pkg.golang.org/pkg/builtin/#Type
1、什么是序列化与反序列化?
序列化:指把堆内存中的 Java 对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络节点(在网络上传输)。这个过程称为序列化。通俗来说就是将数据结构或对象转换成二进制串的过程
反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程