惊呆!Java程序员等级一览
筑基:评价标准:懂了怎么配置环境变量,懂得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程序员等级一览的更多相关文章
- 判定Java程序员等级,HashMap就够了
JDK1.8 HashMap源码分析 用到的符号: ^异运算:两个操作数相同,结果是;两个操作数不同,结果是1. &按位与:两个操作数都是1,结果才是1. 一.HashMap概述 在JDK1 ...
- 惊呆了!Java程序员最常犯的错竟然是这10个
和绝大多数的程序员一样,我也非常的宅.周末最奢侈的享受就是逛一逛技术型网站,比如说 programcreek,这个小网站上有一些非常有意思的主题.比如说:Java 程序员最常犯的错竟然是这 10 个, ...
- Java程序员最常用的8个Java日志框架
转自:http://www.codeceo.com/article/8-java-log-framework.html 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用 ...
- 转:Java程序员最常用的8个Java日志框架
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...
- Java程序员面试题集(71-85)(转)
转:http://blog.csdn.net/jackfrued/article/details/17566627 Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言) ...
- Java基础学习总结(40)——Java程序员最常用的8个Java日志框架
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...
- java程序员面试经历(不忘初心,永不放弃,方得始终)。
其实一直想静下心好好写一点博客,记录下青春,但一直忙于学习,写bug.....转眼间2017只剩下最后几天,岁月无情划过,不留痕迹,唯有稀疏地中海.哈哈,本篇文章主要是想分享下刚毕业入门找工作的一点小 ...
- Java程序员面试题收集(3)
面试中被问到过的题目: 1.<%@ include=""/>和<jsp:include page="" flush="true&qu ...
- [转载]一个标准java程序员的进阶过程
第一阶段:Java程序员 技术名称 内 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...
随机推荐
- JMETER安装教程
jmeter的安装教程 1:安装jdk并且配置好环境变量,此处就不做赘述(前面的文档中有) 2:下载jmeter文件和jmeter的插件文件 JMeter:http://jmeter.apache.o ...
- 机器学习算法-K-NN的学习 /ML 算法 (K-NEAREST NEIGHBORS ALGORITHM TUTORIAL)
1为什么我们需要KNN 现在为止,我们都知道机器学习模型可以做出预测通过学习以往可以获得的数据. 因为KNN基于特征相似性,所以我们可以使用KNN分类器做分类. 2KNN是什么? KNN K-近邻,是 ...
- 【C/C++开发】C++实现简单的线程类
C++封装一个简单的线程类 多线程编程简介: 大家在编程时,经常需要在程序中启动一个或多个线程来处理任务,而如果每次都是去调用系统创建线程的API函数来创建,代码量虽不多,但线程的创建和业务逻辑代码就 ...
- 安卓计数器类APP推荐
1. Thing Counter - Google Play 上的应用 可添加多个计数器,同一页面展示,一行一个,操作直观方便: 可以更改计数器颜色,使页面更美观. 每个计数器有详情和历史记录 详情: ...
- jqGrid通过行id获取行对象
$("#jqGrid").jqGrid('getRowData',rowid);
- 报错Unsupported major.minor version 52.0的原因
原因分析 很明显是JDK版本不一致所导致的,,我们知道Java是支持向后编译的,也就是说,在低版本(如JDK6)上编译的class文件或者jar文件可以在高版本上(如JDK8)上编译通过,但这并不意味 ...
- sklearn.feature_extraction.text.CountVectorizer 学习
CountVectorizer: CountVectorizer可以将文本文档集合转换为token计数矩阵.(token可以理解成词) 此实现通过使用scipy.sparse.csr_matrix产生 ...
- xmind常用快捷键
1-新建导图Ctrl+shift+N2-编辑文字空格键3-插入图片Ctrl+i4-插入主题Enter键5-插入主题之前Shift+Enter键6-插入子主题Tab键7-放大导图“Ctrl”+“+”,先 ...
- windows版mysql添加远程访问
use mysql; ##然后查看下当前连接允许情况 select host, user, authentication_string, plugin from user; ##依次执行 CREATE ...
- java源码 -- TreeMap
简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的.TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合.TreeMap 实现了N ...