`
lvmlvy_1983
  • 浏览: 30825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

技术大潮中不迷失方向!J2EE修炼之四书五经

    博客分类:
  • tree
阅读更多

   J2EE其实没有四书五经,因为J2EE一直如汹涌澎湃的大江,推陈出新,不断高速发展,这是一种带领我们走向未来的技术。当然,如何在这种气势如虹的潮流之中不至于迷失方向,需要相关指南性书籍的引导。
本文将从线程和模式两个方面推荐J2EE书籍,这两个方面正好是两种不同的方向,线程是从微观、底层机制入手;而模式则是从设计高度来看待J2EE。

  线程(Thread)

  首先,线程是很多J2EE初学者容易忽视的一个基本知识,可以说,无论你是从Java世界的哪一扇门进入J2EE的,线程是必经之道。

  已经不记得在哪里看到过下面一段英文:

  在过去,大概只有勇敢的程序员才勇于使用pthread和Win32线程,现代语言如Java正试图在编写一些令人恐惧的应用如并行计算等方面来挽救我们。

  J2EE的Servlet和EJB确保我们不用担心线程以及同步等问题,我们只要象往常一样编程,容器自动会使用线程池等技术来支持我们的应用。

  由此可见,线程是J2EE最基本的底层机制,每个Servlet/Jsp程序其实是一段线程程序,如果你不懂得线程/多线程的一些原理,如何能娴熟驾驭J2EE的Servlet/Jsp?

  在线程计算方面有很多权威,Dou Lee无疑是这方面的杰出代表,他的并行计算包已经加入了最新的JDK1.5版本中,他的书籍都属于奠基性质,但是,这样书籍可能不是很适合只想对线程进行了解的J2EE初学者。

  《Java线程编程》(Java Thread Programming)

  是我推荐的第一本有关J2EE书籍,在这本书中,作者以简单的例子,形象易懂地从单线程讲解到多线程,线程池(Thread Pool)、并发同时访问对象和变量(Concurrent Access to Objects and Variables),这些都是我们在平时Servlet/Jsp编程中经常会发生疑惑的地方,在这本书的案例中,作者清晰明了地给我们展示这些细节而有重要的技术。同时,也让我们深刻地理解了直接编制多线程应用是一件“令人恐惧”的事情。

  很有意思的是,我在一家网上书店社区里也发现了与我有同样见解的帖子,称这本书是“一本让经典成为过去的书”

  设计模式

  线程世界就象微生物世界一样,复杂且几乎没有边界,作为信息系统的程序员如果太执著于这样纯技术的微观层面,可能浪费太多宝贵时间和精力,在基本掌握多线程机制后,需要更加关注J2EE的设计应用了。

  J2EE是Java世界中一个独特的框架或标准,所以,我们首先需要掌握基于Java的设计应用,这些设计应用技巧,是先行者经过长期实践总结出来的心得,他们称之为设计模式。在J2EE应用中,只有大量使用设计模式,才能体现出分离和解耦的最高宗旨,才能使得自己的J2EE系统脉络清晰、层次分明,这样的系统才真正具有良好的可伸缩性、稳固的健壮性以及方便的可维护性。

  GoF 23种设计模式已经成为经典,2002年我在我的网站J道发表23种设计模式Java详解时,竟然在中文Google里很难发现这方面的资料,这让我万分惊讶,也许国人确实是非常实在,只对算法、数据结构等这样看得见、摸得着的概念感兴趣,其实我一直反复和别人讲:设计模式不是纯抽象概念,它是实践的总结,如同UML一样,是一种交流和编码实现的语言。

  我在2002年帮朋友购买了GoF 23种设计模式的中文版:《设计模式:可复用面向对象软件的基础》,它是2000年12月第2次印刷的版本,这样经典必读书籍,8000册在2年时间内都没有销售完毕,相比那些喧嚣炒作的书籍,在出版几个月内销售过万,越发显得我们这个社会的浮躁和急功近利了。

  当然,这本薄薄的书虽然由四个国人鼎力协助翻译,想必他们也殚思竭虑,尽了最大努力了,可惜书中还是有很多翻译欠妥之处,影响了它的销量。

  由于这本经典的GoF设计模式比较难懂,初学者更多应该是从实例应用中了解和掌握GoF设计模式,相关提供实例应用的书籍有下面几本:

  Mark Grand的Patterns in Java系列;

  美籍华人阎宏的《Java与模式》;

  笔者的《Java实用系统开发指南》;

  EJB

  EJB是J2EE中一个重要组成部分,J2EE推荐将你的业务功能核心放在EJB中实现,EJB类似肯得基的“全家桶”,将实际中需要的基础功能全都打包在一起了,如果你是个挑剔或个性化的客户,我想你可能不会只满足于“全家桶”。

  不管“全家桶”是否合适你,了解它里面装的是什么是一个必需的过程。掌握EJB需要从两个方面着手:基本原理和如何使用。

  《精通EJB(第二版)》(后注:http://www.javafan.net/softview.jsp?ID=110)

  是对EJB原理讲解得比较透彻,但是书中将EJB一些本质原理推卸给了Corba,而对Corba又没有仔细介绍,我认为初学者应该在这里适可而止,如果你非常对EJB底层实现感兴趣,我推荐阅读JBoss的源码,其实JBoss源码在你孜孜不倦的钻研之劲攻击下很快会土崩瓦解。

  对象池(Object Pool)、RMI和事务机制应该是EJB原理掌握三个方向,这三种技术方向又可以推荐很多书籍供学习研究,这里就不说了。

  EJB主要分EJB容器和EJB应用系统,初学者更多精力应该关注如何构建EJB应用系统,由于EJB提供功能强大且非常有特点,因此,使用他们要非常小心,遵循一定的前提和规则,由此,EJB设计模式是不能不了解的。

  《EJB设计模式》(后注:http://www.javafan.net/softview.jsp?ID=69)是这方面的经典之作,在书中,作者指出了使用CMP注意特点、DAO模式的重要性、DTO模式的变种等。阅读本书的同时,如果参考SUN的PetStore源码学习,将会起到事半功倍的效果,

  看完上面两本书,自己动手实践非常重要,EJB使用中关于EJB reference配置比较麻烦,其原理是这样:调用者---- > EJB Reference ---> 被调用EJB的JNDI名称 ---- >被调用EJB,这些细节使用问题只有实践时才能碰到,也可以从网上寻找一些这方面的电子教程实例。

  只有调试了一两个EJB实例,这时你才可以站出来表达你的想法:喜欢或不喜欢?架构选型时也可以提供参考意见:是轻量型还是重量型?盲目排斥EJB或认为EJB是唯一解决方案等两种极端观点是要不得的,条条大路通罗马,伸缩和性能是关键。

  这里推荐一本从纯设计角度看待EJB/J2EE的书籍:Rod Johnson的《J2EE设计开发编程指南》,英文是Expert One-on-One J2EE Design and Development,Rod Johnson在书中从一个完美的设计角度指出了EJB缺点,这些缺点他是用黑体标识,非常醒目,同时,他将如果不使用EJB所带来的额外工作量使用正常小字体标识了,算是轻描淡写吧。当然,Rod Johnson为了将其理想的设计落实为代码,主持了Spring框架开发,如果J2EE领域有一个既符合完美的设计要求,又能支持成熟应用,同时又是业界标准,那是一个多么令人向往的事情,Spring框架至少在这方面做了有益的探索。

  集群、Web服务和资源整合

  对于中大型软件系统,集群和Web服务是必需掌握的技术,目前相关书籍不多。如何将J2EE新技术和现有资源整合,也属于一个探索性的领域,期待这几个方面有好的书籍问世。

分享到:
评论

相关推荐

    魏少军-人工智能大潮中的芯片发展思路

    ### 魏少军-人工智能大潮中的芯片发展思路 #### 一、人工智能是一个老的新话题 在2017年的青城山中国IC生态高峰论坛上,魏少军教授首先提出了一个观点:“人工智能是一个老的新话题”。这个观点既指出了人工智能的...

    云计算大潮中的关键信息技术设施防护.pdf

    云计算大潮中的关键信息技术设施防护 云计算带来的安全问题,越来越严重,甚至成为当前网络安全重灾区。随着云计算技术的发展,各行业已经从观望、试验、小规模应用到现在各领域、各行业大规模使用,特别是关键信息...

    在产业升级大潮中寻求自我突破的中国工业软件产业

    在自动化、信息化、智能化技术的推动下,工业软件正在向高端化、集成化、服务化方向发展。 二、产业升级大潮中的机遇与挑战 产业升级不仅仅是生产环节的改造,更是整个产业链的优化重组。在这一过程中,工业软件的...

    工业物联网技术方案及发展大潮.pdf

    工业物联网(IIoT)是指在工业领域中应用物联网技术,它代表了第四次工业革命的核心技术之一。IIoT技术可以整合各种智能传感器、网络通讯技术和数据处理技术,实现工业设备和系统的智能化、网络化和数据化,从而达到...

    2024在产业升级大潮中寻求自我突破的中国工业软件产业.pptx

    "2024在产业升级大潮中寻求自我突破的中国工业软件产业" 本报告旨在分析中国工业软件产业的发展现状和未来趋势,探讨产业升级的路径和突破点,为相关企业和政策制定者提供参考。中国工业软件产业发展现状、产业链...

    移动-新技术革命大潮将至.docx

    移动技术的崛起正引领着一场前所未有的新技术革命。这场革命的号角首先由布鲁金斯研究院的论坛吹响,它不仅仅预示着一种通信工具的更新换代,更预示着一场深远的社会变革即将到来。移动技术的发展已经改变了人们的...

    TE智库|《在产业升级大潮中寻求自我突破的中国工业软件产业》报告

    TE智库在新发布的《在产业升级大潮中寻求自我突破的中国工业软件产业》报告中,深入剖析了这一产业的发展现状,探讨了工业软件在推动产业升级中的核心作用,并通过案例展示,为业界提供了解决方案和参考。...

    工业物联网技术方案及发展大潮.zip

    本文将深入探讨工业物联网的技术方案及其发展大潮。 一、工业物联网的基础架构 工业物联网的基础架构通常包括感知层、网络层、平台层和应用层: 1. 感知层:由各种传感器和执行器组成,负责收集设备运行状态、...

    “智慧城市”大潮中的智慧城管

    “智慧城市”大潮中的智慧城管,精品一级

    2011级计算机应用技术专业软件方向人才培养方案.pdf

    在信息技术飞速发展的今天,计算机应用技术专业软件方向的人才需求日益旺盛。...通过这一培养方案的引导,相信2011级计算机应用技术专业软件方向的学生们能够在信息技术的大潮中乘风破浪,成为行业的佼佼者。

    论市场经济大潮中的思想政治工作.docx

    论市场经济大潮中的思想政治工作.docx

    广汽迎接新能源大潮.pdf

    新能源汽车的浪潮正在全球范围内涌动,而中国作为全球最大的汽车市场,自然也不例外。...在这一大潮中,技术和市场的相互促进,将不断催生出更先进、更环保的出行方式,为人类社会带来更加绿色、智能的未来。

    数字化大潮下的制造业产品创新之道.pdf

    总的来说,数字化大潮下,制造业产品创新之道在于充分利用数据分析和数据挖掘技术,洞察市场,优化生产,提升产品性能,实现智能化和个性化,同时确保数据安全。通过这些手段,制造业能够在数字化转型中找到新的增长...

    OTT TV大潮下IPTV的演进之路

    在《OTT TV大潮下IPTV的演进之路》这一主题中,中国电信上海研究院深入探讨了OTTTV(Over The Top TV)与IPTV(Internet Protocol Television)两者之间的关系,以及在当前技术和社会环境下,IPTV如何应对OTTTV带来...

    20180727-国信证券-传媒行业深度报告:欧朋,信息流大潮中,老牌浏览器的重生.rar

    报告标题:“20180727-国信证券-传媒行业深度报告:欧朋,信息流大潮中,老牌浏览器的重生” 这份报告聚焦于传媒行业中的一个独特案例——欧朋(Opera)浏览器,它在信息流的浪潮中实现了自身的转型与复兴。作为一...

    高中信息技术程序设计模块大单元教学设计实证研究-以-python-教学为例.docx

    在当前教育改革的大潮中,如何提高课堂教学质量、如何促进师生之间的有效互动,始终是教育工作者关注的焦点。特别在高中信息技术课程的程序设计模块中,这一问题显得尤为突出。Python作为程序设计教学中的一门重要...

    专业技术人员继续教育学习资料-数字化技术基础

    上海市的专业技术人员通过学习这些资料,将能够在数字化转型的大潮中,保持与行业同步,提高自身的竞争力,同时也能够为上海市乃至全国的科技创新和经济发展做出更大贡献。随着数字化转型的推进,继续教育学习资料的...

    2023年全球技术报告-毕马威-2023-10-宏观大势.pdf

    在快速变化的全球市场中,技术的革新与应用一直是推动经济发展的重要因素。毕马威作为全球知名的专业服务公司,每年发布的全球技术报告都备受业界关注。2023年的报告依然不失为行业内的风向标,为各企业提供了深入的...

    见怪不怪成语故事.docx

    若工程师或程序员见新奇技术便盲目追逐,不加辨识,极易迷失方向,浪费资源。因此,面对科技发展,从业者应持“见怪不怪”之态,保持理性,对新技术进行科学评估,把握其实际价值与长远影响。如此,方能在科技大潮中...

    2021年计算机行业分析报告:寻找数字经济大潮中的明珠.pdf

    2021年计算机行业分析报告:寻找数字经济大潮中的明珠.pdf

Global site tag (gtag.js) - Google Analytics