汇总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
云栖社区
并发编程网
开源中国
*
视频网站
慕课网
网易云课堂
腾讯课堂
github 伯乐在线
程序员素养
其它
常用软件工具
一致性hash算法
面试
java面试题
大数据面试题
回车与换行的区别
github上fork项目后,如何同步更新后面提交