六年Java开发,分享年薪50W+架构师一路成长的辛酸

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 13年下半年接触java,奇遇一般参加了java培训,期间甘苦自知。14年初如愿找到人生第一份工作,工资3k;对于之前的付出也算是回报吧 ,对于当时的我已经很满足了。 但是后来没想到公司是个坑, 入司半年有余,写的代码屈指可数;但是却结交了一位良师益友对我以后的职业发展和技术上提供了明灯,给予了不少帮助。所以说(塞翁失马,焉知非福)还是有些道理的。

13年下半年接触java,奇遇一般参加了java培训,期间甘苦自知。14年初如愿找到人生第一份工作,工资3k;对于之前的付出也算是回报吧 ,对于当时的我已经很满足了。 但是后来没想到公司是个坑, 入司半年有余,写的代码屈指可数;但是却结交了一位良师益友对我以后的职业发展和技术上提供了明灯,给予了不少帮助。所以说(塞翁失马,焉知非福)还是有些道理的。

当时天天没什么代码任务,只是整理表格数据,年复一年,日复一日终于。。。

人生转折

终于对现状的不满,对职业的重新规划。

也觉得得这样是在浪费自己时间,自己的清楚,(看着同期的同学都在茁壮成长) 与其坐以待毙,不如我自己先出去试试水,去一家能够迅速成长的公司。提完离职申请,我开始有意识的看些面试问题,重拾培训时的笔记,背题目,看些基本的知识问题。。。。

面试

面试过程远比想象中的艰辛, 面了n++家,大多石沉大海(当然当时的技术比菜鸡还菜鸡),尽管这么的艰辛,但是还是有两家(其一是偏前端,其一比较冷门的框架学习开发),都非我所愿的,所有出于职业发展规划,再三思量,还是做出了决定 婉拒了(此时已经距离我下岗半个多月了),心态开始浮躁,开始胡思乱想,但是有一点是肯定的,我没有为辞职后悔活, 终于在一个晴朗的下午,我收到了人生第二家公司的入职电话(而且是我心仪的)。心中难掩激动,已经不记得当时电话说的什么了, 我只顾着说“可以,行,可以。。。。”

入职

这是一家小公司,所有手续资料都准备好,终于如愿进入公司入职,带着像第一份工作的谨慎,勤学多问,不敢丝毫偷懒。 这家公司很忙,总是有干不完的活 ,经常加班到9点多,基本是996是常态吧,觉得每天都很充实,能学到很多东西, 也不觉得累 而且还是单身屌丝,下了班也没啥事要做,所以也没什么好抱怨加班多,而且报酬给的也很丰厚。

成长

一开始后台就我和组长两个人,乱七八糟增删改查啥都干。 但是也成长了不少, 组长对我也很照顾 ,基本有问必答,而且有时间还帮我知识延伸,到现在都很感激。

在这家公司期间,也买了人生的第一套房子,(仅此一套),当然也是父母出了百分之九十多的钱。(哈哈暗暗窃喜!!很庆幸当时买了, 不然再晚点真的就买不起了) 扯远了,接着说下

在这家公司呆了两年多,同事关系都很和谐,什么都挺好的,但是技术什么的基本定型了,基本都重复之前的工作,好像似乎也没什么挑战性,公司没有互联网的对新技术的渴求 所以我还是准备出去看看,去见识见识新的东西;

迷茫

后来辗转多家公司,和我所期望的相去甚远,终究没有找到归属感,终究没有做多久。

直到来到现在这家,此时大概是17年下半年,本来就是觉得找个离家近,事情少,钱还可以的。还算满意吧;

就这样干着吧,比较安逸,直到 公司产品的飞速发展,用户从0-10w-100w-200w+ ,也不得不面临项目中bug所引起的一系列问题,也不记得经历过多少次通宵, 从很低级的解决并发多加库存,到现在数据迁移备份,让我意识到“提升自己”很重要

学习

