摘要:第一章、Netty--异步和事件驱动 Netty包含网络编程、多线程处理和并发。 NIO NIO 代表非阻塞 I/O(Non-blocking I/O)。 Netty 的核心组件 Netty 的主要构件: Channel; 回调; Future; 事件和 ChannelHandler。 Channe
阅读全文
摘要:一、数据系统 可靠性、可拓展性、可维护性。 二、数据模型与查询语言 关系模型 文档模型 图模型 NoSql:Redis 一对一,一对多,多对多。 三、数据存储与检索 哈希索引 键-值(key-value)数据的索引。 B-trees B-tree 将数据库分解成固定大小的块或页,传统上大小为4kb。
阅读全文
摘要:Dubbo Apache Dubbo 是一款微服务开发框架,可以用于 RPC通信 与 微服务治理 。 六大核心能力 面向接口代理的高性能RPC调用:提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。 智能负载均衡:内置多种负载均衡策略,智能感知下游节点健康状况,显著
阅读全文
摘要:《Kafka权威指南》第一、三、四、六章,是重点。可以多看看。 一、 Kafka的组成 kafka是一个发布与订阅消息系统 消息:kafka的数据单元称为"消息"。可以把消息看成是数据库中的一个"数据行"。 消息的key:为key生成一个一致性散列值(HashCode),然后使用散列值对主题分区数进
阅读全文
摘要:定义 在某种情境下,针对某些问题的某种解决方案。 设计模式 1.可拓展性强,方便维护,能够应付变化。 何时使用设计模式 设计之前,还有在重构的时候。 OOP 可复用,可扩充,可维护 设计模式原则 1.封装变化。 找出可能需要变化的部分,独立出来。 2.面向接口编程。 这里的“接口”实际指的是“超类型
阅读全文
摘要:第一章 MySql存储引擎 1.Innodb存储引擎 支持事务,其特点是行锁设计、支持外键。 Innodb是Mysql默认的存储引擎。 2.MyISAM存储引擎 MyIsam存储引擎不支持事务和表锁设计,Myisam也不支持外键,但是支持全文索引。 第五章 索引与算法 1.常见的索引:B+树索引、全
阅读全文
摘要:面向对象 接口 1.接口方法默认public abstract。 接口属性访问控制符默认public statistatic final。 2.接口支持多重继承,抽象类只能单继承。 3.接口可以继承接口。 方法 1.方法参数必须做校验。比如判空。 2.构造方法不能被继承,不能被重写。 3.gette
阅读全文
摘要:(重点部分加粗) ###第9章 :单机NoSql 1.RedisServer有一个dbnum属性,默认值为16,所以Redis服务器会创建16个数据库。 2.SELECT命令:切换数据库 原理:通过修改RedisClient.db指针,让它指向服务器中的不同数据库,从而实现切换数据库的功能。 3.数
阅读全文
摘要:《java并发编程实战》这本书配合并发编程网中的并发系列文章一起看,效果会好很多。 并发系列的文章链接为: Java并发性和多线程介绍目录 建议: 《java并发编程实战》第3章和第4章可以暂时先跳过。。这部分内容的文字和概念很多,代码块偏少。不容易看进去。 一、线程1.线程的使用可以提升程序的性能
阅读全文
摘要:二、java内存区域与内存溢出异常 0.在内存管理领域,java与c/c++不同的是,在java虚拟机自动内存管理机制下,java不需要手动去为对象写配对的free内存的代码,不容易出现内存泄漏和内存溢出问题。 1.程序计数器:一小块的内存空间,可看作当前线程所执行的字节码的行号指示器。每条线程都有
阅读全文
摘要:0.SpringCloud,微服务架构。包括 服务发现(Eureka),断路器(Hystrix),服务网关(Zuul),客户端负载均衡(Ribbon)、服务跟踪(Sleuth)、消息总线(Bus)、消息驱动(Stream)、批量任务(Task)等。 微服务 1.微服务的核心思想便是服务拆分与解耦,降
阅读全文