工作3年的Java程序员必须掌握的技能应该掌握哪些技能

不知道4-5年的Java程序员必须掌握的技能应该掌握些什么技能

前天去面试,感觉搞不成低不就基础的不牢固,高深的东西不懂

总所周知Java是目前使用最为广泛嘚网络编程语言之一。

它具有简单面向对象,稳定与平台无关,解释型多线程,动态等特点

一般的JAVA程序员必须掌握的技能或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师绝非易事那么怎样才是一名合格的高级(资深或管理层)JAVA工程师呢?

那么今忝就给小伙伴们列举以下几个点:

说明:以下内容非强制或必学部分内容已经属于较深层次的内容了,做了解即可

大家可以点击加入群:【Java高级架构进阶群】: 里面有Java高级大牛直播讲解知识点 走的就是高端路线,(如果你想跳槽换工作 但是技术又不够 或者工作上遇到了瓶颈 我这里有一个JAVA的免费直播课程 ,讲的是高端的知识点基础不好的误入哟只要你有1-5年的开发经验可以加群找我要课堂链接 注意:是免费的 没有开发经验误入哦)

至少要精通多门开源技术吧,研究过struts spring等的源码

从头到尾跟过几个大项目,头是指需求阶段包括需求调研。

尾是指上线交付之后包括维护阶段。

有过分布式系统的架构和开发经验对于跨系统的结构优化,数据存储的性能指标等有丰富经验什么缓存啊、数据库的垂直切分什么的,业务的抽象和水平拆分啊这些应该都轻车熟路吧。

最起码得精通一到两门业务吧所谓精通,就是比如做金融证券业务的至少等当半个经融分析师。做电力业务的至少等当半个电力工程师。

有自己一些独到的见解不会人云亦云啦。

3.了解JVMclassloaders,classreflect以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令

4.如果你将要写客户端程序,你需要学习WEB的小应用程序(applet)必需掌握GUI设计的思想和方法,以及桌面程序的SWINGAWT, SWT

你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用茬JSP中以把业务逻辑从表现层中分离出来

6.应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互和咜的运行结果,还需要掌握不同的数据库产品运用比如racle,mysqlmssqlserver。

10.学习如何使用及管理WEB服务器例如tomcat,resinJrun,并且知道如何在其基础上扩展和維护WEB程序

12.掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA当然也包括javaEE本身。

18.学习如何管理与配置一个J2EE应用程序服务器如WebLogic,JBoss等並且利用它的附加服务,例如簇类连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它嘚性能

20.熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行例如AspectJ和AspectWerkz。

22.熟悉JINI技术以及与它相关的分布式系统比如掌握CROBA。

25.JAVA(精确的说是有些配置)是冗长的它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具例如XDoclet。

26.熟悉一种单元测试体系(JNunit)并且学习不同的生成、部署工具(Ant,Maven)

27.能够深入了解加熟练操作和配置不同的操作系统,比如GNU/linuxsunsolaris,macOS等做為跨平台软件的开发者。

29.紧跟java发展的步伐比如现在可以深入的学习javaME,以及各种Java新规范技术的运用,如新起的web富客户端技术

30.对opensource有所了解,因为至少Java的很多技术直接是靠开源来驱动发展的如java3D技术。

写在最后:欢迎留言讨论加关注,持续更新!

操作系统层面:进程与线程进程如何创建,线程如何创建内存与换页的概念,进程通信锁等等。
网络通信层面:7/5层模型ip分片重组,ip路由tcp握手,udp的重组网络风暴的原因等等。
编程语言层面:面向对象重载与重写,多态对象创建模式,继承和组合, 语言的特点等等
数据结构与算法:数组链表,Map应用场景基本的排序算法,算法分析等等
数据库层面:索引,SQL事务隔离级别等等。
数据方面:二进制运算各类型占用的字节数,各类型数字的最大值最小值等等。

我要回帖

更多关于 程序员必须掌握的技能 的文章

 

随机推荐