Java程序员应该加以重视:
-
吃透基础技术
-
养成良好的阅读源码的习惯
-
有长期的技术学习规划
下面,我们来一起逐条看看,特别是第 3 个方法。
想要做到年薪50万,首先你自己必须是高水平的程序员!
能年薪50万的程序员至少自身有以下特征:
工作年限长,经验丰富
他们的共同特点是:10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。
这样的程序员无论是去 BAT 还是去创业公司,都能拿到 50 万年薪以上的 offer。
虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物!
另外,光你自己厉害,技术牛也不行
程序员,在中国又被戏称为“程序猿”、“码农”,是一群有鲜明标签特色的人物。很多文章在描述程序员的时候,常常会给其画一幅肖像:一副黑框眼镜,身上格子衬衫,背后一个黑色双肩包,耳边戴着一副耳机。这就是典型的IT男,或者程序员在大众心目中的形象。
为何同样是程序员有些猿的工资那么高,他们的技术栈是什么样的呢、或者说他们又拥有什么样几技术能力和学习规划?
一、Spring、MyBits源码
-
IOC容器设计原理及高级特性
-
AOP设计原理
-
FactoryBean与BeanFactory
-
Spring事务处理机制
-
基于SpringJDBC手写ORM框架
-
SpringMVC九大组件
-
手写实现SpringMVC框架
-
SpringMVC与Struts2对比分析
-
Spring5新特性
-
MyBatis关联查询、嵌套查询
-
缓存使用场景及选择策略
-
Spring集成下的SqlSession与Mapper
-
MyBatis的事务
-
分析MyBatis的动态代理的真正实现
-
手写实现Mini版的MyBatis
二、分布式
1、分布式架构原理
-
如何把应用从单机扩展到分布式
-
CDN加速静态文件访问
-
系统监控、容灾、存储动态扩容
-
架构设计及业务驱动划分
-
CAP、Base理论以及其应用
2、分布式架构策略
-
分布式架构网络通信原理剖析
-
通信协议中的序列化和反序列化
-
基于框架的RPC技术Webservice/RMI/Hessian
-
深入分析Zookeeper在disconf配置中心的应用
-
基于Zookeeper实现分布式服务器动态上下线感知
-
深入分析Zookeeper Zab协议及选举机制源码解读
-
Dubbo管理中心及监控平台安装部署
-
基于Dubbo的分布式系统架构实战
-
Dubbo容错机制及高扩展性分析
2、分布式中间件
-
分布式消息通信ActiveMQ/Kafka/RabbitMQ
-
Redis主从复制原理及无磁盘复制分析
-
Redis中AOF和RDB持久化策略的原理
-
MongoDB企业级集群解决方案
-
MongoDB数据分片、转存及恢复策略
-
基于OpenResty部署应用层Nginx以及Nginx+lua实践
-
Nginx反向代理服务器及负载均衡服务配置实战
-
基于Netty实现高性能IM聊天
-
基于Netty实现Dubbo多协议通信支持
-
Netty无锁化串行设计及高并发处理机制
3、分布式架构整合经验
-
分布式全局ID生成方案
-
Session跨域共享及企业级单点登录解决方案实战
-
分布式事务解决方案实战
-
高并发下的服务降级、限流实战
-
基于分布式架构下分布式锁的解决方案实战
-
分布式架构下实现分布式定时调度
三、微服务架构
1、Spring Cloud
-
Eureka注册中心
-
Ribbon集成REST实现负载均衡
-
Fegion声明式服务调用
-
Hystrix服务熔断降级方式
-
Zuul实现微服务网关
-
Config分布式统一配置中心
-
Sleuth调用链路跟踪
-
BUS消息总线
-
基于Hystrix实现接口降级实战
-
集成Spring Cloud实现统一整合方案
2、Spring Boot
-
Spring Boot热部署实战
-
Spring Boot核心组件Starter、Actuator、AutoConfiguration、Cli
-
Spring Boot集成Mybatis实现多数据源路由实战
-
Spring Boot集成Dubbo 实战
-
Spring Boot集成Redis缓存实战
-
Spring Boot集成Swagger2构建API管理及测试体系
-
Spring Boot实现多环境配置动态解析
3、Docker虚拟化
-
Docker的镜像、仓库、容器
-
Docker File构建LNMP环境部署个人博客Wordpress
-
Docker Compose构建LNMP环境部署个人博客Wordpress
-
Docker网络组成、路由互联、Openvswitch
-
基于Swarn构建Docker集群实战
-
Kubernetes
四、性能优化
1、JVM调优
-
各垃圾回收器使用场景(ThroughputCMS)
-
JVM内存模型 JMM
-
JVM运行时数据区
-
各垃圾回收器使用场景(ThroughputCMS)
-
理解GC日志,从日志看端倪
-
MAT分析dump文件
2、TomCat调优
-
Tomcat的运行机制及框架
-
Tomcat线程模型
-
Tomcat系统参数认识及调优
-
Tomcat基准测试
3、MySql调优
-
MySQL底层B+ Tree机制
-
SQL执行计划
-
MySQL索引优化
-
SQL语句优化
五、提升团队协作效率的开发工具
1、Maven
-
生成可执行jar、理解Scope生成最精确的jar
-
类冲突、包依赖 NoClassDefFoundError问题定位及解决
-
Maven生成Archetype
-
Maven流行插件实战、手写自己的插件
2、Jenkins
-
搭建Jenkins自动部署环境
-
Jenkins集成maven、git实现自动部署
-
testpreproduction 多环境发布
-
Jenkins多环境配置、权限管理及插件使用
3、Sonar
-
使用Sonar进行代码质量管理
-
关于代码检查工具FindBugs/PMD的运用
-
SonarQube代码质量管理平台安装及使用
-
使用Jenkins与Sonar集成对代码进行持续检测
-
Idea与Sonar集合的使用
4、Git
-
Git以及Git的工作原理
-
Git常用命令Best practise
-
Git冲突怎么引起的,如何解决
-
Git flow规范团队git使用规程
-
案例分享