java语言特性知识点汇总

graph LR
java --> B(JUC)
B --> ConcurrentXXX
B --> AtomicXXX
B --> Executor
B --> Caller&&Future
B --> Queue
B --> Locks

java --> C(数据类型)
C --> 空间占用
C --> 基本数据结构
C --> 自动转型与强制转型
C --> 封箱与拆箱

java --> 版本差异新特性
java --> 动态代理与反射

java --> E(常用集合)
E --> HashMap
E --> ConcurrentHashMap
E --> ArrayList&LinkedList
E --> HashSet
E --> TreeMap

java --> F(对象引用)
F --> 强引用
F --> 弱引用
F --> 软引用
F --> 虚引用

java --> G(扩展知识点)
G --> SPI机制
G --> 注解处理机制

MYSQL数据库设计规范

MYSQL数据库设计规范

1、数据库命名规范

采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_’组成;
命名简洁明确(长度不能超过30个字符);
例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;
除非是备份数据库可以加0-9的自然数:user_db_20151210;

Appollo配置中心原理

Appollo配置中心原理

总体设计图:

image-20200825134410863

Apollo的总体设计,自下而上看:

  • Config Service 提供配置的读取、推送等功能,服务对象是Apollo客户端
  • Admin Service 提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)
  • Config Service 和 Admin Service 都是多实例、无状态部署,所以需要将自己注册到 Eureka 中并保持心跳
  • 在Eureka之上架了一层 Meta Server 用于封装 Eureka 的服务发现接口
  • Client 通过域名访问 Meta Server 获取 Config Service 服务列表(IP+Port),而后直接通过 IP+Port 访问服务,同时在 Client 侧会做 load balance、错误重试
  • Portal 通过域名访问 Meta Server 获取 Admin Service 服务列表(IP+Port),而后直接通过 IP+Port 访问服务,同时在 Portal 侧会做 load balance、错误重试
  • 为了简化部署,实际上会把 Config Service、Eureka 和 Meta Server 三个逻辑角色部署在同一个JVM进程中

Netty权威指南目录抄写

Netty权威指南

走进java NIO

java的I/O演进之路

NIO入门

Netty入门应用

TCP粘包/拆包问题的解决之道

分隔符和定长解码器的应用

编解码技术

Java序列化

Google Protobuf编解码

JBoss Marshalling编解码

HTTP协议开发应用

WebSocket协议开发

UDP协议开发

文件传输

私有协议栈开发

ByteBuf和相关辅助类

Channel和Unsafe

ChannelPipline和ChannelHandler

EventLoop和EventLoopGroup

Future和Promise

java多线程在Netty中的应用

Netty框架剖析

Netty行业应用

Netty未来展望

|