首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训

深入浅出JDK 6.0

  • 书名:深入浅出JDK 6.0
  • 作者:涂传滨 著
  • 来源:
  • 出版时间:2008年01月
  • ISBN:9787121055034
  • 定价:79.8元

看 书 评 论 收 藏打 分 购 买

图书版权归出版社和作者所有,CSDN & DearBook独家提供试读和连载
内容介绍:
本书从Java语言的特点、语法、开发环境入手,深入讲解如何利用JDK提供的API进行应用开发,如输入输出、线程、图形界面、数据库存取、XML等,并对Java语言的高级开发技巧,如分布式计算、本地调用、Annotation、反射、动态代理、JMX等进行详细的阐述。本书基于最新的JDK 6.0,对该版本新引入的特性:JDBC 4.0、内嵌Apache Derby数据库、动态语言支持、本地化桌面支持、增强的XML解析引擎等,均开辟专题予以介绍。并对Java相关技术和常用软件工具包进行详细讲解,包括:Java客户端开发技...

最近评论



正在载入评论列表...
热点评论

    精 彩 导 读

    当博文视点的毕宁老师邀请笔者写一本关于JDK 6.0方面的技术书籍时,没有多加思索便答应了下来,当时认为凭借对Java语言的熟悉程度,要完成这样一本Java基础书籍是不难的。不料当真正进入到写作状态时才发现,离开了终日倚重的集成开发环境和企业服务容器的支持,要把Java变量存储、垃圾回收机制、线程、输入输出等基础概念阐述清楚,远比笔者之前参与的JBuilder和WebSphere题材难得多! 以Java语言为开发工具的程序员群体组成了国内最大规模的技术社区。但是笔者发现,在日益增多的Java程序员中,流行着一种错误的观点:学习Java语言重在掌握一些常用的开源框架——这和当年的“掌握了EJB就是Java高手”的观点是多么的相似!于是,出现了一种奇怪的现象:从事了多年Java应用开发的程序员,却不知道“堆”和“栈”的区别、不理解对象序列化的真实目的、不懂得如何编写线程安全的程序代码…… 他们眼中仿佛只有实用API和一些只知其一、不知其二的开源框架。这类程序员虽然能够完成日常的开发任务,但是却不能开发出具备高可用性的应用系统,当应用系统出现故障时的诊断和恢复能力也不足。 本书特色 市面上介绍Java开发的技术书籍琳琅满目。与其他书籍相比,本书有以下特色。  与Java教材比较 各类培训机构使用的Java教材重在介绍Java语法和基础API。本书仅花费了一章的篇幅来介绍Java语法,因为今日的面向对象语言在语法方面实际上已经趋同,而且语法从来不是学习Java语言的难点。本书重在阐述Java程序的运行原理和高级开发技巧。  与介绍开源框架和工具包的书籍比较 开源框架和工具包在Java应用开发领域正发挥着越来越关键的作用,虽然视它们为Java开发的全部是错误的,但是忽视它们的地位同样是不对的。实际上,各类开源框架和工具包的涌现与Java阵营的策略方向是吻合的——面对大量语法越来越简单、入门门槛越来越低的新型语言的挑战,Java没有大幅度改变自身语言结构,而是把突围的重点放在增强工具的易用性方面:近年来,Java集成开发环境发生了突飞猛进的变化、由全世界聪明的程序员贡献的开源框架和工具包迅速增多。开源框架和工具包不仅大幅度提升了Java应用开发的产能,彻底改善了Java企业开发烦琐、冗长的过程,而且正在为JDK注入新鲜血液:新加入JDK的并发工具包(java.util.concurrent包)、XML与Java对象的映射引擎JAXB等都源自开源工具包。 当然,本书不是专门介绍开源框架和工具包的书籍,而是对它们采取为我所用、拓宽视野,进而达到让读者加深理解的目的。例如,在阐述输入输出的过程中涉及的HttpUnit、J-FTP等;在阐述数据库存取的过程中涉及的数据库存取框架Hibernate和iBatis;嵌入式数据库BerkeleyDB和StelsEngine;在阐述动态代理的过程中涉及的Hibernate拦截器和Spring AOP;在阐述Java动态编程的过程中涉及的Javassist和Spring方法注入;在阐述XML解析、编辑、转换、校验、映射的过程中涉及的多种工具包。此外,本书还独立开辟了一章篇幅集中介绍常用工具包,包括Quartz、XFire、Velocity等。  与介绍JavaEE的书籍比较 JavaEE与JavaSE的界线正在日渐模糊,比如Web Services开发在传统上属于JavaEE的范畴,但是JavaSE已经提供了通过Annotation快速开发Web Services的能力。在处理与JavaEE的关系方面,本书采取不拘一格的态度:如果有助于读者理解知识点的话,则适度地引入一些JavaEE的知识。例如,在阐述基于HTTP协议的开发过程中,为了帮助理解Web站点如何保存用户状态,本书对Web容器工作原理进行了简单介绍。 本书的读者对象 本书涉猎广泛,适合以下读者群体:  Java语言的初学者 从全日制院校毕业的计算机相关专业的学生,以及在各类培训机构接受过Java语言培训的学员,因为缺少实际的项目经验,急需寻找有别于课堂上使用的Java基础教材的技术书籍。本书作者拥有多年的一线开发和设计经验,深谙日常练习题和高可用的复杂系统之间的天壤之别。初学者们可以从提炼自实际项目的大量开发专题中汲取丰富的营养。  谋求进阶的Java程序员 如上所述,大量的程序员对诸如Java内存堆栈、对象序列化、线程安全等概念存在模糊认识,通过阅读本书,将能在短期内迅速澄清。更为难能可贵的是,本书所介绍的Java本地调用、Java并行开发、Java动态编程、JMX资源管理容器、嵌入式数据库等章节均属于Java技术书籍中的“罕见”内容。例如,围绕IoC和AOP出现了大量的介绍Spring框架的技术书籍,但是唯独本书指导读者们如何自己动手实现一个动态代理框架。  需要与异质语言互操作的Java程序员,以及需要与Java语言互操作的其他程序员 笔者日常使用的语言不限一种,深知异质语言、异构平台互操作需求的普遍性。通过本书,读者们不仅能找到Java语言与Ruby、PHP、Python、Groovy等动态语言互操作的途径,而且还能在Linux平台上体验Java调用原生的C程序,在Windows平台上体验Java调用Delphi程序,以及通过JCOM调用COM组件的无限乐趣。  需要补充新知、了解动态、开拓视野的软件开发从业人员 为了迎接Web 2.0时代的到来,JDK在编程的动态性和桌面GUI方面适时予以增强。另一方面,围绕着Java基础API,近年来涌现出了大量的开源框架和工具包。这些新知识对于Java程序员来说,既是对产能提升的机遇,也是对能力提升的挑战。所幸的是,本书的读者将能收获大量的JDK之外的知识。 本书内容 章 名 核心内容 第1章 Java基础 本章的目的在于帮助读者建立对Java语言的基本认识。首先从Java语言的特点谈起,然后分析Java语言的运行环境和,最后阐述Java语言诸多特点中最本质、最重要的特点——对象性 第2章 Java进阶 本章内容可以分为3部分:Java内存管理机制(包括垃圾收集、对象引用类型、变量存储和复制的原理)、Java语法进阶(包括异常、集合、泛型、修饰等)、实用工具(包括代码注释和Javadoc工具、类包管理工具jar命令、定制JVM启动参数、Java程序调试工具、Java进程监控平台、JVM内存分析工具) 第3章 第一个Java程序 本章首先下载、安装、设置Java开发工具——JDK 6.0,接下来动手在新建立的环境中编写我们的第一个Java应用程序 第4章 文件系统 本章开篇先鸟瞰式地介绍Java输入输出的体系结构,然后进入利用输入输出API操作文件系统的正题,分为顺序存取和随机存取两种操作方式,最后利用一些实用例程帮助读者们进一步熟悉Java文件及目录对象的常用方法和属性 第5章 网络通信基础 Java作为一种高级语言,从OSI参考模型之传输层开始向程序员提供编程接口,本章围绕这些核心编程接口向读者们介绍如何开发基础的网络通信程序 第6章 输入输出综合 本章首先回顾Java输入输出API,包括字节流、字符流和对象流。接下来对对象序列化、HTTP开发、大文件传输、字符集问题展开专题讨论。最后是一些输入输出相关的经典范例 第7章 Java线程 本章首先介绍线程理论,然后介绍多线程编程的基础技能:创建和启动线程、管理线程的状态、线程组,接着介绍如何利用管道在线程之间实现传输信息。最后利用本章介绍的多线程技术开发一个类似网络蚂蚁的多线程下载程序 第8章 并发情况下的多线程编程 本章内容包括:分析线程安全问题的现象和本质,并寻求各种现象的解决方案;介绍现代网络服务器经常采用的线程池工作模式,并带领读者们开发基本的线程池;并发工具包在开发线程池方面带来的便利 第9章 Java安全 本章一方面阐述安全技术的基石,包括:消息摘要、对称和不对称加密、数字签名和数字证书;另一方面指出应用系统安全的目的是信息存储安全、信息传输安全、访问控制(访问控制又可以分为身份认证和权限管理)。向读者们揭示如何在Java安全框架下利用基础安全技术实现应用系统的安全需求 第10章 图形界面开发 本章首先介绍利用java.awt.Graphics进行基础绘图,然后系统阐述AWT和Swing开发的基础知识,包括控件、布局管理器和事件模型。接下来在JBuilder中利用可视化环境实际开发Java图形界面应用程序。最后介绍JDK 6.0的桌面API增强 第11章 Applet、JavaWebStart、SWT与JavaFX 本章内容分为Applet、JavaWebStart、SWT和JavaFX共4节,其中的重点在于Applet和SWT,而JavaWebStart是一项借助于浏览器的应用程序发布途径、JavaFX目前尚未进入成熟阶段 第12章 数据库存取 本章首先介绍JDBC开发的基础知识,包括JDBC驱动程序、增删改查数据等基础开发、元数据、JDBC异常。然后分成数据集二次处理、RowId、动态游标、预编译执行计划、批处理、操作大二进制数据、事务共7个专题详细地介绍JDBC开发的技巧。最后向读者们展示了一种有别于数据库的持久化途径——Preferences API,以及在Java命名与目录服务(JNDI)的名字空间中绑定数据源对象 续表 章 名 核心内容 第13章 开源数据库产品 本章内容包括两部分:开源的数据库存取框架(包括Hibernate和iBatis)和嵌入式数据库(包括文件数据库BerkeleyDB和内存数据库StelsEngine) 第14章 分布式计算 本章先鸟瞰式地介绍可供选择的分布式组件技术的概貌。然后分别以专门篇幅介绍RMI和CORBA。其中RMI是Java领域私有的分布式组件技术,而CORBA的难度更大,所以在CORBA部分花费的篇幅更多 第15章 Java本地调用 本章首先介绍JNI原理,然后分别介绍两种JNI的应用场景:Java语言调用C程序和Java语言调用Delphi程序 第16章 反射机制及其应用 本章先介绍Java反射机制,读者们将在熟悉和理解反射机制的基础上,继续深入学习建立在反射机制之上的高级应用,包括Annotation、动态代理和java.beans包的使用 第17章 Java动态编程 本章内容分为5个方面: 1.在程序中利用Compiler API编译源文件 2.基于Instrumentation,获得整体转换类字节码的能力 3.基于Javassist,深入到方法级别转换类字节码 4.Spring在替换类方法方面的能力 5.使用ClassEditor达到在缺少源文件支持的情况下,修改二进制类文件的目的 第18章 与动态语言的结合 本章介绍Java语言与JavaScript、Ruby、PHP、Python、Groovy语言的互操作。最后介绍JDK 6.0内嵌的HTTP Server 第19章 JMX资源管理容器 本章首先介绍JMX的基本概念和技术架构,然后重点讲解MBean的4种类型,尤其是标准MBean和动态MBean,最后介绍利用JDMK开发包为JMX生成管理界面,以及JMX的通知服务 第20章 XML开发 本章介绍的是对XML势必涉及的基本操作:解析、编辑、转换、校验、映射(数据绑定)。XML的应用是如此的广泛,各种语言和平台都对它提供了完备的支持,这也就导致了一种现象:往往可以找到多种方案来实现一种操作。本章本着开拓视野的原则,引入了较多的XML开发类库 第21章 常用工具包 本章将要介绍的工具包分为4类:AOP工具(包括日志和日程工具)、特殊格式文件存取工具(包括ZIP和Excel格式)、Java在Windows平台上的优化(包括将Java程序封装成Windows NT Service、与COM组件互操作)、开发辅助类工具(包括生成Web Services、模板引擎、性能监视工具) 本书看点 在软件开发技术发展的历史上,一种处于领导地位的主流技术,一旦显露出一点点的进展缓慢,就有可能出现一种新概念或是技术试图取而代之。Java语言在步入中年之后,也正面临着前所未有的挑战。最表层的原因是,经过了十余年的快速发展,在Java的成熟度日渐提高的同时,基于Java技术的失败项目也在逐渐增多。其中的原因有立项时技术选型的失误,即把Java用于其所不擅长的领域,也不排除Java软件开发工程师在设计和实现能力方面的不足。 Java语言所面临的挑战更多地来自于其他技术阵营,这突出地体现为两点:动态语言的兴起和客户端地位的提升。  动态语言的兴起 人们已经习惯于将应用开发划分为Java和.NET两大阵营,却往往容易忽视动态语言作为另一股力量一直在顽强成长,这股力量在两大强权的夹缝中求生存,拥有不容忽视的拥护力量和成功案例。今日的应用系统普遍信奉“以善变为荣、以僵化为耻”的信条,强调应用系统的功能和结构快速响应用户需求的变化。系统架构师们苦苦纠缠于面向构件、面向服务等思想以期待实现快速业务生成之时,动态语言则另辟蹊径,从编程语言入手,提供给我们一套快速上手、快速成型、快速响应变化的神兵利器。 Java语言应对挑战的策略,一是在语言中主动加入动态编程的特征,如CompilerAPI、Instrumentation,二是热烈拥抱动态语言,我们欣喜地发现,Java语言与JavaScript、Ruby、PHP、Python等动态语言几乎都存在结合产品,甚至诞生了一种完全建立在Java语言基础之上的动态语言——Groovy。关于动态编程和Java与动态语言的结合,在本书中均可以找到相应的章节。  客户端地位的提升 随着Web 2.0概念的一夜窜红,包括浏览器和桌面两大主题的客户端应用开发重新站在了各大软件厂商争夺的焦点位置。不仅互联网的新型应用模式犹如雨后春笋,而且也急速地改变着用户的使用体验,最终用户已经不再被动地接受基于纯文档传递手段的瘦客户端界面。 而Java语言对图形界面开发的支持一直是饱受诟病的软肋。桌面领域的开发有其自身与众不同的规律:最终用户对于美观和快速的追求,远胜于对于程序可移植性的认同。本地化桌面增强、SWT和JavaFX是Java阵营响应挑战的三大举措,读者们可以在本书中找到相关内容。 很喜欢这句格言:山不辞土,故能成其高;海不辞水,故能成其深。在书中笔者曾提出一个观点:人类永远不会认为自己的计算机太快了。同理,程序员永远不能认为自己的知识太多了,因为对核心技术保持深度理解、对技术动态保持敏锐感知是软件开发从业人员的基本素质。在漫漫征途上,笔者愿意和大家共相勉励。限于水平,本书难免存在错误和不当之处,欢迎反馈您的宝贵意见至:t-c-b@163.com。 本书包含一系列富有启发意义的精彩例程,如多线程下载、文件传输、文件切割机等,希望读者们能从中受益。在随书光盘中,按照章节组织例程源代码和搭建运行环境所需的软件。 祝大家阅读愉快! 涂传滨 2007年10月13日于厦门
    line

    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告

    北京百联美达美数码科技有限公司  版权所有  京 ICP 证 020026 号

    Copyright © 2000-2006, CSDN.NET, All Rights Reserved