1、好多公司动不动就JVM、高并发、分布式、微服务等等,我没有实际经验。
2、从事Java开发三年了,目前的职位是高级Java工程师,感觉技术和工资都到了瓶颈,对以后的发展方向有些迷茫。
3、加班时间过长,年龄大了,精力严重不够,竞争力远不如年轻程序员了。
4、Java工程师体量庞大,供大于需,导致Java程序员面临更加激烈的竞争。
5、目前做技术管理,薪资25K,但25K基本是天花板了,不甘心。
在我看来,开发三年甚至五六年以上的Java程序员要解决上面的问题无非就是两个层面:
1、技术经验
在技术经验方便,个人感觉你要想有所突破,首先就要形成一套技术体系,从技术的实现原理到技术应用,再到不同技术的优劣比较。因为当前各大公司使用的如火如荼的技术栈,无怪乎那些你已经曾经使用过的东西,只是你需要在这个基础上,让自己更有深度和见解。
2、业务需求能力
在业务需求能力方面,一个公司除了看重技术积累方面,另外还比较注重个人的业务理解和分析能力,如果你在某个领域的业务能力比较强,能够hold住当前的一个业务架构,这样说明你对业务的理解能力是非常到位的。所以在业务方便,首先需要的是结合场景的个人理解,其次是延伸扩展。
裁员并不可怕,没有技术实力才可怕,真正有实力的人不会被埋没。真正有实力的人才能走的更远飞的更高。当你具备这些能力时,你不用担心裁员而是应该考虑我要不要继续留在
分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构思维
大型互联网架构演进过程
架构师应具备的分布式知识
主流分布式架构设计详解
架构开发基础
多线程开发
高性能NIO框架
架构核心服务层技术
服务的前世今生
深入理解通讯协议
基于分布式RPC解决方案
Dubbo全解析
架构关键基础设施
分布式环境指挥官Zookeeper
分布式消息通讯异步与MQ
分布式缓存
数据存储SQL&NoSQL
高冰分流技术Nginx
分布式架构实战
分布式解决方案
Session跨域共享实战
分布式事务解决方案实战
分布式锁解决方案实战
分布式单点登录实战SSO
分布式调度任务系统
分布式配置中心
二:设计模式
学习Java技术体系,常见的设计模式是编码必备
设计模式
应用框架源码解读
SpringIOC
SpringFramework体系结构
源码分析
BeanFactory源码分析
BeanDefinition源码分析
Bean生命周期
依赖实现
Spring Aop
AOP源码分析
Transaction事务分析
Spring cache框架源码分析
Spring MVC
MVC简介与设计思想
SpringMVC组成
源码解读DispatchServlet
Spring MVC专题导图
Spring5,做应用必不可少的最新框架
容器增强
函数式编程
WebFlux模式介绍
Kotkin介绍
Testing改进
兼容性问题
Spring5专题导图
MyBatis,玩数据库必不可少的组件
MyBatis组成
核心源码分析
手写MyBatis框架
MyBatis专题导图
JVM与性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系
性能基准
什么是性能优化
衡量标准
JVM调优
Jvm虚拟机内存剖析
垃圾收集器
实战调优案例与解决方法
Jvm运行时区
Java程序性能优化
优雅的创建对象
注意对象的通用方法
类的设计陷阱
泛型需要注意的问题
Java方法的那些坑
程序设计的通用规则
Tomcat
线程模型分析
生产环境配置及调优
运行机制及框架
MYSQL
探析BTree机制
执行计划深入分析
Mysql索引优化详解
慢查询分析与SQL优化
JVM与性能调优
团队协作开发
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理
Maven重要指令
私服-nexus
Mavenue流行插件实战
手写自己的插件
架构师如何理解scope、Lifecyle、Phase、Goal
Jenkins
Jenkins服务器部署
Jenkins 持续集成
Sonar,代码质量管理
静态代码查询,代码更健壮
代码走查
Git,版本管理
Git基本工作原理
Git常用操作及问题处理
团队协作开发
微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
SpringBoot
与微服务的区别与联系
快速构建SpringBoot工程
SpringBoot核心组件剖析
快速集成MyBatis实战
快速集成Dubbo及案例实战
快速集成Redis及案例实战
构建Swagger插件实现API
管理及接口测试体系
Spring Cloud
Zuul路由网关详解源码探析
Ribbon客户端负载均衡原理
Feign声明式服务调用方式
Hustnx服务熔断及服务降级
Eureka注册中心构件
Config配置服务中心
Svn、git快速集成
Sleuth调用链路跟踪
BUS消息总线技术
Docker虚拟化技术
介绍、安装与使用
Compose部署脚本
Service服务编排
Redis分布式集群部署
Docker file构建
通过maven插件打包镜像
部署及运行应用程序
Kubernetes编配
构建Mysql集群实战
高可用SpringCloud微服务与docker集成实现动态扩容实战
Dubbo应用及源码解读
Dubbo简介及初入门
Dubbo管理中心及监控系统安装部署
领域驱动之如何正确划分Dubbo分布式服务
通讯协议TCP、UDP、HTTP分析
Dubbo负载均衡机制探析
如何完成Dubbo服务只订阅及只注册模式
架构师必备技术之如何设计Dubbo服务接口
Dubbo设计原理及源码分析
Dubbo容器机制及高扩展性分析
Dubbo服务于Docker虚拟化技术集成实战
微服务架构
七:并发编程
从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:
内存模型
并发模式
线程模型
锁细节
并发编程