在Java工程师日常的开发过程中由於业务的不同,可能关注的点有很多不一样的地方但是在技术掌握层面还是有一些共性的。
本文概括了在Java工程师开发、测试、部署等方媔的25个必备技能供大家参考。
应该了解JVM 、classloaders、classreflect以及垃圾回收的基本工作 机制等你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
如果你将要写客户端程序你需要学习Web的小应用程序(applet),必须掌握GUI 设计的思想和方法以及桌面程序的SWING、AWT、SWT。你还应该对UI部件的JavaBEAN组件模式有所了解JavaBEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
还应该了解对象关系的阻抗失配的含义以及它是如何影响业务对象与关系型数据库的交互和它的运行结果。还需要掌握不同的数据库产品运用比如Oracle、MySQL 、SQL server。
需要学习如何使用及管理Web服务器 例如tomcat、resin、Jrun,并且知道如何在其基础上扩展和维护Web程序
需要学习分布式对象以及远程API,例如RMI和RMI/IIOP
需要掌握各种流行中间件技术标准和与Java结合实现,比如Tuxedo、CROBA当然也包括JavaEE本身。
需要学习如何管理与配置一个J2EE应用程序服务器如WebLogic、JBoss等,并且利用它的附加服务例如簇类,连接池以及分布式处理支援你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
需要熟悉面向方面的程序设计以及面向属性的程序設计(这两个都被很容易混淆的缩写为AOP)以及他们的主流Java规格和执行。例如AspectJ和AspectWerkz
Java(精确的说是有些配置)是冗长的,它需要很多的人工代码 (例如EJB)所以你需要熟悉代码生成工具,例如XDoclet
需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(AntMaven)。
学会制定好系统的部署计划系统部署的平台是一个至关重要的部分。对于平台的描述不能仅限于一台服务器、两个数据库这个层面,至少需要包括:
·操作系统的特定版本,JVM等
·有多少内存(包括物理内存JVM堆内存,JVM栈内存和JVM永久代的空间)
必须要对实际项目的开发流程有所了解至少要有两个有实际應用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验真正开发经验的体现就是你做的项目,也就是有实际應用的项目!
学会了这25个技能并且可以巧妙地运用到实际工作当中,相信你离Java大牛的距离会越来越近
此外,想要成为真正的Java大牛除了要具备这些专业知识、专业技能外人际交往能力、沟通能力、团队合作能力等等也是你所要具备的能力。想要了解更多请持续关注云和數据的最新动态哦~