前言

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了。

我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥, 该怎么走的时候, 给我方向, 毫不夸张的说,我现在的衣食无忧, 技术马马虎虎, 都是拜他所赐。 所以 我也想分享一些自己的成长过程 以及技术路线 希望给到一些三到五年工作经验却对未来迷茫,踌躇不前的老哥们一些建议吧!

其实这行的工资待遇和前景,比起一些风吹日晒的苦逼行业 还是要好不少的, 很多人说程序员累, 加班 , 掉头发 但其实在生存压力面前 这都不算什么, 有哪一行是轻松的呢?起码程序员技术到位了,工资还是比较可观的。

Java初级阶段

先 JAVA基础语法, 集合类, 线程, IO操作, 这些掌握了 基础算是过关了。IO操作有点麻烦, 被搞晕没关系 ,知道什么时候用 ,用到了 ,再去搜索就行。

其次 web部分 servlet jsp session cookie mysql数据库, 都要知道怎么操作怎么用 前端页面的话 html不必太深 能看懂就行 js或者jquery会操作dom能够把后台数据放到合适的位置就可以 现在前段js技术五花八门 基本很少有项目让后台弄前端了 如果有并且很长时间了 你可以考虑跳槽了……

学到这个阶段,你需要知道一个请求从页面或者移动端发起之后 经历什么样的过程再返回去的 知道ajax是什么 会发起异步请求到后台 。

框架方面 别学struts hibernate了 很少有项目用了 学springmvc spring mybatis就可以 ,不必清楚实现原理 会搭框架 搞一个增删改查出来就行了

到这里,大约就是初级阶段了 你可以去找工作了,期望别太高,如果有人要你 工资大约是5到6k 如果是成都西安这些二线 还要低点。之所以说如果有人要,那是因为这两年行情不太好……这些基本技术需求已经没法找到一个比较靠谱的工作了。

这个初级阶段,其实是最苦逼学的东西最多的阶段,你没有太多的时间,顶着没有收入还要吃喝拉撒的压力,也许还有你父母家人 朋友的不理解和嘲笑,在他们眼里,你念书那么多年出来,却连个靠谱的工作也没有,还在穷折腾,如果你不幸已经进了培训机构,两万多的学费加生活费,等你上班后你会知道攒钱两万是多么多么的困难……种种压力面前,你需要在四到五个月杀出一条血路证明自己的价值,怒怼所有嘲笑,将来工资傲世亲朋好友,让你的父母欣慰,让你能够挺起胸膛做人,铺垫好你后面二三十年的路,让你的父母老了能够老有所依。 如果你正好在培训机构学JAVA 看到我这些文字 希望你能坚持一下,拿出你的热血来 咬牙学它四个月,所有苦难的日子,在拿到高薪offer的那一刻都是值得的。

如果你看到以上 还是无动于衷,我只能说,别学了 该干嘛干嘛去吧……去享受青春吧 然后腐烂吧……啃老吧 … 不用我骂你废物了 自然有人骂……随着年龄的增长 你会知道你当初多么的愚蠢不堪,你甚至有可能会丧失做人最基本的繁殖权利,因为没有女人会愿意和你在一起…即便是现在有图你帅气外表的 也会离你而去……因为你连稳定的生活也没法提供。

这些话说的极端了点…天下行业多得是,但我就事论事,你已经进了培训机构,八成说明你真的是找不到什么出路了……真的……希望能够骂醒一些迷途少年吧。

扯远了,接下来继续说技术干货。

上面说 如果有人要你……这个可能要吓到很多新人了,我特么那么拼命的学出来,结果还是没人愿意要,怎么办??别担心 你只需要把下一阶段的技术,学一部分 伪装一下经验,就可以了。

Java中级阶段

初级阶段之后,你能够用tomcat和ssm框架弄一个简单的项目出来了, 这时候 你可以注意一下编码规范,变量命名用英文,状态变量用枚举 常量等 你这样做是最低成本的伪装经验,因为新人写的代码往往和狗啃的一样……不要在controller写逻辑 只接收检验数据 调用service和返回信息 不要把request传进service里 那样会破坏依赖分离的初衷,dao基本没啥说的 就是查数据 我见过无数新人写代码都是 service和dao就一个干巴巴的方法 逻辑全写在controller里……这种的不用看 都是菜鸟。

你会框架的CRUD之后 你可以看一下nginx 可以尝试做一个负载均衡玩一下,这个不需要你写代码 只需要配置下 但是能有效的提高简历质量,你还可以学习下MQ 就从activeMQ开始 尝试怎么用对接把任务异步出去, 你还可以试试redis 做个简单的数据缓存或者会话缓存,这时候你再去找工作就立马不一样了,学这三个可能也就用两三周不到,但是你的简历会体现出一个中级程序员的水平。

