惊呆!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 ...
随机推荐
- 30分钟让你学会 Spring事务管理属性
Spring是一个Java开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的.框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开 ...
- delphi字符串分隔函数用法实例
这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...
- jenkins的slave/agent如何通过tcp端口和master建立连接
Jenkins是master-slave/agent结构,可以通过代理把任务下发到各个agent/slave上去执行 如图,首先在master上开启代理配置,指定master上开启的tcp端口,以及和 ...
- demo rabbitmq topic(主题模式),fanout(广播模式),轮询分发,确认接收Ack处理
//durable = true 代表持久化 交换机和队列都要为true ,持久代表服务重启,没有处理的消息依然存在 //topic 根据不同的routkey 发送和接收信息 //fanout 广播模 ...
- 不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串
需求:不使用局部变量和for循环或其它循环打印形如:2 4 8 16 16 8 4 2 这样的串 代码MainTest.java package com.szp.study.javase.specia ...
- web前端三大主流框架的对比
MVX框架模式:MVC+MVP+MVVM 1.MVC:Model(模型)+View(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分开. View通过Controller来 ...
- [转载]桥接与NAT
NAT相当于是局域网中的局域网,把192.168.21.1当作外网ip,重新划分了一个网关(192.168.33.x) 网桥只是把网络桥接起来,还是原来的网关(192.168.21.x),虚拟机相当于 ...
- 第一个web 程序(servlet 和 jsp )&
开发工具是便于程序员的编写,真正运行的代码不是编写的代码,而是tomcat服务器中部署好的代码.tomcat 会根据请求自动调用对应的代码进行请求处理. 可能遇到的问题: 1. 没有classes文件 ...
- Vue中常用知识点demo
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- python学习-49 json模块
json模块 --------将任何类型都转换为json字符串 方法dumps import json dic={"name":"abc"} data = js ...