汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等
转自:http://www.51testing.com/html/83/n-3718883.html
有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。非也,这是近几年,对于技术这碗饭有一些心得体会,大多数人成为某领域顶级专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,其实并不难。
多读书、多看报,多研究常用开源框架的源码,比如:github.com,这里汇集了全球工程师的智慧!
言归正传,下文会列举工作中常用的一些技术,以及如何锻炼提升自己的架构能力。
由于每块技术市场上基本都有对应的网络资料或书籍,所以本文只是少篇幅列举工作中用到的核心知识点,抛砖引玉,属于进阶型,不适用初学者。
基础知识
java
spring
spring boot
spring cloud
ibatis
设计模式
Log日志
数据库
目前使用最多还是mysql,虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群,可以有强大的输出能力。
连接池
事务
分库分表
id生成器
DAO层接口性能监控
读写分离
sql技巧
其它
web容器/协议/网络
负载均衡
Nginx
tomcat
http协议
CDN
其它
常用三方工具包
Google Guava
fastJson
log4J
commons-codec
commons-lang3
commons-io
Quartz
HttpClient
Javassist
中间件
RPC框架
dubbo
dubbox
motan
Thrift
RPC框架性能比较
MQ消息
ActiveMQ
RabbitMQ
Kafka
RocketMQ
缓存
redis
codis
memcache
搜索
Elasticsearch
分布式数据框架
cobar
Mycat
tsharding
tddl
sharding-jdbc
分布式协调服务
zookeeper
大数据
Hbase
Spark
Hadoop
Hive
Flink
other框架
配置管理
super-diamond
disconf
apollo
分布式文件系统
FastDFS
其它
数据库binlog的增量订阅&消费组件
数据库同步系统
系统架构
架构经验
经典案例
通用技术方案选型
编码前3000问
项目管理
论需求调研的重要性
项目生命周期
项目管理案例
代码规范
git常用命令
ab性能压测
maven仓库
运维
快速排查线上问题
linux常用命令
本地代码调试
Docker
个人成长
Tom的读书单
个人成长与职业规划
学习网站
infoQ
云栖社区
并发编程网
开源中国
stackoverflow
视频网站
慕课网
网易云课堂
腾讯课堂
github 伯乐在线
程序员素养
其它
常用软件工具
一致性hash算法
面试
java面试题
大数据面试题
回车与换行的区别
github上fork项目后,如何同步更新后面提交