Java程序员应该加以重视:

  1. 吃透基础技术

  2. 养成良好的阅读源码的习惯

  3. 有长期的技术学习规划

下面,我们来一起逐条看看,特别是第 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使用规程

  • 案例分享

Java架构技术知识点梳理的更多相关文章

  1. Java架构技术进阶之:从分布式到微服务,深挖Service Mesh

    自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题. 当这些系统还是比较少比较简单的时候,工程师可以通过减少远程交互的次数来解 ...

  2. 揭秘Java架构技术体系

    Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...

  3. Java并发相关知识点梳理和研究

    1. 知识点思维导图 (图比较大,可以右键在新窗口打开) 2. 经典的wait()/notify()/notifyAll()实现生产者/消费者编程范式深入分析 & synchronized 注 ...

  4. Java多线程入门知识点梳理

    前言 在多核时代,高并发时代,对系统并行处理能力有很高要求.多线程就是这个时代最好的产物.通过使用多线程可以增强系统并行处理能力,提高CPU资源的有效利用:从而提高系统的处理能力.常见应用场景如:多窗 ...

  5. Java架构笔记:用JWT对SpringCloud进行认证和鉴权

    写在前面 喜欢的朋友可以关注下专栏:Java架构技术进阶.里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦. image.png JWT(JSON WEB TOKEN)是基于RF ...

  6. 阿里Java架构师分享自己的成长经历,教你如何快速成长为架构师

    架构师是公司的“金领”,很少需要考虑生存的问题,从而有更多的精力思考关键技术,形成“强者愈强”的良性循环.当然,冰冻三尺非一日之寒,成为一名合格的架构师是一个漫长的积累过程.对于大部分的软件开发人员来 ...

  7. Java架构师必看,超详细的架构师知识点分享!

    在Java程序员行业中,有不少Java开发人员的理想是成为一名优秀的Java架构师,Java架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作.他必须对开发技术非常了解,并且 ...

  8. Java分布式应用技术架构介绍

    分布式架构的演进 系统架构演化历程-初始阶段架构

  9. Java分布式应用技术架构

    分布式架构的演进 系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序.数据库.文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序.数据库.文件等所有的资源都在一台服务器上.描述: ...

随机推荐

  1. LG1600 天天爱跑步

    题意 分析 对一个(s,t)查询,令f=lca(s,t),则操作可化为(s,f),(f,t). 考虑观察到的情况,若x在s到t的路径上,且x观察到,则 \[ \textrm{dep}_s-\textr ...

  2. L5负载均衡

    L5负载均衡组件的功能职责 L5的功能特征如下: 名字服务:以SID(由模块ID和命令字ID组成)为关键字,通过SID取得真正的IP和端口地址,使得IP和端口配置对调用者透明,运维变更配置更方便: 负 ...

  3. C语言运算符优先级和ASCII表

    1. C语言运算符优先级及结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成 ...

  4. visual studio 2014 新特性

    原文如下: Visual Studio "14" CTP Today, we are making available a first community technology p ...

  5. 转 微软Sysinternals Suite工具13年12月版下载

    Sysinternals Suite 是微软出品的一套集成数十个绿色软件的系统工具包.Sysinternals Suite 和IT之家的魔方电脑大师设计一样,里面的各个小工具组件都可以单独拿出来运行, ...

  6. C# 线程会合实例

    有这样一个题目:四个线程t1,t2,t3,t4,向4个文件中写入数据,要求:t1只能写入“1”,t2只能写入“2”,t3只能写入“3”,t4只能写入“4”,对4个文件A,B,C,D写入如下内容: A: ...

  7. js模板引擎之juicer,特别好用

    中文文档地址 https://www.npmjs.com/package/juicer Juicer基础知识:语法2  http://blog.163.com/lvshutao@126/blog/st ...

  8. Oracle 10g下emctl start dbconsole 报错:OC4J Configuration issue 问题解决

    http://blog.sina.com.cn/s/blog_95b5eb8c0100x4a7.html http://blog.csdn.net/sz_bdqn/article/details/17 ...

  9. 在doc下面执行zpl语言 Copy 文件名 lpt1

    在doc下面执行zpl语言 Copy 文件名 lpt1 测试斑马条码打印机并口是否能正常通讯: 1.Zebra打印机安装好标签和碳带,且打印机进入Ready状态.2.电脑端用Notepad编写输入如下 ...

  10. dede 添加自定义函数

    include/extend.func.php里添加函数 function GetTopTags($str){$dsql = new Dedesql(false);$row = $dsql->G ...