0%

为了避免重复代码太多,导致代码不好维护,大家需要学会如何复用代码,代码复用的两种方式,组合和继承

组合:在新类中创建现有类的对象 has-a
继承:创建现有类的子类 is-a
依赖:uses-a

UML关系

阅读全文 »

kafka是一个高吞吐量、分布式的发布-订阅系统,核心模块使用Scala语言开发,开源的、轻量级的、分布式的、可分区和有复制备份的、基于zookeeper协调管理的分布式流平台的功能强大的消息系统。

基本结构

生产者负责生产消息,将消息写入kafka集群。
消费者从kafka集群中拉取消息。

kafka架构

offset在0.9之前存储在zookeeper,0.9之后存储在本地topic中

阅读全文 »

初始化顺序

在类中变量定义的顺序决定了它们初始化的顺序。在创建任何java对象时,都是依次调用父类非静态初始化块、父类构造器执行初始化、本类的非静态初始化块、本类构造器执行初始化

阅读全文 »

从最大访问权限到最小访问权限依次是:public、protected、包访问权限(default)、private。

阅读全文 »

构造器

学习java对于构造器应该很熟悉,但是有些人会认为构造器不是必要的,这就是对于构造器没有深入的了解。

每一个java类中都必须至少有一个显式或隐式的构造器,很多时候看到类中并没有定义构造器,有人会认为构造器不是必须的,其实那是编译器隐式的提供了一个无参构造器,否则在进行实例化的时候就无法成立

构造器是一个特殊的方法,用来构造并初始化对象,构造器与类同名

1
2
// person变量仅仅是引用了一个对象
Person person = new Person();
阅读全文 »