1、Java语言的基础掌握
这部分内容包括Java的面向对象开发的特征,JVM的结构以及Java
Web开发的体系结构等内容。这部分内容虽然都比较基础,但是细节却比较多,包括Java性能优化、Java并发开发、Java *** 作数据库、Java
Web开发标准、Java网络开发、Java序列化等一系列内容。
2、Java分布式开发
对于Java语言来说,分布式开发是Java一个重要的内容,由于Java一个很重要的应用场景就是大型网络平台的后端开发,而后端开发一个重要的基础就是构建一个健壮的分布式开发框架。Java的分布式开发比较考验程序员解决问题的能力,从早期的RMI、SOAP到目前采用的分布式框架(dubbo、zookeeper)以及Spring
Boot和Spring Cloud的使用,这些技术的运用是Java高级程序员必须掌握的。
3、场景解决方案
对于一名Java高级程序员来说,在不同的场景下要有不同的方案,这也是非常重要的。要能够根据具体的需求完成不同技术方案的实现过程,这是Java高级程序员经验的一个直接体现。
宏观方面
一、 JAVA。
要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)
工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您
对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。
二、 设计模式。
其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代
码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。
但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进
三、 XML。
现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解
XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置
信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。
四、 精通使用一种或两种框架。
“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开
发使你可以省出很多的开发成本”。这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您
会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。
五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了
更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出
身,您还需要补充一些数据库原理方面的知识。
六、 精通一种或两种WEBServer。
因为作为JAVA工程师,特别时
想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它
的资源,这往往可以节省很多时间和精力。
七、 UML。
您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队
中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但
却很重要。
八、 站在高度分析问题:
这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而
不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在
您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。
九、 工具。
您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对
ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧
微观方面
1Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a面向对象编程思想(封装继承多态接口)
b字符串处理
cjavalang包,javautil包等常用包
djava异常处理
2Java高级部分
aJava I/O流
bJava多线程技术
cJava网络编程
dJava Swing
后两项可以了解即可,如果项目需要可以深入研究
3前端基本技能
HTML + CSS网页开发
JavaScript
Jquery
浏览器兼容性 CSS hack(了解)
4熟练使用JSP + Servlet进行开发
5MVC设计模式,原理,以及相关框架,如Struts
6SSH框架
7缓存技术 session & cookie
8熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9熟练使用XML
JDOM w3cdom SAX
10Java设计模式
工厂模式,单例模式 ==
11Java反射机制
反射的各种用法
12了解或熟悉 C, C++, NET
13熟悉JDK的配置,环境变量
14数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16JDBC,连接池
17Ajax,反向Ajax
18>
19熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
20了解windows系统批处理脚本bat
21了解HTML5,最好学习过
22熟悉一种JS框架,如Prototype
23J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
24熟悉ant或maven
25熟悉一门脚本语言,如python ,ruby
26了解php/ asp
27了解ftp协议及原理
28熟练使用Junit测试,熟悉Mockito等测试工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31了解Flex(不学也没关系)
32了解敏捷开发模式
33工作流workflow至少用过一种,如OSworkflow,了解原理
34使用过***了解其原理
35熟悉jstl表达式和el表达式
36熟悉webservice,WSDL,SOAP
37处理,如上传,预览,限制大小等
38版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40分页技术,最好自己实现过不仅仅是用过要知道原理
41Java Mail
42Java读写txt,excel,JXL技术
43JVM原理,JVM内存管理,GC,Java堆栈池
44熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45UML建模工具Rational Rose等
46 使用log4j
47使用过开放Api如百度,腾讯街景,新浪微博等
48页面静态化技术(伪静态页面)
49报表技术,使用过报表制作工具,如水晶易表。
50定时任务,如Spring batch ,学会自定义batch任务(不适用第三方工具)
51了解uuid
52b/s 和 c/s架构
53正则表达式
54了解jndi jms
55ERP
56UNICODE编码,乱码解决
57开源网络编辑器,如ckEditor
58二进制原理
59使用过,了解过开源论坛框架,如discuzz
60GWT,Closure框架
61了解大数据,云计算
62搜索引擎搜索技术
63软件工程,项目管理
职业要求
教育培训
计算机相关专业,大专及以上学历。相关专业证书有:Sun Certified Java Programmer(SCJP)和Sun Certified Java Developer(SCJD) 认证。
工作经验
有一定的软件分析设计能力;熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse或jbuilder等java开发工具;熟悉JAVA+STRUTS体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。
薪酬参考
据智联招聘上对上海java工程师的薪资据说显示,截止到2012年6月13日,java工程师的平均水平已达6435。根据现在移动互联网中安卓市场的份额,相信这一职业的工资水平会一直上升。
就业前景
Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。这可以概括JAVA有着自己独特的优势:语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要,它是一个动态语言。
权威统计机构统计——在所有软件开发类人才的需求中,对 JAVA工程师的需求达到全部需求量的60%~70%。JAVA工程师的薪水相对较高,通常来说,具有3~5年开发经验的工程师,拥有年薪 10万元是很正常的一个薪酬水平。
JAVA发展方向
一是成为管理人员,例如产品研发经理,技术经理,项目经理等继续;二是他的技术工作之路,成为高级软件工程师、需求工程师等。
还是看看IDC Java工程师的薪水相对较高。 Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
JAVA就业方向:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
我们在前文中给大家指出了新手程序员在向技术高手蜕变的时候都会产生哪些思维上的误区。而今天我们就给大家带来了这些误区的解决方法。霍营电脑培训希望大家能够通过对本文的阅读,真正理解和成为高级程序员。
1、熟悉更多业务,不管是不是你负责的;熟悉更多代码,不管是不是你写的
这样做有很多好处,举几个简单的例子:
需求分析的时候更加准确,能够在需求阶段就识别风险、影响、难点
问题处理的时候更加快速,因为相关的业务和代码都熟悉,能够快速的判断问题可能的原因并进行排查处理
方案设计的时候考虑更加周全,由于有对全局业务的理解,能够设计出更好的方案
2、熟悉端到端
比如说你负责web后台开发,但实际上用户发起一个>
“系统性”、“全局性”、“综合性”这些字眼看起来比较虚,但其实都是技术大牛的必备的素质,要达到这样的境界,必须去熟悉更多系统、业务、代码。
3、自学
一般在比较成熟的团队,由于框架或者组件已经进行了大量的封装,写业务代码所用到的技术确实也比较少,但我们要明白“唯一不变的只有变化”,框架有可能要改进,组件可能要替换,现有技术可能已经无法满足业务需求,或者你换了一家公司,新公司既没有组件也没有框架,要你从头开始来做。
这些都是机会,也是挑战,而机会和挑战只会分配给有准备的人,所以这种情况下我们更加需要自学更多东西,因为真正等到要用的时候再来学已经没有时间了。
以上就是关于一个高级Java程序员必须学习哪些技术全部的内容,包括:一个高级Java程序员必须学习哪些技术、一个高级java工程师需要具备什么能力和技术、初级程序员成为高级程序员都有哪些方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)