JAVA及其相关
-
数据抽象和问题求解(美)Frank M. Carrano,(美)Janet J. Prichard著;韩志宏译;韩志宏译本书全面系统地讲述了如何利用Java语言来解决实际问题,重点剖析了数据结构和数据抽象的核心概念,并通过大量实例向读者展示了面向对象程序设计理念的精髓。本书表述严谨、推理缜密,适合作为计算机及相关专业本科阶段的教材,也是一本技术含量很高的专业参考书。本书特色◆提供丰富的实例,演示各种抽象数据类型的应用方法。◆详细剖析重要概念的程序代码,帮助读者快速掌握核心技术。◆精心没置“自我测试”、“练习题”、“编程问题”等环节,以利于课堂教学。◆知识点全面,语言通俗易懂,可同时满足初、中级读者的学习需求。 -
Java编程基础COMP-U-LEARN TECH INDIA LTD《印度优质IT职业教育教学用书:Java编程基础》是引进的印度优质IT职业教育教学用书,是COMP-U-LEARN公司的培训课程用书,与COMP-U-LEARN软件开发职业资格证书相配套。《印度优质IT职业教育教学用书:Java编程基础》共12章,主要内容包括Java简介、Java基础知识、Java面向对象编程、接口和包、流和文件处理、异常处理与多线程、Java Applet、抽象窗体工具包(AwT)、处理AWT事件、深入了解AwT、Java数据库连接、Java网络编程等。《印度优质IT职业教育教学用书:Java编程基础》配有相应的指导手册。《印度优质IT职业教育教学用书:Java编程基础》适用于高等职业学校、高等专科学校、成人高校、本科院校举办的二级技术学院,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养培训使用,还可供本科院校师生、计算机从业人员和爱好者参考使用。 -
基于开源软件的J2EE企业级应用开发赵强应用软件的目的是解决某一领域的业务问题,然而在开发过程中,除了业务需求要关注,技术方面也会有大量的问题,另外软件开发的费用常常会超出预算。那么如何降低软件开发项目的风险呢(包括技术以及成本两方面)?使用开源软件是一个很好的选择。开源软件使开发人员从底层功能中解脱出来,可以更好地专注于用户的业务需求。由于开源软件的代码已经通过了充分的测试,系统的成本降低了,周期缩短了,风险减少了。然而目前国内对于开源软件的认识还不充分,在商业软件开发中采用开源软件的比较少,例如开发者将会面对如何进行基于开源软件的软件开发、如何选择开源软件、如何进行单元测试与集成测试等问题。本书将会回答以上所提到的问题。本书是由具有丰富开源软件开发经验的软件工程师编写,展示了如何使用最好的开放源码工具来开发J2EE应用,这些工具的组合使用可以减少开发的风险,提高系统的稳定性和健壮性。本书使用一个J2EE应用程序-JNEstore的开发作为实例,展示了整个项目的开发过程,为在开发过程的各个阶段应用开放源码的软件提供了一套方法。本书内容涉及到以下开源软件:Struts:开源的web应用框架,可以快速开发MVC架构的应用。Tomcat:高性能的开源web服务器。JBoss:著名的J2EE应用服务器。Eclispe:开源的集成开发环境,通过插件的方式可以很容易地扩展功能。Ant:高效的Java构建工具,目前广泛应用于Java系统开发。JUnit:单元测试工具。JMeter:Java应用程序性能测试工具。Log4j:日志系统。Jive:论坛模板软件,可以快速搭建自己的论坛。OSCache:缓存工具。Hibernate:高性能的O/R映射工具。MySQL:开源数据库系统。 -
Java 2实用编程百例施铮编著Java语言是Sun公司推出的具有开放性、跨平台性和面向网络的交互性软件开发平台。本书通过100个实例,全面介绍了J2EE中所有实际应用涉及到的技术。全书共分为10章,即语言基础篇、用户界面篇、数据库篇、Web篇、组件篇、图形篇、网络篇、邮件篇、无线篇、模式篇。本书的每个实例都给出了实例说明、详细编程步骤和关键代码分析。某些实例的关键操作步骤和运行结果均给出了实际运行图示。实例源代码可通过http://www.tupwk.com.cn/downpage/index.asp下载。本书内容全面、图文并茂,解释详尽,既可作为Java编程初学者的基础教程,也可作为Java程序开发人员的参考书。本书特色·以实例为纲,全面覆盖软件功能·选取最具代表性与典型性的经典实例·提供清晰明快的结构,让您一目了然 -
精通Spring罗时飞编著凝聚Java魅力,成就开发专家。■介绍如何构建、安装Spring■深入到Spring的IoC容器、AOP架构中;■讲解如何使用Spring提供的J2EE抽象服务;■掌握Spring远程服务,包括RMI、Hessian、Burlap、HTTPInvoker、Web服务。■讲解如何集成、使用web层框架,包括Sturs、SpringwebMVC、Tapestry、JSF;■深入研究用于Spring的Acegi安全框架;■介绍如何在Spring中集成,使用各种Opensource框架,包括Hibernate、Quartz、JOTM;■Spring开发者的必备手册;■本书所有实例源代码文件请到http://www.fecit.com.cn“下载专区”下载。本书深入剖析了当前流行的轻量级开发框架Spring技术。本书总共分成3部分。第一部分,重点阐述Spring的架构。这部分内容循序渐进带领开发者进入Spring中。主要在于阐述SpringIoC和SpringAOP。第二部分,重点阐述Spring的使用。这部分内容从简化Java/J2EE的角度出发,从J2EE平台各个技术层面分析、并给出大量的研究实例,对Spring提供的API进行阐述。主要在于阐述Spring对J2EEAPI提供的服务抽象。第三部分,重点阐述Spring高级专题。这部分内容重点对视图技术进行了研究,因为对于开发Web应用而言,前端界面的开发往往工作量很大。因此,使用合理的视图技术开发Web应用对于项目的成功与否很关键。另外,Web应用的安全性往往也是企业应用中最为重要的需求之一,而用于Spring的Acegi安全框架很好地解决了这个问题,这也是第三部分重点研究的内容之一。 -
EJB应用指南(美)Vlada Matena[等]著;施平安,施惠琼,罗德良译;施平安译J2EE平台和EJB构架为基于Web的企业应用提供了高级支持。本书深入剖析了J2EE平台的核心:EJB构架,说明了如何用最新的EJB组件构架开发和部署企业应用程序。全书以两个企业应用程序的开发过程为主线,从应用程序开发者的角度阐述了会话bean、消息驱动bean和实体bean,以及EJB构架对Web服务、事务和安全性的支持。本书适合企业应用程序开发者和计算机科学专业肢高年级本科生和研究生使用本书现在推出第2版,深入剖析了EnterpriseJavaBeans(EJB)2.1构架,说明了如何用最新的EJB组件构架开发和部署企业应用程序。第2版讨论了EJB2.0和2.1构架的新特征,包括消息驱动bean和异步通信、增强的容器管理的持久性、Web服务支持以及EJB查询语言(EJBQueryLanguage,EJBQL)。本书是SunMicrosystems公司成功推行的Java蓝图(JavaBluePrints)程序的一部分,介绍Java2平台企业版(Java2Platform,EnterpriseEdWin)。Java蓝图程序已经被数千名应用程序设计师、开发者和学生采用,以便更好地理解J2EE平台固有的编程模型。本书和Java蓝图程序不提供如何使用各种Java技术编写应用程序的资料一一对此可以参考相关的《Java语言导学》(JavaTutorial)。Java蓝图主要考虑应用程序构架的指导方针。本书读者应该熟悉Java编程语言,应该有J2EE平台的基本知识,而且多少应该使用过企业bean和EJB构架。尽管我们简要地介绍了EJB构架的基础知识,但是本书的目的不是作为那些刚刚接触企业bean的开发者的教程。相反,本书针对信息技术(informationtech-nology,)人员实现内部应用程序,以及独立软件开发商(independentsoftwarevendor,ISV)开发销售给企业的一般应用程序,深入剖析了E3B2.0和2.1构架。EJB构架主要按以下几方面定义企业应用程序的组件模型:如何按组件集的方式设计应用程序;组件与组件之间如何交互;组件与它们的EJB容器如何交互。EJB构架以契约的方式定义这些交互,使应用程序能够使用不同来源的组件。因为EJB组件必须遵循这些契约,所以构成一个应用程序的软件组件可以来自多个开发商。EJB应用程序主要从容器开发商的角度定义构架契约。相反,本书从应用程序开发者(即开发EJB应用程序的人)的角度介绍EJB构架。本书以详细描述两个企业应用程序的开发过程为主线。尽管示例程序比较简单,但是足以说明企业应用程序开发中遇到的许多典型问题。我们用这些例子说明EJB构架如何帮助开发者解决这些问题。第1个例子是由一个IT部门内部开发的福利注册(benefitenrollment)应用程序。该应用程序很好地说明了会话bean的工作原理,以及开发者如何使用会话bean。第2个例子把第1个例子的福利应用程序转变成由一个ISV开发的应用程序。ISV的设计目标不同于那些内部汀部门。ISV在设计应用程序时必须考虑到可以把它容易地部署到许多不同的客户操作环境中。因为每个客户都有一个独特的操作环境,所以ISV必须应对许多难题。此外,ISV通常需要设计应用程序,使客户或者集成人员能够扩展它。我们说明了实体bean如何帮助ISV克服这些难题。EJB2.1构架使我们能够以Web服务的形式实现应用程序。本书增加了这一部分内容,用一章内容阐述了如何在Web服务中结合使用企业bean。这些例子都加了注解,说明了在企业应用程序开发中通过EJB构架解决特定问题的技巧。此外,我们还描述了EJB构架的各种特征,讨论了在应用程序中使用它们的时机以及如何使用它们。尽管一般的应用程序开发者不需要知道EJB容器的工作原理,但是我们还是介绍了一些EJB容器的内部机理。之所以介绍这些内容,是为了让读者明白容器替应用程序做了多少工作。 -
JDK 1.5类库大全陈烨,张蓓等编著本书从实用的角度出发,系统地介绍了JDK 1.5中各种实用类,尤其是新增类的结构和使用方法。全书由19章组成,主要内容包括Java语言及JDK简介、Java虚拟机、Java.lang包、Collection框架、Number及其子类、字符及字符串处理、输入输出流、数学运算工具类、正则表达式、ZIP压缩工具、Java归档工具、时间日期工具、日志工具、属性文件工具、Java反射机制、网络、XML和JDK 1.5编程实践等。 本书内容丰富,从各个方面介绍了JDK 1.5中主要包和类的使用方法。在对类的API进行讲解时,结合了大量的实例,使读者能够快速掌握各个类的使用方法。 本书既可以作为Java初者学习Java语言的教材,也可以作为专业程序员进行程序开发的参考书。 -
精通Hibernate孙卫琴编著孙卫琴的计算机书籍创作心得:如果说书的结构好比房屋的框架,书的内容则好比房屋的具体组成元素。计算机书的内容的形式分为:文字、表格、图和范例。为了把某种知识讲清楚,常常需要综合使用这四种形式的元素......:继《Tomcat与JavaWeb开发技术详解(含光盘)》和《精通Struts:基于MVC的JavaWeb设计与开发(含光盘)》之后,应广大读者的强烈要求,孙卫琴的又一力作《精通Hibernate:Java对象持久化技术详解》,正处在迎接面市的准备当中。Hibernate是一个基于Java的开放源代码的持久化中间件,它对JDBC作了轻量级封装,不仅提供ORM映射服务,还提供数据查询和数据缓存功能,Java开发人员可以方便的通过HibernateAPI来操纵数据库。现在,越来越多的Java开发人员把Hibernate作为企业应用和关系数据库之间的中间件,以节省和对象持久化有关的30%的JDBC编程工作量。2005年,Hibernate作为优秀的类库和组件,荣获了第15届Jolt大奖。Hibernate之所以能够流行,归功于它特有的优势。本书结合大量典型的实例,详细介绍了运用目前最成熟的Hibernate2.1版本进行Java对象持久化的技术。Hibernate是连接Java对象模型和关系数据模型的桥梁,通过本书,读者不仅能掌握用Hibernate工具对这两种模型进行映射的技术,还能获得设计与开发Java对象模型和关系数据模型的先进经验。 -
JAVA实用程序设计100例袁海燕,王文涛编著本书通过100个精选的实例深入浅出地讲解了Java程序设计的主要应用,涵盖图形用户界面、Applet编程、多媒体处理、输入输出系统、网络编程、数据库编程、安全编程、手机程序设计等内容。 本书实例覆盖面广,具有较强的示范性和实用价值,适合于已经初步掌握Java编程概念及方法的读者阅读。 -
Java编程思想(美)Bruce Eckel著;陈昊鹏,饶若楠等译;陈昊鹏译内容简介目录从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书作者有多年的教学经验,对C、C++、Java语言都有独到、深入的理解。因此他非常了解如何教授Java语言这门课程,也非常明白语言教学中的难点及人们的困惑。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,精心选取“对读者理解Java语言来说最为重要”的部分编写成书。同时又在随书光盘中提供了大量参考材料—这也是本书绝对物超所值的地方。随书光盘没有包含本书的源代码(可以从支持网站www.MindView.net免费下载),而是提供了大量作者讲授的讨论课内容及本书的前2版内容。本书内容丰富—从Java的基础语法到最高级特性,适合各层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言及Java语言的绝佳教材。第1章对象导论11.1抽象过程11.2每个对象都有一个接口21.3每个对象都提供服务41.4被隐藏的具体实现51.5复用具体实现51.6继承:复用接口61.7伴随多态的可互换对象91.8对象的创建、使用和生命期121.8.1集合与迭代器131.8.2单根继承结构141.8.3向下转型与模板/泛型151.8.4确保正确清理151.9异常处理:处理错误161.10并发性171.11持久性171.12Java与Internet181.12.1Web是什么181.12.2客户端编程191.12.3服务器端编程231.12.4应用231.13Java为什么成功241.13.1系统易于表达、易于理解241.13.2类库的巨大影响力241.13.3错误处理241.13.4大型程序设计241.14Java与C++251.15总结26第2章一切都是对象272.1用引用操纵对象272.2必须由你创建所有对象282.2.1存储到什么地方282.2.2特例:基本类型292.2.3Java中的数组302.3永远不需要销毁对象302.3.1作用域302.3.2对象的作用域312.4创建新的数据类型:类312.5方法、参数和返回值332.6构建一个Java程序352.6.1名字可见性352.6.2运用其他构件352.6.3static 关键字362.7你的第一个Java程序372.8注释和嵌入式文档392.8.1注释文档392.8.2语法392.8.3嵌入式HTML402.8.4一些标签示例412.8.5文档示例422.9编码风格432.10总结432.11练习43第3章控制程序流程453.1使用Java操作符453.1.1优先级453.1.2赋值453.1.3算术操作符483.1.4自动递增和递减503.1.5关系操作符523.1.6逻辑操作符533.1.7按位操作符553.1.8移位操作符563.1.9三元操作符 if-else593.1.10逗号操作符603.1.11字符串操作符 +603.1.12使用操作符时常犯的错误613.1.13类型转换操作符613.1.14Java没有“sizeof”633.1.15再论优先级633.1.16操作符小结643.2执行流程控制733.2.1true和false733.2.2if-else733.2.3return743.2.4迭代753.2.5do-while763.2.6for763.2.7break和 continue783.2.8switch833.3总结863.4练习86第4章初始化与清理894.1用构造器确保初始化894.2方法重载914.2.1区分重载方法934.2.2涉及基本类型的重载934.2.3以返回值区分重载方法984.2.4缺省构造器984.2.5this关键字994.3清理:终结处理和垃圾回收1024.3.1finalize()的用途何在1034.3.2你必须实施清理1034.3.3终结条件1044.3.4垃圾回收器如何工作1054.4成员初始化1074.4.1指定初始化1084.4.2构造器初始化1094.5数组初始化1154.6总结1214.7练习122第5章隐藏具体实现1255.1包:程序库单元1255.1.1创建独一无二的包名1275.1.2定制工具库1295.1.3用 import改变行为1305.1.4对使用包的忠告1305.2Java访问权限修饰词1315.2.1包访问权限1315.2.2public:接口访问权限1315.2.3private: 你无法访问1335.2.4protected:继承访问权限1345.3接口和实现1355.4类的访问权限1365.5总结1385.6练习139第6章复用类1416.1组合语法1416.2继承语法1446.3结合使用组合和继承1486.3.1确保正确清理1496.3.2名称屏蔽1526.4在组合与继承之间选择1536.5protected关键字1556.6增量开发1566.7向上转型1566.8final关键字1586.8.1final 数据1586.8.2final 方法1616.8.3final 类1636.8.4有关final的忠告1636.9初始化及类的加载1646.10总结1666.11练习166第7章多态1697.1再论向上转型1697.2转机1727.2.1方法调用绑定1727.2.2产生正确的行为1737.2.3可扩展性1757.2.4缺陷:“覆盖”私有方法1787.3抽象类和抽象方法1797.4构造器和多态1827.4.1构造器的调用顺序1827.4.2继承与清理1847.4.3构造器内部的多态方法的行为1867.5用继承进行设计1887.5.1纯继承与扩展1897.5.2向下转型与运行时类型识别1917.6总结1927.7练习193第8章接口与内部类1958.1接口1958.1.1Java中的多重继承1988.1.2通过继承来扩展接口2008.1.3群组常量2028.1.4初始化接口中的字段2038.1.5嵌套接口2048.2内部类2078.2.1内部类与向上转型2088.2.2在方法和作用域内的内部类2108.2.3匿名内部类2118.2.4链接到外部类2158.2.5嵌套类2168.2.6引用外围类的对象2188.2.7从多层嵌套类中访问外部类的成员2198.2.8内部类的继承2208.2.9内部类可以被覆盖吗2208.2.10局部内部类2228.2.11内部类标识符2238.3为什么需要内部类2248.3.1闭包与回调2268.3.2内部类与控制框架2288.4总结2338.5练习233第9章通过异常处理错误2359.1基本异常2359.2捕获异常2379.2.1try块2379.2.2异常处理程序2379.3创建自定义异常2389.4异常说明2419.5捕获所有异常2429.5.1重新抛出异常2439.5.2异常链2469.6Java标准异常2499.7使用finally进行清理2519.7.1finally用来做什么2529.7.2缺憾:异常丢失2549.8异常的限制2559.9构造器2589.10异常匹配2609.11其他可选方式2619.11.1历史2629.11.2观点2639.11.3把异常传递给控制台2659.11.4把“被检查的异常”转换为“不检查的异常”2659.12异常使用指南2679.13总结2679.14练习267第10章类型检查26910.1为什么需要RTTI26910.1.1Class对象27110.1.2类型转换前先做检查27310.2RTTI语法28210.3反射:运行时的类信息28410.4总结28810.5练习288第11章对象的集合29111.1数组29111.1.1数组是第一级对象29211.1.2返回一个数组29411.1.3Arrays类29611.1.4填充数组30211.1.5复制数组30411.1.6数组的比较30511.1.7数组元素的比较30611.1.8数组排序30811.1.9在已排序的数组中查找31011.1.10对数组的小结31111.2容器简介31111.2.1容器的打印31211.2.2填充容器31311.3容器的缺点:未知类型31911.3.1有时候它也能工作32011.3.2制作一个类型明确的ArrayList32211.4迭代器32311.5容器的分类法32611.6Collection的功能方法32811.7List的功能方法33111.7.1使用LinkedList制作栈33411.7.2使用LinkedList制作队列33511.8Set的功能方法33611.9Map的功能方法33911.9.1SortedMap34311.9.2LinkedHashMap34411.9.3散列法与散列码34511.9.4覆盖hashCode()35311.10持有引用35611.11再论迭代器36011.12选择接口的不同实现36111.12.1对List的选择36111.12.2对Set的选择36411.12.3对Map的选择36611.13List的排序和查询36811.14实用方法36911.14.1设定Collection或Map为不可修改37111.14.2Collection或Map的同步控制37211.15未获支持的操作37311.16Java 1.0/1.1 的容器37511.16.1Vector和Enumeration37511.16.2Hashtable37611.16.3Stack37611.16.4BitSet37711.17总结37811.18练习379第12章Java I/O系统38312.1File类38312.1.1目录列表器38312.1.2目录的检查及创建38612.2输入和输出38812.2.1InputStream类型38912.2.2OutputStream类型38912.3添加属性和有用的接口39012.3.1通过FilterInputStream从Input-Stream读取数据39112.3.2通过FilterOutPutStream向OutputStream写入39112.4Reader和Writer39212.4.1数据的来源和去处39312.4.2更改流的行为39312.4.3未发生变化的类39412.5自我独立的类:RandomAccessFile39412.6I/O流的典型使用方式39512.6.1输入流39712.6.2输出流39812.6.3管道流39912.7文件读写的实用工具40012.8标准I/O40112.8.1从标准输入读取40112.8.2将System.out转换成PrintWriter40212.8.3标准I/O重定向40212.9新I/O40312.9.1转换数据40612.9.2获取基本类型40912.9.3视图缓冲器41112.9.4用缓冲器操纵数据41512.9.5缓冲器的细节41512.9.6存储器映射文件41912.9.7文件加锁42212.10压缩42412.10.1用GZIP进行简单压缩42412.10.2用Zip进行多文件保存42512.10.3Java档案文件42812.11对象序列化42912.11.1寻找类43212.11.2序列化的控制43312.11.3使用“持久性”44012.12Preferences44512.13正则表达式44712.13.1创建正则表达式44712.13.2量词44812.13.3模式和匹配器44912.13.4split()45512.13.5替换操作45612.13.6reset()45812.13.7正则表达式和Java I/O45912.13.8需要StringTokenizer吗45912.14总结46012.15练习461第13章并发46313.1动机46313.2基本线程46413.2.1让步46613.2.2休眠46713.2.3优先权46913.2.4后台线程47113.2.5加入到某个线程47313.2.6编码的变体47513.2.7建立有响应的用户界面48013.3共享受限资源48113.3.1不正确地访问资源48113.3.2资源冲突48413.3.3解决共享资源竞争48613.3.4临界区49113.4线程状态49513.5线程之间的协作49613.5.1等待与通知49613.5.2线程间使用管道进行输入/输出49913.5.3更复杂的协作50113.6死锁50113.7正确的停止方法50413.8中断阻塞线程50513.9线程组50613.10总结50713.11练习508第14章创建窗口与applet程序51114.1applet基础51214.1.1applet的限制51214.1.2applet的优势51314.1.3应用框架51314.1.4在Web浏览器中运行applet51414.1.5使用Appletviewer工具51614.1.6测试applet51614.2从命令行运行applet51714.3创建按钮52014.4捕获事件52014.5文本区域52214.6控制布局52414.6.1BorderLayout52414.6.2FlowLayout52514.6.3GridLayout52514.6.4GridBagLayout52614.6.5绝对定位52614.6.6BoxLayout52614.6.7最好的方式是什么53014.7Swing事件模型53014.7.1事件与监听器的类型53014.7.2跟踪多个事件53514.8Swing组件一览53714.8.1按钮53814.8.2图标54014.8.3工具提示54214.8.4文本域54214.8.5边框54414.8.6滚动面板54514.8.7一个迷你编辑器54714.8.8复选框54814.8.9单选按钮54914.8.10组合框(下拉列表)55014.8.11列表框55114.8.12页签面板55314.8.13消息框55414.8.14菜单55514.8.15弹出式菜单56014.8.16绘图56214.8.17对话框56414.8.18文件对话框56714.8.19Swing组件上的HTML56914.8.20滑块与进度条57014.8.21树57114.8.22表格57314.8.23选择外观57414.8.24剪贴板57614.9把applet打包进JAR文件57814.10为applet签名57914.11JNLP与Java Web Start58314.12编程技术58714.12.1动态绑定事件58714.12.2将业务逻辑与用户界面逻辑相分离58914.12.3规范方式59114.13Swing与并发59114.13.1再论Runnable59114.13.2管理并发59314.14可视化编程与JavaBean59614.14.1JavaBean是什么59714.14.2使用Introspector抽取出BeanInfo59814.14.3一个更复杂的Bean60314.14.4JavaBean与同步60614.14.5把Bean打包60914.14.6对Bean更高级的支持61014.14.7有关Bean的其他读物61114.15总结61114.16练习611第15章发现问题61515.1单元测试61615.1.1一个简单的测试框架61715.1.2JUnit62615.2利用断言提高可靠性63015.2.1断言语法63015.2.2为“按契约设计”使用断言63315.2.3示例:按契约设计+白盒单元测试63515.3用Ant构建63915.3.1使所有事物自动化63915.3.2使用make的问题64015.3.3Ant:事实上的标准64015.3.4用CVS进行版本控制64315.3.5每日构建64515.4日志64515.4.1日志级别64715.4.2LogRecord64915.4.3处理器65015.4.4过滤器65415.4.5格式器65515.4.6例子:发送email报告日志消息65615.4.7通过名字空间控制日志级别65815.4.8大型工程的日志实践66015.4.9小结66215.5调试66315.5.1使用JDB调试66315.5.2图形化调试器66715.6剖析和优化66715.6.1追踪内存消费66815.6.2追踪CPU的使用66815.6.3覆盖测试66815.6.4JVM剖析接口66815.6.5使用HPROF66915.6.6线程性能67015.6.7优化指南67115.7doclet67115.8总结67215.9练习673第16章分析与设计67516.1方法学67516.2阶段0:制定计划67616.3阶段1:做什么67716.4阶段2:如何构建67916.4.1对象设计的五个阶段68016.4.2对象开发指南68116.5阶段3:构建系统核心68116.6阶段4:迭代用例68116.7阶段5:演化68216.8成功的计划68316.9极限编程68316.9.1优先编写测试68316.9.2结对编程68416.10过渡策略68516.10.1指南68516.10.2管理上的障碍68616.11总结687附录A对象的传递与返回689附录BJava编程指南723附录C补充材料731附录D资源735索引739
