2017马上就要结束了,这一年的工作经验也该做个总结,顺便跟大家分享一下。我认为,随着你工作年限的增长、对生活对生命认识的深入,应当不断思考三个问题:
1、我到底适不适合当一名程序员?
2、我到底应不应该一辈子以程序员为职业?
3、我对编程到底持有的是一种什么样的态度,是够用就好呢还是不断研究?
最终,明确自己的职业规划,对自己的规划负责并为之努力。
哦对了,在分享这篇文章前,我先说一下,我这里有一份Java学习资料,直接加我的Java直播学习群:276582434就能免费领取,长期真实有效。
关于专业技能
写完项目接着写写一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。
-
基本语法
-
这包括static、final、transient等关键字的作用,foreach循环的原理等等
-
集合
-
基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。
-
设计模式
-
知道常用设计模式的优缺点。
-
能画出常用设计模式的UML图。
-
多线程
-
Thread和Runnable的区别和联 系、多次start一个线程会怎么样、线程有哪些状态。
-
JDK源码
-
List、Map、Set实现类的源代码
-
ReentrantLock、AQS的源代码
-
AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
-
线程池的实现原理
-
Object类中的方法以及每个方法的作用
-
框架
-
熟练使用三大框架
-
数据库
-
SQL基础和SQL优化的内容
-
Java虚拟机
-
Java虚拟机的内存布局
-
GC算法及几种垃圾收集器
-
类加载机制,也就是双亲委派模型
-
Java内存模型
-
happens-before规则
-
volatile关键字使用规则
关于Java行业前景
据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。为了帮助大家少走弯路,我总结出一个Java程序员的工作2-5年成长路线图。