- 百度网盘
链接:https://pan.baidu.com/s/1TMLtNiNz0aLpgnZkkMNB-g
提取码:zfoo
- 主要就是快速学习zfoo的每一个模块,想深入学习的话,还是得看下面的详细教程
- 主要就是环境搭建,软件安装,代理设置,git使用
- 知识点
oracle和openjdk的区别
jdk11的优势
- event原理讲解
- 知识点
maven本地仓库,maven远程仓库,idea的工程管理
spring自定义标签
spring生命周期,对应的事件
spring自带事件的优先级通过Ordered接口指定
javassist字节码增强,asm,cglib,ByteBuddy,了解
- storage原理讲解
- 知识点
通过spring的PathMatchingResourcePatternResolver扫描excel文件位置,有方法可以直接获取Resource
spring的Resource抽象,spring对文件的抽象
apache的poi,poi可以解析excel
通过spring的ConversionService去解析excel单元格的内容,通过ConditionalGenericConverter,Converter接口自定义解析规则
- Tank项目的运行
- scheduler原理讲解
- 知识点
cron表达式的用法
spring自带的Scheduled和zfoo的Scheduler
java的线程池,SingleThreadScheduledExecutor,SingleThreadExecutor
通过spring自带的CronExpression计算下一次cron表达式要执行的时间
- orm原理讲解
- 学习MongoDB优先看官方的文档,https://docs.mongodb.com/manual/
- B站有个稍微权威一点的MongoDB视频教程,https://www.bilibili.com/video/BV13a4y1J7L6
- 知识点
Mysql中的数据库,表,一条数据,在Mongodb分别叫做,数据库,集合,文档
Elastic Search的全文搜索引擎
mongodb的map reduce操作
分布式唯一Id,Java自带的UUID,雪花算法(SnowFlake),Redis分布式唯一Id实现,Mongodb分布式唯一Id实现,Zookeeper分布式唯一Id实现
- protocol原理讲解
- 知识点
netty的ByteBuf
java的序列化和反序列化
kryo的使用,注意不是线程安全
protobuf的使用
juc的CountDownLatch
Zigzag算法压缩,varint数据压缩算法,优先kryo的实现
Javassist字节码增强序列化函数比反射快非常多
- net原理讲解
- 知识点
netty的nio,epoll
同步和异步通过CompletableFuture去实现的
一致性hash算法的负载均衡
zookeeper的用法
- 综合实战
-
云服务器部署
-
tank-game-server 网络游戏《进击的坦克(The Fight of Tanks)》
- 快速体验,tank游戏入口 tank.zfoo.net
- 快速体验,tank后台入口 tank-admin.zfoo.net,账号:a,密码:a
云服务器的安全组策略
java的安装
zookeeper的安装
mongodb的安装
用maven打包项目的流程
nohup java -XX:InitialHeapSize=300m -XX:MaxHeapSize=300m -XX:+HeapDumpOnOutOfMemoryError -Djdk.attach.allowAttachSelf=true -Dspring.profiles.active=pro -Dfile.encoding=UTF-8 -jar home-1.0.jar >/dev/null 2>&1 &
sh /deploy.sh stopUpdateStart /usr/local/tank/admin/admin-1.0.jar /usr/local/tank/admin
sh /deploy.sh stopUpdateStart /usr/local/tank/single/single-1.0.jar /usr/local/tank/single
sh /deploy.sh stopUpdateStart /usr/local/tank/admin/admin-1.0.jar /usr/local/tank/admin
sh /deploy.sh stopUpdateStart /usr/local/tank/cache/cache-1.0.jar /usr/local/tank/cache
sh /deploy.sh stopUpdateStart /usr/local/tank/gateway/gateway-1.0.jar /usr/local/tank/gateway
sh /deploy.sh stopUpdateStart /usr/local/tank/home/home-1.0.jar /usr/local/tank/home