针对性知识点

  • 多线程与高并发编程
  • spring,ioc入门与详解
  • maven的简单构建、spring AOP
  • spring中的循环依赖、代理方式讲解
  • springBoot mvc项目结构 开发 热部署
  • springBoot web项目整合数据源、Thymeleaf
  • 项目开发-Thymeleaf、Jpa、Bootstrap
  • mybatis整合SpringBoot、mybatis-generator
  • 企业项目开发中的角色、流程、任务分配
  • pageHelper、翻页、Example使用、异步表单
  • 开发-RBAC、表设计、YAML、项目配置
  • 开发-RBAC前后端、mybatis多表、thymeleaf
  • 开发-Odata、Restful、SpringBoot文件上传
  • 开发-权限认证、Icheck、Mybatis plus
  • Tengine原理、对比、部署、配置、虚拟主机
  • Tengine 反向代理、负载均衡、 session共享 等
  • Tengine 动静分离 https SSL 非对称加密
  • Nginx OpenSSL 自签名证书 xca FastDFS介绍
  • FastDFS 部署 原理 整合Nginx JavaAPI
  • 高并发负载均衡:网络协议原理
  • 高并发负载均衡:LVS的DR,TUN,NAT模型推导
  • 高并发负载均衡:LVS的DR模型试验搭建
  • Spring Environment原理
  • 高并发负载均衡:基于keepalived的LVS高可用搭建
  • Spring监听器
  • FastDFS keepalived 高可用 zookeeper
  • dubbo demo、角色、 RPC、原理 、RMI
  • 项目微服务拆分 注册中心、dubbo admin
  • dubbo下的微信公众号项目
  • Spring AOP原理
  • dubbo核心配置 聚合项目构建
  • 亿级流量多级缓存架构方案、openresty Lua
  • 多线程与高并发编程一
  • redis的string类型&bitmap
  • redis的list、set、hash、sorted_set、skiplist
  • redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
  • redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用
  • redis的集群:主从复制、CAP、PAXOS、cluster分片集群01
  • redis的集群:主从复制、CAP、PAXOS、cluster分片集群02
  • redis开发:spring.data.redis、连接、序列化、high/low api
  • zookeeper介绍、安装、shell cli 使用,基本概念验证
  • zookeeper原理知识,paxos、zab、角色功能、API开发基础
  • zookeeper案例:分布式配置注册发现、分布式锁、ractive模式编程
  • 亿级流量多级缓存高并发系统架构实战
  • Spring Cloud微服务概况及注册中心搭建
  • 多线程与高并发编程 六
  • 亿级流量多级缓存高并发系统架构实战四
  • 微服务间调用和熔断降级
  • 微服务网关、链路追踪、配置中心的使用
  • 亿级流量多级缓存高并发系统架构实战五
  • 多线程与高并发编程七
  • 亿级流量多级缓存高并发系统架构实战六
  • Spring源码总结
  • 网约车项目实战一:乘客用户功能
  • 亿级流量系统架构之限流
  • 网约车项目实战二:接口安全设计和分布式锁
  • 亿级流量系统架构之扩容
  • 亿级流量系统架构之降级
  • JVM入门及class文件格式
  • Java NIO
  • 亿级流量系统架构之分布式事务原理
  • 亿级流量系统架构之实战流量分发层
  • 网约车项目实战三:消息队列应用
  • 详解Class加载过程
  • 亿级流量系统架构之实战域名与https
  • 电商系统详情页PLAN A
  • 静态文件生成-rsync
  • NIO之ByteBuffer
  • 网约车项目实战四:项目小结
  • Java内存模型
  • 静态化文件生成业务流程及技术选型解决方案
  • Arica开发实战 CRUD
  • Netty 之NIO selector
  • 内存屏障与JVM指令
  • 静态文件生成
  • html同步,生成首页,批量生成,健康检查
  • 单机事务,并发锁,压力测试
  • Netty之内存管理
  • Java运行时数据区和常用指令
  • html架构的应用场景,扩容,静态分页实现
  • 分页逻辑2,动态加静态,lua访问mysql
  • resty_template,静态文件补偿机制实现
  • 亿级流量高并发项目总结
  • 精通mysql调优大师班
  • JVM调优必备理论知识-GC Collector-三色标记
  • PS+PO调优实战
  • Netty课程小结
  • JVM调优实战
  • 区块链-比特币、挖矿、炒币原理
  • 区块链-以太坊原理
  • 区块链-幽灵协议,pow,pos
  • JVM实战调优2
  • 区块链-DPOS共识协议,solidity智能合约开发
  • 区块链-solidity手写加密货币
  • 消息中间件-ActiveMQ
  • 垃圾回收算法串讲
  • apache dubbo
  • spring cloud
  • service mesh微服务设计的学与思
  • JIRA和findbugs
  • jenkins+代码检查

对应学习电子书籍+架构视频

需要获取以下高清大纲、学习资料,源码,视频,架构资源可以点击此处来获取就可以了!

1、多线程与高并发

2、JVM调优案例式实战化指导

3、经常被问的操作系统原理解析

4、从底向上网络原理解读

5、案例式深入解析23种设计模式

6、设计原型

7、源码层面无死角解析netty

需要获取以上高清大纲等学习资料,源码,视频,架构资源可以点击此处来获取就可以了!

Redis全套系统视频(另还有Spring源码、Mybatis、分布式、JVM、高并发等)免费拿走

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
21 4
|
7天前
|
监控 API 持续交付
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势、面临的挑战以及最佳实践策略。不同于传统的单体应用,微服务通过细粒度的服务划分促进了系统的可维护性、可扩展性和敏捷性。文章首先概述了微服务的核心概念及其与传统架构的区别,随后详细阐述了构建微服务时需考虑的关键技术要素,如服务发现、API网关、容器化部署及持续集成/持续部署(CI/CD)流程。此外,还讨论了微服务实施过程中常见的问题,如服务间通信复杂度增加、数据一致性保障等,并提供了相应的解决方案和优化建议。总之,本文旨在为开发者提供一份关于如何在现代后端系统中有效采用和优化微服务架构的实用指南。 ####
|
9天前
|
消息中间件 设计模式 运维
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在现代后端开发中的应用,通过实际案例分析,揭示了其在提升系统灵活性、可扩展性及促进技术创新方面的显著优势。同时,文章也未回避微服务实施过程中面临的挑战,如服务间通信复杂性、数据一致性保障及部署运维难度增加等问题,并基于实践经验提出了一系列应对策略,为开发者在构建高效、稳定的微服务平台时提供有价值的参考。 ####
|
10天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
32 4
|
9天前
|
消息中间件 监控 数据管理
后端开发中的微服务架构实践与挑战####
【10月更文挑战第29天】 在当今快速发展的软件开发领域,微服务架构已成为构建高效、可扩展和易于维护应用程序的首选方案。本文探讨了微服务架构的核心概念、实施策略以及面临的主要挑战,旨在为开发者提供一份实用的指南,帮助他们在项目中成功应用微服务架构。通过具体案例分析,我们将深入了解如何克服服务划分、数据管理、通信机制等关键问题,以实现系统的高可用性和高性能。 --- ###
32 2
|
9天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
21 0
|
10天前
|
Java API Android开发
kotlin和java开发优缺点
kotlin和java开发优缺点
24 0
|
消息中间件 Java 中间件
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
4天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
22 9