凡人:买本书凑凑热闹,听得多写的少,过段时间就把老师教的都忘了。这个阶段是刷掉人最多的阶段,也是从凡人到程序员本质区别的阶段。你的日后成就在于你的习惯与态度。隔一段时间整理自己的知识体系是重中之重。如果你做得多于看代码,那么恭喜你,你进入下一阶段。

筑基:评价标准:懂了怎么配置环境变量,懂得bin目录下都有什么,java命令行基本懂点。明白了变量类型,也碰过几个坑,知道java的值传递,引用传递,脑子里有点函数和类的概念。try catch用不好,用println多余log4j,知道继承但就是不用。if else看得懂switch知道但用的不多(基本都在用if),知道遍历迭代递归,但只会用for,看到foreach傻眼了,iteracter一脸懵逼,时不时的写出几个超长函数。

进入这个阶段恭喜你,你已经是个程序员了,但只是个炮灰小白,毕业生培训一个月的水平,会用eclipse但用不好,想要进一步还要自己提升人生价值。

金丹:学了一段时间java发现自己进入一个瓶颈,简单的代码能看懂但一到项目就懵逼了。在框架的世界里迷茫,听过struct1和2,听过spring但不知道这些框架个有什么特点。你会发现自己不知不觉多了很多新词,restful api,函数式编程,异步,等等。这是个迷茫期也是个成长期,你的java人生在这个阶段才真正褪去学生时代的影子进入到生产第一线。挺过来就是破茧成蝶

元婴:你决心重新梳理一遍自己的知识体系,发现自己以前多么傻多么天真。终于你发现了多种类型的数据并对他们的作用有了大踏步的理解。明白了list找重复不用整个list都遍历一遍,放到set里就好,也明白arraylist和linkedlist的优劣。渐渐的你迷恋上了算法,以前看不懂的排序在自己的手里变得游刃有余。你变了,发现bat的面试题从高不可攀变得有趣起来。这个时间点的你觉得bat不是终点,google amazon facebook里和全世界的高手一较高下才不枉红尘走一遭

炼虚:你进一步梳理知识体系,发现自己以前用的不过是Java多年前淘汰下来的语法,渐渐lambda代替了for,@注解也越用越流利,spring boot也越来越顺眼,渐渐的你喜欢上了写interface,你发现程序越来越接近书上说的松耦合。getter setter让封装性更好,interface变量也完美的实现多态性。你已经有了自己的函数库,不用遇到一个问题就丢给百度。此时此刻你已经炼化了虚伪,成为真正的炼虚阶段。

合体:这一步的你已经不再受到语法和框架的束缚,你加入了hadoop军团,知道怎么调试jvm也碰到了java的瓶颈,你也许碰到了jvm上另一朵花:scalar,也许在scalar之前也写过屁眼通红(python),或者受过c++的折磨。总之,你已经不再受java的约束,以你java的基础,你开始了几门语言的学习,并发现世界真大,我好渺小,java的功能从最初的搭建web服务器到后来的android大军,再到hadoop的异军突起,java像打不死的小强到处都是他的影子。但你也深深体会了java的迟暮,更新越来越难,新版本的java要为老版本的兼容失去太多太多。

大乘:你进入了AI领域,发现python在人工智能领域的强大,你不服气,参照着sklearn开始自己写机器学习的算法,从开始的决策树到后来的xgboost,一步一步你追赶着潮流,渐渐成为了时代的先锋,此处的你已经是宗师级人物,bat的一方大佬,你在github上发布框架,发布包,发布project,渐渐你发现编程从一门语言的学习变成了数学的海洋,无论多高的天赋,在数学面前都难以翻出浪花来

真仙:渡劫成仙,你已经是语言之父级别的人物了,你开始自己写编译器,学术界引领潮流,Google等世界级大厂请你做科学家,思考人类的未来。抱歉我离这个境界太远,想象不到这是个怎样的境界。

写在最后:欢迎留言讨论,加关注,持续更新!!!

惊呆!Java程序员等级一览的更多相关文章

  1. 判定Java程序员等级,HashMap就够了

    JDK1.8  HashMap源码分析 用到的符号: ^异运算:两个操作数相同,结果是;两个操作数不同,结果是1. &按位与:两个操作数都是1,结果才是1. 一.HashMap概述 在JDK1 ...

  2. 惊呆了!Java程序员最常犯的错竟然是这10个

    和绝大多数的程序员一样,我也非常的宅.周末最奢侈的享受就是逛一逛技术型网站,比如说 programcreek,这个小网站上有一些非常有意思的主题.比如说:Java 程序员最常犯的错竟然是这 10 个, ...

  3. Java程序员最常用的8个Java日志框架

    转自:http://www.codeceo.com/article/8-java-log-framework.html 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用 ...

  4. 转:Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...

  5. Java程序员面试题集(71-85)(转)

    转:http://blog.csdn.net/jackfrued/article/details/17566627 Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言) ...

  6. Java基础学习总结(40)——Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...

  7. java程序员面试经历(不忘初心,永不放弃,方得始终)。

    其实一直想静下心好好写一点博客,记录下青春,但一直忙于学习,写bug.....转眼间2017只剩下最后几天,岁月无情划过,不留痕迹,唯有稀疏地中海.哈哈,本篇文章主要是想分享下刚毕业入门找工作的一点小 ...

  8. Java程序员面试题收集(3)

    面试中被问到过的题目: 1.<%@ include=""/>和<jsp:include page="" flush="true&qu ...

  9. [转载]一个标准java程序员的进阶过程

    第一阶段:Java程序员 技术名称 内                 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...

随机推荐

  1. JavaScript正则表达式补充

    定义正则表达式 /.../用于定义正则表达式 /.../g表示全局匹配 /.../i表示不区分大小写 /.../m表示多行匹配 JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m ...

  2. 【微信小程序】wx.navigateBack() 携带参数返回

    第一个页面: go_pick_time:function(e){ var that = this; var type = e.currentTarget.dataset.type; wx.naviga ...

  3. MongoDB集群之分片技术应用 —— 学习笔记

    课程链接:https://www.imooc.com/learn/501 一.什么是分片? 分片:将数据进行2拆分,将数据水平的分散到不同的服务器上. 二.为什么要分片? 架构上:读写均衡.去中心化 ...

  4. xcode出现the file couldn't be opened怎么解决

    右键——show In finder——显示xcode包内容——将有数字的删除——把有用的xcode双击

  5. 只学python行吗

    常言道:"流水的语言,铁打的Python",目前它可以说是已经"睥睨天下,傲视群雄"了.它天生丽质,易于读写,非常实用,从而赢得了 广泛的群众基础,被誉为&qu ...

  6. consul 初体验

    consul server: 192.168.48.134: #!/bin/bash cd /data/server/consuls nohup /data/server/consuls/consul ...

  7. Python--yaml文件操作

    一.yaml文件的使用注意事项 加载yaml文件函数: data = yaml.load(f)  (我在实际测试中用的是yaml.safe_load(f)可以正常,用yaml.load(f)会报错因为 ...

  8. WUSTOJ 1275: 男神的逆袭(Java)

    1275: 男神的逆袭 题目   计算两个日期相差的天数.更多内容点击标题. 分析   下面说一下我的思路(自己写的,无扩展性): 给定一个日期,首先计算这个日期是这一年的第多少天. 给定两个日期,直 ...

  9. 【规律】Parentheses

    Parentheses 题目描述 Dave loves strings consisting only of '(' and ')'. Especially, he is interested in ...

  10. echarts的基本使用以及如何使用官方实例的方法

    <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --> <div id="box" style="width: 600px;heigh ...