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. LG4455 【[CQOI2018]社交网络】

    分析 这题我们先转化为图论模型,发现求的其实就是有向图中以1为根的生成树数量.而关于这一问题存在O(3^n * n^2)的算法,一看数据n=250,发现不行.于是需要更高效的算法--Matrix-Tr ...

  2. php脚本输出js代码不执行的解决办法和原理。

    <?phpecho "<script>alert('我弹出来了')</script>";?> 很简单你一句话就可以在PHP里面输出JS脚本让浏览 ...

  3. Upgrade to or Install Cinnamon 2.4 in Ubuntu

    http://www.omgubuntu.co.uk/2014/11/install-cinnamon-2-4-ubuntu-14-04-lts sudo add-apt-repository ppa ...

  4. Mac 上 java 究竟在哪里,本文彻底让你搞清楚!

    Mac下当你在[终端]输入java -version时,是执行的哪里的java呢,which java命令可以看到,就是[/usr/bin/java] [/usr/bin/java]只是个替身,实际指 ...

  5. 使用gulp 合并压缩打包,实时监控文件,实现本地server

    今天不讲webpack,就说说gulp是怎么进行压缩合并打包 首先你的安装gulp : npm install gulp -g --save-dev 然后最基本的你因该知道gulp 的四个方法, gu ...

  6. Microsoft Dynamics CRM 2011 配置好的IFD环境 怎么制作证书?

    一.CRM2011 IFD怎么制作证书? 配置好的IFD环境里面:打开开始—运行 1.输入: mmc(微软管理控制台) 出现: 2. 出现: 3.添加/删除管理单元,如图: 4.添加证书 5. 6. ...

  7. WPF Demo6

    通知项熟悉.数据绑定 using System.ComponentModel; namespace Demo6 { /// <summary> /// 通知项属性 /// </sum ...

  8. js的自定义事件

    js中的事件是js的一大技术点,说白了就是操作dom树的唯一途径. 关于事件无非两种绑定方式: document.getElementById('xxx').onclick = function(){ ...

  9. shell_sctipts: 删除mysql备份到最后7日

    目前,mysql的备份文件,经过一周左右清理,手动清理会比较费事,所以写了一个简单脚本来实现. 前提介绍: mysql备份文件放在/usr/bak/sql里面,sql文件的备份名称格式为: mysql ...

  10. 除了用作缓存数据,Redis还可以做这些

    Redis应该说是目前最受欢迎的NoSQL数据库之一了.Redis通常被作为缓存组件,用作缓存数据.不过,除了可以缓存数据,其实Redis可以做的事还有很多.下面列举几例,供大家参考. 1.最新列表 ...