那说到中级技术水平 个人觉得应该掌握的技术有 负载均衡 apache http 或者nginx均可, 队列 ActiveMQ 就行(这个是java语言写的比较贴近java ),缓存 redis就行 memcache用的越来越少了感觉,还有精力的话,可以看一下mogoDB 做个简单的demo存个json进去玩一玩。 然后你的简历又丰富起来了………你工作里肯定用不到那么多,但是你就往你简历里写,糅合进你的项目里去,反正你知道什么场景用这些就行,问不出来的。 初级和中级界限很模糊的,只是一些中间件的使用而已。

如果你已经学到这个地步,那你要是再说找不到工作, 我是不信的 这时候你找工作 如果在北上广深 应该有机会破万了,至于具体拿多少,看你的表达忽悠能力了。

接下来就是比较高级的部分了,这个阶段 你大概又陷入苦学的阶段了………因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。

Java高级阶段

接下来就是比较高级的部分了,这个阶段 你大概又陷入苦学的阶段了,因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。

到了这个阶段,你要懂得

  • jvm基本结构
  • 要知道垃圾回收机制
  • 常用垃圾回收算法
  • jvm简单调优参数
  • 数据库也是个重头戏
  • 你要知道mysql事务隔离机制的实现
  • 怎么优化sql
  • 要知道springmvc流程 spring的原理 事务传播机制
  • mybatis流程原理
  • 乐观锁悲观锁什么情况用
  • 你要学会考虑系统瓶颈,系统容灾,单点故障
  • 你要懂得一致性是怎么回事
  • cap理论 paxos算法
  • zookeeper干嘛用的,能解决什么问题?
  • 你要懂得soa架构,dubbo , 微服务 spring boot spring cloud 这些高级框架 尝试用一用

谷歌,开源社区 将要取代百度成为你解决问题的主要动力和前进的方向, 你会有种一览众山小的感觉,你会觉得弄个百万并发的系统其实并不难,难的是后续问题,日志处理 运维问题, 关于运维我给不了太多建议,可以了解下 zabbix 之类的 可以去学习下 docker 微服务加docker将是未来的趋势。

学到这个地步,你大概已经不用担心工作问题,这种三五年经验的高级程序员需求永远很旺盛,注意 我说的是三五年学习实践经验,不是三五年一直crud经验。这个时候你如果在北上广,你的工资大概会接近20或者更多,成都西安这边大约15到20 你已经不用为钱太过于发愁了。但是请不要太安逸,因为上面说的那些也只是初窥门径而已

到了这个地步,工资已经比较难以提高了,但是大部分程序员是走不到这一步的。因为他们眼里只有薪资,对程序没有一定的热爱,是很难坚持到这一步的。之所以说三十岁是程序员的分水岭,就是因为很多人在艰难的学习实践路上或是倒下了或是满足了…或是踏足管理 产品 等等岗位 这也是一种出路 只不过我这里讨论的是技术,我个人危机感比较强,技术抓在手里,永远后顾无忧,脱离了技术,你八成会被绑定在某个岗位或者公司上……跳槽?别人未必要你,凭啥你过去就是管理岗位

Java进阶架构师阶段

又扯远了,到了这个阶段,你以为到头了?太年轻了……上面所说的高级阶段,只是构建一个比较大型比较稳定系统的必须而已,问题还是很多的,比如上面说的日志处理,如何利用庞大的日志产生商业价值?如今的淘宝 京东这种系统,你去买个鼠标 它就能给你推荐个键盘等周边外设, 那么它为啥不给你推荐个内衣内裤呢? 想明白这些,你需要进一步学习, 大数据要来了。

flume 日志处理 hadoop hive presto hdfs storm spark 大数据 流式计算,这些够你喝一壶的了,学到这个份上,也不需要别人指点你什么了,你能到达这个阶段本身已经证明了自己的学习和技术能力。到达这个阶段,你八成已经成为一个跨语言程序员了,因为处理数据,并不是java擅长的,你要非用java………那我只能说 人生苦短,何必折磨自己。 你应该已经学会了python scala 也可能有些R语言, 这时候你会发现,语言真的只是工具而已,学个语言很快的,来来回回就是那么些东西而已,思想最重要。

到了这个阶段 你会觉得技术不过如此,妈的学也学不到头,学来学去也都是跟着老外屁股后面用框架而已,恭喜你 你的无聊和孤独求败心态 将会成就你的下一个阶段

Java架构师阶段

