1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。

2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localization以及其他)。

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

4. 如果你将要写客户端程序,你需要学习Web的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING、AWT、SWT。你还应该对UI部件的JavaBEAN组件模式有所了解。JavaBEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。

5. 你需要学习Java数据库技术,并且会使用至少一种persistence/ORM构架,例如Hibernate、JDO、CocoBase、TopLink、InsideLiberator(国产JDO红工厂软件)或者iBatis。

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

7. 你需要学习Servlets、JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。

8. 你需要熟悉主流的网页框架,例如JSF、Struts、Tapestry、Cocoon、WebWork,以及他们下面的涉及模式,如MVC/MODEL2。

9. 你需要学习如何使用及管理Web服务器,例如tomcat、resin、Jrun,并且知道如何在其基础上扩展和维护Web程序。

10. 你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。

11. 你需要掌握各种流行中间件技术标准和与Java结合实现,比如Tuxedo、CROBA,当然也包括JavaEE本身。

12. 你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing)、JDOM(JavaforXMLDocumentObjectModel)、DOM4J或JAXR(JavaAPIforXMLRegistries)。

13. 你应该学习如何利用Java的API和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC)、SAAJ(SOAPwithAttachmentsAPIforJava)、JAXB(JavaArchitectureforXMLBinding)、JAXM(JavaAPIforXMLMessaging)、JAXR(JavaAPIforXMLRegistries)或者JWSDP(JavaWebServicesDeveloperPack)。

14. 你需要学习一门轻量级应用程序框架,例如Spring、PicoContainer、Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。

15. 你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface)、JMS(JavaMessageService)、JTA/JTS(JavaTransactionAPI/JavaTransactionService)、JMX(JavaManagementeXtensions),以及JavaMail。

16. 你需要学习企业级JavaBeans(EJB)以及它们的不同组件模式:Stateless/StatefulSessionBeans、EntityBeans(包含Bean-ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者Message-DrivenBeans(MDB)。

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

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

19. 你需要熟悉对不同有用的API和frame work等来为你服务。例如Log4J(logging/tracing)、Quartz(scheduling)、JGroups(networkgroupcommunication)、JCache(distributedcaching)、Lucene(full-textsearch)、JakartaCommons等等。

20. 你应该熟练掌握一种JavaIDE例如sunOne、netBeans、IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了)

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

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

23. 你需要熟悉一些在Java开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。

24. 你还需要紧跟Java发展的步伐,比如现在可以深入的学习Webwork2.0。

25. 你必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!

尤其是java程序员(转载)_JAVA程序员 学习任务(转载)相关推荐

  1. java程序员技术_JAVA程序员需要懂得哪些技术

    原标题:JAVA程序员需要懂得哪些技术 学习java,掌握java技术,成功找到一份满意的工作,这才是一个完美的学习过程和结果.那对于初学java的同学来说,想要成功找到一份工作需要掌握哪些java技 ...

  2. java斗图表情_java程序员斗图表情包 为何总是输

    原标题:java程序员斗图表情包 为何总是输 程序员之间的斗图表情包, java真的输惨了! 表情包成了人与人聊天中不可少的分量,陌生人聊天表情包丢出去妥妥的拉近关系变熟络啊(¬_¬) 而且可以用表情 ...

  3. java语言执行过程_Java程序的运行过程(执行流程)分析

    万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程.从<使用记事本编写运行Java程序>一节的案例可以看出,Java 程序的运行必须经过编写.编译和运行 3 ...

  4. java素数的流程图_Java程序流程结构

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  5. vbs和java有关系吗_Java程序员所需的批处理和VBS脚本 (转载)

    1. 利用vbs设置环境变量 有时候感觉设置环境变量还真是比较麻烦,我是希望可以做成点击一下就ok的,这样重装系统就不用那么麻烦了,但是考虑到通用性,为了不把路径写死所以做了个选择目录的对话框,源码如 ...

  6. java程序员二级_Java程序员认证模拟题及详细分析(2)

    Java程序员认证模拟题及详细分析(2) 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 Java程序员认证模拟题及详细分析(1) 26. Give following class ...

  7. java增删改查_Java程序员你真的甘心只做增删改查吗

    各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题 最 ...

  8. java后期发展方向_Java程序员的4个职业发展方向,该如何把握黄金5年?

    在Java程序界流行着一种默认的说法叫"黄金5年",意思是说,一个Java程序员从入职的时候算起,前五年我选择直接影响着整个职业生涯的发展方向和薪资走向. 而这5年,也决定了一个程 ...

  9. java有哪些技术_Java程序员,最常用的20%技术有哪些?

    两个月,这让我想到了我当年第一份工作,也是两个月从零学JAVA.当时就买了3本书,强啃了6周.记住一点,时间有限,别听网上很多大牛的,他们说的太杂.你要抓重点,你只要让人家知道,你足够初级开发就可以了 ...

最新文章

  1. 利用Gephi软件绘制网络图
  2. DCMTK:从命令行修改DICOM文件的类
  3. PolyData之DataBounds
  4. matlab数字通信,基于matlab时分复用数字通信系统的设计与实现.pdf
  5. vue项目中配置标题栏title的图标和文字
  6. (32)FPGA米勒型状态机设计(三段式)(第7天)
  7. 北信源管理网页卸载密码_怎么卸载找不到程序的流氓软件?
  8. Swarm Mode服务管理
  9. css3学习笔记之背景
  10. qml实现雪花飘落,快来给你的暑假降降温吧
  11. matlab计算abc三相短路电流_变频电源的安装及单相/三相变频电源电流计算公
  12. 2019JAVA面试题附答案-精心整理-很全面面试大大节省时间
  13. 浏览器清除缓存[chrome、ie]
  14. 卷积神经网络与机器视觉,卷积神经网络图像分类
  15. html文字段落i排版,i排版基础操作GIF版
  16. 【Gitlab】 remote: Ask a project Owner or Maintainer to create a default branch:
  17. 你知道怎么给客户朋友圈点赞吗?
  18. Windows 10 Office 2019 Retail 转 VOL 版
  19. 用 Python 写一个俄罗斯方块游戏
  20. 乔布斯震撼临终遗言首度公开!

热门文章

  1. android button的selector
  2. Nginx学习笔记(五) 源码分析内存模块内存对齐
  3. 简明Linux命令行笔记:finger
  4. html实体编码_深入研究浏览器解析和XSS有效负载编码
  5. 疯狂的程序员_程序员的乐趣是什么?
  6. linux 硬盘繁忙,icinga2 借助check_iostat.sh抓取linux服务器的diskIO(硬盘繁忙度)
  7. 分区 主分区 和 扩展分区_等和分区
  8. Java BigDecimal min()方法与示例
  9. php xlsx里插入图片_常见的 PHP 面试题和答案分享
  10. 许多计算机英语,计算机英语翻译