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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 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
相关文章
|
1天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
12 4
|
3天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
16 4
|
2天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
7 0
|
3天前
|
Java API Android开发
kotlin和java开发优缺点
kotlin和java开发优缺点
12 0
|
13天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
93 38
|
10天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
1天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
1天前
|
安全 Java 编译器
Java多线程编程的陷阱与最佳实践####
【10月更文挑战第29天】 本文深入探讨了Java多线程编程中的常见陷阱,如竞态条件、死锁、内存一致性错误等,并通过实例分析揭示了这些陷阱的成因。同时,文章也分享了一系列最佳实践,包括使用volatile关键字、原子类、线程安全集合以及并发框架(如java.util.concurrent包下的工具类),帮助开发者有效避免多线程编程中的问题,提升应用的稳定性和性能。 ####
15 1
|
4天前
|
存储 设计模式 分布式计算
Java中的多线程编程:并发与并行的深度解析####
在当今软件开发领域,多线程编程已成为提升应用性能、响应速度及资源利用率的关键手段之一。本文将深入探讨Java平台上的多线程机制,从基础概念到高级应用,全面解析并发与并行编程的核心理念、实现方式及其在实际项目中的应用策略。不同于常规摘要的简洁概述,本文旨在通过详尽的技术剖析,为读者构建一个系统化的多线程知识框架,辅以生动实例,让抽象概念具体化,复杂问题简单化。 ####
|
5天前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
30 4