如何成为这一阶段,那么我们还得回到上一阶段,Java进阶架构师阶段了,今天我在这里也是给大家分享一份我自己整理的Java架构师进阶的指南吧,这份指南对于我之前也是有很大的帮助,分享出来,也是希望能够帮助正在从事Java工作的你

Java架构师进阶学习指南

如果你是Java程序员,对于上诉所说的技术提升很感兴趣,加入楼主的java架构学习交流群:867923845点击立即加入就能免费获取笔者整理的适合1~5年的Java工程师学习参考的资源啦。还有大量面试题以及解析。欢迎各位工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

Java面试题


一个十年Java架构师的成长之路分享相关推荐

  1. 一个十年JAVA老程序员成长之路分享

    我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...

  2. 架构 php_十年PHP架构师的成长之路,程序员必备

    不知不觉自己做开发已经十年了,这十年中我获得了技术能力.CTO.大公司的经历.但再仔细一想,这十年中我至少浪费了五年时间走了很多弯路,这五年可以足够让自己成长为一个优秀的程序员,我用这五年时间和很多程 ...

  3. [架构之路-4]:架构师 - 架构师的四大架构价值等级与架构师全面成长之路

    目录 第1章 架构师的四大架构价值等级 第一等级L1: 一知半解型(入门架构师)-- 辅助价值 第二等级L2: 拆解还原型(初级架构师)-- 表层价值.协调价值 第三等级L3: 革新型(中级架构师)- ...

  4. 十年Java架构师分享

    1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...

  5. 一个合格的JAVA架构师需要了解哪些知识?java架构师面试题又会有些什么?

    原文  http://www.chinastor.org/gdcc/9259.html 在网上找了一个牛人给出的题目 牛人出的面试题如下: 1. struts,spring,hibernate 这样的 ...

  6. 阿里P7架构师的成长之路

    前言 系统架构师是近几年来在国内外迅速成长并发展良好的一个职位,它的重要性及给互联网行业所带来的影响是不言而喻的.很多程序员把成为一名优秀的架构师作为自己职业生涯奋斗的目标,但很多人努力却用不对地方, ...

  7. Netstars CTO陈斌:架构师的成长之路

    中生代技术 链接技术大咖,分享技术干货 接力技术,链接价值 架构与架构师 Architect,即架构一词可以溯源到希腊语ἀρχιτέκτων , 指的是建筑的规划,设计和建造过程和结果.现在也用于指系 ...

  8. 阿里P6架构师的成长之路,我只用了5个月.....

    有人说JAVA工资高.待遇好这事是一个谣言,其实这并不是谣言,事实就是如此! 令我惊讶的是,相比于Python.C++这类语言,有些人觉得编程是一件很枯燥的事情,只把他当做工作.但是你却不得不接受它. ...

  9. 十年java架构师分享:我是这样手写Spring的

    人见人爱的 Spring 已然不仅仅只是一个框架了.如今,Spring 已然成为了一个生态.但深入了解 Spring 的却寥寥无几.这里,我带大家一起来看看,我是如何手写 Spring 的.我将结合对 ...

最新文章

  1. 【1】用命令行搭建Vue项目
  2. 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity
  3. 什么是JAVA语言为什么要学习JAVA
  4. Python编程基础:第三十四节 文件移动Move a File
  5. 路由器NAT负载均衡实验过程详解
  6. 2021美赛成绩查询证书下载
  7. 台式计算机没有usb3.0,新装的win7没有usb驱动完美解决方法(支持usb3.0/usb3.1)
  8. matlab极坐标图刻度,[转载]如何在Matlab极坐标polar绘图上增加刻度单位
  9. dtu MySQL_DTU-DATACENTER
  10. Android实现Twitter登录分享
  11. python简单爬虫程序分析_Python简单爬虫
  12. Linux root密码重置
  13. 用HTML+CSS做一个简单好看的环保网页
  14. 圣科车衣,给予您的爱车完美守护
  15. nginx 的配置介绍:http块
  16. 他用一生换一个资本帝国
  17. 电脑桌面突然变成粉色或者紫色怎么回事?
  18. 【论文翻译】Fully Convolutional Networks for Semantic Segmentation_2
  19. 毕设-基于人脸识别的教室点名系统(一)
  20. PPT到底用多大字号合适

热门文章

  1. CVS文件导入SQL
  2. 关于 typescript 里面的 分布式条件类型
  3. uniapp Android使用Native.js调用权限
  4. WebWorker进阶
  5. Tomcat 结合Atomikos 实现JTA
  6. c语言循环的嵌套案例,C语言嵌套循环
  7. 五个会让你追悔的错误VPC 配置
  8. irq_request()
  9. 04.1webpack的学习
  10. 5个关键词看微信小程序和 App 的 UI 设计异同