汇总Java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识



前言

有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。

其实不然,笔者计算机专业出身,对于技术这碗饭有一些心得体会,大多数人成为某领域顶级专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,并不难

多读书、多看报,多研究开源框架源码,比如:http://github.com,这里汇集了全球工程师的智慧!

言归正传,本文会列举工作中常用的一些技术,以及如何锻炼提升自己的架构能力。

由于每块技术市场上基本都有对应的网络资料或书籍,所以本文只是少篇幅列举工作中用到的核心知识点,抛砖引玉,属于进阶型,不适用初学者。

加小助理的V:********,*****************。

基础知识

  1. Java
  2. spring
  3. spring boot
  4. spring cloud
  5. ibatis
  6. 设计模式
  7. Log日志

数据库

目前使用最多还是mysql,虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群,可以有强大的输出能力。

  1. 连接池
  2. 事务
  3. 分库分表
  4. 全局表 ID生成器
  5. 读写分离
  6. SQL调优
  7. 其它

web容器/协议/网络

负载均衡

服务器

  1. Nginx
  2. Tomcat

协议

  1. HTTP协议
  2. TCP协议

CDN

其它

常用三方工具包

  1. Google Guava
  2. fastJson
  3. log4J
  4. commons-codec
  5. commons-lang3
  6. commons-io
  7. Quartz
  8. HttpClient
  9. okhttp
  10. Javassist
  11. lombok
  12. 中间件

RPC框架

  1. dubbo
  2. dubbox
  3. motan
  4. Thrift
  5. RPC框架性能比较

MQ消息

  1. ActiveMQ
  2. RabbitMQ
  3. Kafka
  4. RocketMQ
  5. MQ框架性能比较

分布式缓存

  1. redis
  2. memcache

本地缓存

  1. Guava
  2. Ehcache

搜索

  1. Elasticsearch

分布式数据框架

  1. cobar
  2. Mycat
  3. tsharding
  4. tddl
  5. sharding-jdbc
  6. dbsplit

分布式协调服务

  1. zookeeper

配置管理

  1. super-diamond
  2. disconf
  3. apollo

分布式文件系统

  1. FastDFS

分布式任务调度框架

  1. Elastic-Job
  2. 详解当当网的分布式作业框架elastic-job
  3. TBSchedule
  4. xxl-job

大数据

  1. Hbase
  2. Spark
  3. Hadoop
  4. Hive
  5. other框架

其它

  1. 数据库binlog的增量订阅&消费组件
  2. 数据库同步系统
  3. TCC-Transaction
  4. Netty
  5. OpenResty

系统架构

  1. 架构经验
  2. 经典案例
  3. 通用技术方案选型
  4. 编码前3000问
  5. 软硬件性能
  6. 技术大纲

项目管理

  1. 论需求调研的重要性
  2. 项目管理
  3. 代码管理
  4. 测试相关

运维

  1. 快速排查线上问题
  2. linux常用命令
  3. 本地代码调试
  4. Docker

个人成长

  1. 学习网站
  2. Tom哥的读书单
  3. 个人成长与职业规划
  4. 程序员素养

其它

  1. 常用软件工具
  2. 一致性hash算法
  3. java面试题
  4. 回车与换行的区别
  5. github上fork项目后,如何同步更新后面提交
  6. 其它
加小助理的V:********,*****************。