Java 程序员该掌握什么核心技术才能不被危机波及?
程序员一直是和“高薪”两个字
挂在一起的
不可否认
前几年程序员确实经历了
一段风光无限的时期
但是经过统计
在这些风光的背后
其实也暗藏了这些危机:
①市场需求增长远少于Java程序员供应增长,Java程序员面临更加激烈的竞争;
②受供应量的大幅增长影响,Java程序员平均跳槽薪资涨薪幅度较低;
③需求方对Java程序员提出更加严苛的选材标准。
社会一直是在发展的,人也都在进步着,随着市场越来越规范,对Java程序员的要求也越来越清晰,再加上众所周知程序员工资高,很多人转行做程序员,人才供应增长,所以现在的程序员虽然还是占据高工资好前景的宝座,却不是谁都能稳稳坐在上面。
这就要求程序员们掌握别人不可替代的核心技术,才能在浪潮中霸占一方。
1、语法:
必须比较熟悉,在写代码的时候 IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:
必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。
3、工具:
必须至少熟练使用一种 IDE的开发工具,例如 Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者 Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
4、API:
Java的核心 API是非常庞大的,但是有一些内容我认为是必须熟悉的,否则不可能熟练的运用 Java,包括:
1)、java.lang包下的 80%以上的类的功能的灵活运用。
2)、java.util包下的 80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和 Timer。
3)、java.io包下的 60%以上的类的使用,理解 IO体系的基于管道模型的设计思路以及常用 IO类的特性和使用场合。
4)、java.math包下的 100%的内容。
5)、java.net包下的 60%以上的内容,对各个类的功能比较熟悉。
6)、java.text包下的 60%以上的内容,特别是各种格式化类。
7)、熟练运用 JDBC。
8)、java.security包下 40%以上的内容,如果对于安全没有接触的话根本就不可能掌握 java。
9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
10)、Swing的基本内容,和 AWT的要求类似。
11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成 XML的解析及内容处理。
5、测试:
必须熟悉使用 junit编写测试用例完成代码的自动测试。
6、管理:
必须熟悉使用 ant完成工程管理的常用任务,例如工程编译、生成 javadoc、生成 jar、版本控制、自动测试。
7、排错:
应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8、思想:
必须掌握 OOP(面向对象编程)的主要要求,这样使用 Java开发的系统才能是真正的 Java系统。
9、规范:
编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。
最后,给所有Java的学习者们分享一个学习路径:
第一个阶段-Java基础阶段
1.java语法
2.面向对象
3.常用的api
4.界面编程(现行业比较少涉及)
5.多线程
6.文件io
7.java网络编程
第二个阶段 -数据库阶段
1.oracle
2.mysql
3.sql server
第三个阶段 -web开发阶段
1.html(html5)
2.css(css3)
3.javaScript
第四个阶段 -J2ee中级部分
1.servlet
2.jsp
3.mvc
第五个阶段 -J2ee高级部分
1.struts2(struts已过时)
2.hibernate
3.spring(大热门)
4.mybatis