介绍基本java IOjava 方面的书籍籍

中文名: Java 2参考大全作者: (美) Herbert Schildt译者: 周志彬吕建宁章小莉资源格式: PDF版本: 第5版出版社: 电子工业出版社书号: 发行时间: 2003年地区: 大陆语言: 简体中文简介: 内容简介:本书是世界级编程大师Herbert Schildt的又一作品。英文原版一经推出就受到了热烈的欢迎,全书销量超过300万册。本书从介绍Java的基础知识开始,全面系统地讲述了Java语言的基础、Java类库及开发环境。全书共分32章,通过大量从简单到复杂的范例程序向读者展示了Java语言的精髓。书中对Java类库及其应用进行了完整细致的讲述,还介绍了几个Java开发及综合应用的大型范例。同时涵盖了Java应用程序和小程序开发、编译、调试和运行等方面所需的全部内容,并包括了最新的Java 2,版本1.4中所含的新特性,如断言、NIO、规...截图预览: 目录: 第一部分 Java语言第1章 Java的起源1.1 Java与其他语言的关系1.2 Java的创立1.3 为什么Java对Internet是非常重要的1.4 Java的魔力:字节码1.5 Java 的专门用语1.6 继续发展第2章 Java语言概述2.1 面向对象的编程2.2 第一个范例程序2.3 第二个范例程序2.4 两条控制语句2.5 使用程序块2.6 基本词汇2.7 Java类库第3章 数据类型、变量和数组3.1 Java是一种强类型语言3.2 简单类型3.3 整型3.4 浮点类型3.5 字符3.6 布尔类型3.7 文字详探3.8 变量3.9 类型转换和强制转换3.10 表达式中的自动类型提升3.11 数组3.12 关于字符串的几点解释3.13 C/C++程序员请注意指针的用法第4章 运算符4.1 算术运算符4.2 位运算符4.3 关系运算符4.4 布尔逻辑运算符4.5 赋值运算符4.6 ? 运算符4.7 运算符优先级4.8 使用圆括号第5章 程序控制语句5.1 Java的选择语句5.2 循环语句5.3 跳转语句第6章 介绍类6.1 类的基础6.2 声明对象6.3 给对象引用变量赋值6.4 介绍方法6.5 构造函数6.6 this关键字6.7 无用单元收集6.8 finalize( )方法6.9 堆栈类第7章 方法和类详述7.1 重载方法7.2 把对象作为参数使用7.3 详述参数传递7.4 返回对象7.5 递归7.6 介绍访问控制7.7 理解static7.8 介绍final7.9 再论数组7.10 介绍嵌套类和内部类7.11 String类7.12 使用命令行参数第8章 继承8.1 继承的基础知识8.2 使用super8.3 创建多级层次结构8.4 何时调用构造函数8.5 方法覆盖8.6 动态方法分配8.7 使用抽象类8.8 使用final与继承8.9 Object类第9章 包和接口9.1 包9.2 访问保护9.3 导入包9.4 接口第10章 异常处理10.1 异常处理基础10.2 异常类型10.3 未捕获的异常10.4 使用try和catch10.5 多条catch语句10.6 嵌套的try语句10.7 throw10.8 throws10.9 finally10.10 Java内嵌的异常10.11 创建自己的异常子类10.12 成链的异常10.13 使用异常第11章 多线程编程11.1 Java的线程模型11.2 主线程11.3 创建一个线程11.4 创建多线程11.5 使用isAlive( )和join( )11.6 线程的优先级11.7 同步11.8 线程内通信11.9 暂停、恢复和停止线程11.10 使用多线程第12章 输入/输出、小程序和其他主题12.1 输入/输出基础12.2 读取控制台输入12.3 控制台输出12.4 PrintWriter类12.5 读写文件12.6 小程序基础12.7 transient和volatile修饰符12.8 使用instanceof12.9 strictfp12.10 本地方法12.11 使用assert第二部分 Java库第13章 字符串处理13.1 String构造函数13.2 字符串的长度13.3 特殊的字符串操作13.4 字符提取13.5 字符串比较13.6 查找字符串13.7 修改字符串13.8 使用valueOf( )的数据转换13.9 改变字符串中字符的大小写13.10 Java 2, 版本1.4中新增的字符串方法13.11 StringBuffer第14章 详探java.lang14.1 简单类型包装器14.2 Void14.3 Process14.4 Runtime14.5 System14.6 Object14.7 使用clone( )和Cloneable接口14.8 Class14.9 ClassLoader14.10 Math14.11 StrictMath14.12 Compiler14.13 Thread, ThreadGroup和Runnable14.14 ThreadLocal和InheritableThreadLocal14.15 Package14.16 RuntimePermission14.17 Throwable14.18 SecurityManager14.19 StackTraceElement14.20 CharSequence接口14.21 Comparable接口14.22 java.lang.ref 和 java.lang.reflect包第15章 java.util 第1部分: 集合框架15.1 集合概述15.2 集合接口15.3 集合类15.4 使用迭代器访问集合15.5 在集合中存储用户定义的类15.6 RandomAccess 接口15.7 使用映射15.8 比较器15.9 集合算法15.10 数组15.11 遗留的类和接口15.12 集合小结第16章 java.util 第2部分: 更多的工具类16.1 StringTokenizer(字符串符号赋予器类)16.2 BitSet16.3 Date16.4 Calendar16.5 GregorianCalendar16.6 TimeZone16.7 SimpleTimeZone16.8 Locale16.9 Random16.10 Observable16.11 Timer和TimerTask16.12 Currency16.13 java.util.zip包16.14 java.util.jar包第17章 输入/输出: 深入探讨java.io17.1 Java的I/O类和接口17.2 File17.3 流类17.4 字节流17.5 字符流17.6 使用流I/O17.7 序列化17.8 流的益处第18章 网络18.1 网络基础18.2 Java和网络18.3 InetAddress类18.4 TCP/IP客户套接字18.5 URL18.6 URLConnection类18.7 TCP/IP服务器套接字18.8 缓存的代理HTTP服务器18.9 数据报18.10 Inet4Address和Inet6Address18.11 URI类第19章 Applet 类19.1 Applet基础19.2 小程序的结构19.3 小程序的框架19.4 简单的小程序显示方法19.5 请求重画19.6 使用状态窗口19.7 HTML APPLET 标记19.8 把参数传递给小程序19.9 getDocumentBase( )和getCodeBase( )19.10 AppletContext和showDocument( )19.11 AudioClip接口19.12 AppletStub接口19.13 到控制台的输出第20章 事件处理20.1 两种事件处理机制20.2 委托事件模型20.3 事件类20.4 事件源20.5 事件监听器接口20.6 使用委托事件模型20.7 适配器类20.8 内部类第21章 介绍 AWT:窗口、图形和文本的使用21.1 AWT 类21.2 窗口基本元素21.3 使用框架窗口21.4 在小程序中创造框架窗口21.5 创建窗口化程序21.6 在窗口中显示信息21.7 处理图形21.8 处理颜色21.9 设定画图模式21.10 处理字体21.11 使用 FontMetrics管理文本输出21.12 探索文本和图形第22章 使用AWT控件、布局管理器和菜单22.1 控件基础知识22.2 标签22.3 使用按钮22.4 使用复选框22.5 复选框组22.6 使用列表22.7 管理滚动条22.8 使用单行编辑域22.9 使用多行编辑域22.10 了解布局管理器22.11 菜单栏和菜单22.12 对话框22.13 FileDialog22.14 通过扩展AWT组件处理事件22.15 对控件、菜单和布局管理器的研究第23章 图像23.1 文件格式23.2 图像基础:创建、装载和显示23.3 ImageObserver23.4 双缓冲技术23.5 MediaTracker23.6 ImageProducer23.7 ImageConsumer23.8 ImageFilter23.9 单元格动画23.10 附加的成像类第24章 新的I/O、规则表达式和其他包24.1 内核Java API包24.2 新的I/O包24.3 规则表达式的处理过程24.4 映射24.5 远程方法调用24.6 文本格式化第三部分 使用Java开发软件第25章 Java Bean25.1 什么是Java Bean25.2 Java Bean的优点25.3 应用程序构建器工具25.4 使用BDK25.5 JAR文件25.6 反省25.7 使用BDK开发一个简单的Bean25.8 使用绑定属性25.9 使用BeanInfo接口25.10 约束属性25.11 持久性25.12 自定义器功能25.13 Java Bean API25.14 使用Bean构建器第26章 导读Swing26.1 JApplet26.2 图标和标签26.3 文本域26.4 按钮26.5 组合框26.6 选项卡窗格26.7 滚动窗格26.8 树26.9 表格26.10 探索Swing第27章 Servlet27.1 背景知识27.2 Servlet的生命周期27.3 使用Tomcat开发Servlet27.4 简单的Servlet27.5 Servlet API27.6 javax.servlet包27.7 读Servlet参数27.8 javax.Servlet.http包27.9 处理HTTP请求和响应27.10 使用Cookie27.11 会话追踪27.12 安全问题第28章 从C++迁移到Java28.1 C++和Java之间的不同28.2 取消指针28.3 C++引用参数与Java引用参数的对比28.4 转换C++抽象类为Java接口28.5 转换默认参数28.6 转换C++多重继承的层次结构28.7 析构函数和finalize( )第四部分 Java的应用第29章 DynamicBillboard小程序29.1 APPLET标记29.2 源代码概述29.3 动态代码第30章 ImageMenu:一个基于图像的Web菜单30.1 源图像30.2 小程序标记30.3 方法30.4 小结第31章 Lavatron小程序:运动竞技场的显示牌31.1 Lavatron的工作原理31.2 源代码31.3 小结第32章 Scrabblet:多人拼字游戏32.1 网络安全问题32.2 游戏32.3 源代码32.4 服务器代码32.5 改进拼字游戏资源来自网络收集 未经过一一的质量 安全等检测只是把收集的资源和各位驴友分享 仅作网络学习交流使用 请勿用于商业用途 !希望各位下载的驴友能多多参与分流保源疯狂Java讲义(第2版)(含CD光...
加入购物车
疯狂Java讲义(第2版)(含CD光盘1张)
&&疯狂源自梦想 技术成就辉煌
recommend_366549&&疯狂源自梦想 技术成就辉煌
&&作者简介   李刚,从事10多年的Java EE应用开发,现任疯狂软件教育中心教学总监。   疯狂Java实训营创始人,疯狂Java体系图书作者。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息化平台的架构设计。
  曾任广州电信、广东龙泉科技等公司的技术培训导师。曾兼任广东技术师范学院计算机科学系的兼职副教授。   日的《电脑报》专访人物。   培训的学生已在华为、立信、普信、网易、电信盈科等公司就职。   国内著名的高端IT技术作家,已出版《疯狂Java讲义》、《疯狂Android讲义》、《轻量级Java EE企业应用实战》、《疯狂Ajax讲义》、《疯狂XML讲义》、《经典Java EE企业应用实战》、《Struts 2.1权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。其中疯狂Java体系图书都是已经得到广泛的市场认同,并多次重印的畅销图书,并被多家高校选作教材,部分图书已被翻译成繁体中文版、输出到台湾地区。
&&《疯狂Java讲义(第2版)(含CD光盘1张)》是《疯狂Java讲义》的第2版,第2版保持了第1版系统、全面、讲解浅显、细致的特性,全面介绍了新增的Java7的新特性。本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、JavaGUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制;覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口。本书全面介绍了Java7的二进制整数、菱形语法、增强switch语句、多异常捕获、自动关闭资源的try语句、JDBC4.1新特性、NIO.2、AIO等新特性。与第1版类似,本书并不单纯从知识角度来讲解Java,而是从解决问题的角度来介绍Java语言,所以本书中涉及大量的实用案例开发:五子棋游戏、梭哈游戏、仿QQ的游戏大厅、MySQL企业管理器、仿EditPlus的文本编辑器、多线程、断点下载工具、Spring框架的IoC容器..这些案例既能让读者巩固每章的知识,又可以让读者学以致用,激发编程自豪感,进而引爆内心的编程激情。本书光盘里包含书中所有示例的代码和《疯狂Java实战演义》的所有项目代码,这些项目可以作为本书课后练习的“非标准答案”。如果读者需要获取关于课后习题的解决方法、编程思路,可以登录http://www.crazyit.org站点与笔者及本书庞大的读者群相互交流。
&&第1章Java语言概述1.1Java语言的发展简史1.2Java的竞争对手及各自优势1.2.1C#简介和优势1.2.2Ruby简介和优势1.2.3Python简介和优势1.3Java程序运行机制1.3.1高级语言的运行机制1.3.2Java程序的运行机制和JVM1.4开发Java的准备1.4.1下载和安装Java的JDK不是说JVM是运行Java程序的虚拟机吗?那JRE和JVM的关系是怎样的呢?为什么不安装公共JRE呢?1.4.2设置PATH环境变量为什么选择用户变量?用户变量与系统变量有什么区别?1.5第一个Java程序1.5.1编辑Java源代码1.5.2编译Java程序当我们编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢?1.5.3运行Java程序1.5.4根据CLASSPATH环境变量定位类1.6Java程序的基本规则1.6.1Java程序的组织形式1.6.2Java源文件的命名规则1.6.3初学者容易犯的错误1.7垃圾回收机制1.8何时开始使用IDE工具我想学习Java编程,到底是学习Eclipse好呢,还是学习NetBeans好呢?1.9本章小结本章练习第2章理解面向对象2.1面向对象2.1.1结构化程序设计简介2.1.2程序的三种基本结构2.1.3面向对象程序设计简介2.1.4面向对象的基本特征2.2UML(统一建模语言)介绍2.2.1用例图2.2.2类图2.2.3组件图2.2.4部署图2.2.5顺序图2.2.6活动图2.2.7状态机图2.3Java的面向对象特征2.3.1一切都是对象2.3.2类和对象2.4本章小结第3章数据类型和运算符3.1注释3.1.1单行注释和多行注释3.1.2文档注释API文档是什么?为什么要掌握查看API文档的方法?3.2标识符和关键字3.2.1分隔符3.2.2标识符规则3.2.3Java关键字3.3数据类型分类3.4基本数据类型3.4.1整型3.4.2Java新增的二进制整数3.4.3字符型3.4.4浮点型3.4.5Java新增的数值中使用下画线分隔3.4.6布尔型3.5基本类型的类型转换3.5.1自动类型转换3.5.2强制类型转换3.5.3表达式类型的自动提升3.6直接量3.6.1直接量的类型3.6.2直接量的赋值3.7运算符3.7.1算术运算符3.7.2赋值运算符3.7.3位运算符3.7.4扩展后的赋值运算符3.7.5比较运算符3.7.6逻辑运算符3.7.7三目运算符3.7.8运算符的结合性和优先级3.8本章小结本章练习第4章流程控制与数组4.1顺序结构4.2分支结构4.2.1if条件语句4.2.2Java的switch分支语句4.3循环结构4.3.1while循环语句4.3.2dowhile循环语句4.3.3for循环4.3.4嵌套循环4.4控制循环结构4.4.1使用break结束循环4.4.2使用continue结束本次循环4.4.3使用return结束方法4.5数组类型4.5.1理解数组:数组也是一种类型int[]是一种类型吗?怎么使用这种类型呢?4.5.2定义数组4.5.3数组的初始化能不能只分配内存空间,不赋初始值呢?4.5.4使用数组为什么要我记住这些异常信息?4.5.5foreach循环4.6深入数组4.6.1内存中的数组为什么有栈内存和堆内存之分?4.6.2基本类型数组的初始化4.6.3引用类型数组的初始化4.6.4没有多维数组我是否可以让图4.13中灰色覆盖的数组元素再次指向另一个数组?这样不就可以扩展成三维数组吗?甚至扩展成更多维的数组?4.6.5操作数组的工具类4.6.6数组的应用举例4.7本章小结本章练习第5章面向对象(上)5.1类和对象5.1.1定义类构造器不是没有返回值吗?为什么不能用void修饰呢?85.1.2对象的产生和使用85.1.3对象、引用和指针5.1.4对象的this引用5.2方法详解5.2.1方法的所属性5.2.2方法的参数传递机制5.2.3形参个数可变的方法85.2.4递归方法5.2.5方法重载为什么方法的返回值类型不能用于区分重载的方法?5.3成员变量和局部变量5.3.1成员变量和局部变量5.3.2成员变量的初始化和内存中的运行机制5.3.3局部变量的初始化和内存中的运行机制5.3.4变量的使用规则5.4隐藏和封装5.4.1理解封装5.4.2使用访问控制符5.4.3package、import和importstatic5.4.4Java的常用包5.5深入构造器5.5.1使用构造器执行初始化构造器是创建Java对象的途径,是不是说构造器完全负责创建Java对象?5.5.2构造器重载为什么要用this来调用另一个重载的构造器?我把另一个构造器里的代码复制、粘贴到这个构造器里不就可以了吗?5.6类的继承5.6.1继承的特点5.6.2重写父类的方法5.6.3super限定5.6.4调用父类构造器为什么我创建Java对象时从未感觉到java.lang.Object类的构造器被调用过?5.7多态5.7.1多态性5.7.2引用变量的强制类型转换5.7.3instanceof运算符5.8继承与组合5.8.1使用继承的注意点5.8.2利用组合实现复用使用组合关系来实现复用时,需要创建两个Animal对象,是不是意味着使用组合关系时系统开销更大?5.9初始化块5.9.1使用初始化块5.9.2初始化块和构造器5.9.3静态初始化块5.10本章小结本章练习第6章面向对象(下)6.1Java增强的包装类Java为什么要对这些数据进行缓存呢?6.2处理对象6.2.1打印对象和toString方法6.2.2==和equals方法判断obj是否为Person类的实例时,为何不用objinstanceofPerson来判断呢?6.3类成员6.3.1理解类成员6.3.2单例(Singleton)类6.4final修饰符6.4.1final成员变量6.4.2final局部变量6.4.3final修饰基本类型变量和引用类型变量的区别6.4.4可执行“宏替换”的final变量6.4.5final方法6.4.6final类6.4.7不可变类6.4.8缓存实例的不可变类6.5抽象类6.5.1抽象方法和抽象类6.5.2抽象类的作用6.6更彻底的抽象:接口6.6.1接口的概念6.6.2接口的定义6.6.3接口的继承6.6.4使用接口6.6.5接口和抽象类6.6.6面向接口编程6.7内部类6.7.1非静态内部类非静态内部类对象和外部类对象的关系是怎样的?6.7.2静态内部类为什么静态内部类的实例方法也不能访问外部类的实例属性呢?接口里是否能定义内部接口?6.7.3使用内部类既然内部类是外部类的成员,那么是否可以为外部类定义子类,在子类中再
书摘与插图
&&计算机高级语言按程序的执行方式可以分为编译型和解释型两种。编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换过程称为编译(Compile)。编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行。有些程序编译结束后,还可能需要对其他编译好的目标代码进行链接,即组装两个以上的目标代码模块生成最终的可执行性程序,通过这种方式实现低层次的代码复用。因为编译型语言是一次性地编译成机器码,所以可以脱离开发环境独立运行,而且通常运行效率较高;但因为编译型语言的程序被编译成特定平台上的机器码,因此编译生成的可执行性程序通常无法移植到其他平台上运行;如果需要移植,则必须将源代码复制到特定平台上,针对特定平台进行修改,至少也需要采用特定平台上的编译器重新编译。现有的C、C++、FORTRAN、Pascal等高级语言都属于编译型语言。解释型语言是指使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言。解释型语言通常不会进行整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。可以认为:每次执行解释型语言的程序都需要进行一次编译,因此解释型语言的程序运行效率通常较低,而且不能脱离解释器独立运行。但解释型语言有一个优势:跨平台比较容易,只需提供特定平台的解释器即可,每个特定平台上的解释器负责将源程序解释成特定平台的机器指令即可。解释型语言可以方便地实现源程序级的移植,但这是以牺牲程序执行效率为代价的。
100%满意度
发表评价即可获得云钻,前10名发表书评以及发表精彩书评的用户可获双倍云钻哦!()
全部咨询(6)
产品咨询(5)
库存配送(0)
发票保修(0)
支付信息(0)
促销优惠(1)
其他问题(0)
购买之前,如有问题,请向苏宁易购咨询
上一页下一页
上一页下一页
您已成功将商品加入收藏夹查看
该订单暂不支持货到付款
商品名称ThinkPad E435-32561B5
备注:请输入您认为正确的参数,我们将会及时更正,谢谢您的参与
如果您发现了更低价格,请告诉我们。我们将认真对待您的每一份建议,确保提供最优质的服务及最优惠的价格。
易购价:& 21.9
请选择您所发现的位置:
* 商品网址:
线下实体店
* 实体店名称:
提交成功,感谢您的反馈
该商品在当前城市正在进行 抢购 促销
抢购价:& 38.00
易购价:& 38.00
注:参加抢购将不再享受其他优惠活动
全国300个城市1600家门店3000个服务点为您提供最贴心的服务!
系统发现您还没有登录!
如果您已经是苏宁易购注册用户,请
如果您还没有在苏宁易购注册过,请立即注册!您可以享受到更
体贴、细致的服务,还有很多意外惊喜等着您哦!
该货品暂时缺货,当我们有现货供应时,我们会发送邮件通知您!1331人阅读
1. Java 语言基础&
谈到Java 语言基础学习的书籍,大家肯定会推荐Bruce Eckel 的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java 语言&
基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel 在网络上被称为天才的投机者,作者的《Thinking in C++》在&
1995 年曾获SoftwareDevelopment Jolt Award 最佳书籍大奖,《Thinking in Java》被评为1999 年Java World“最爱读者欢迎图书”,&
并且赢得了编辑首选图书奖。作者从1986 年至今,已经发表了超过150 篇计算机技术文章,出版了6 本书(其中4 本是关于C++的),并&
且在全世界做了数百次演讲。他是《Thinking in Java》、《Thinking in C++》、《C++ Inside & Out》《Using C++》和《Thinking in&
Patterns》的作者,同时还是《Black Belt C++》文集的编辑。他的书被读者称为“最好的Java 参考书……绝对让人震惊”;“购买Java&
参考书最明智的选择”;“我见过的最棒的编程指南”。作者的非凡才华,极其跨越语言的能力,使作者被选为Java 发展10 年间与Java&
关系最密切的10 个人物之一。&
《Thinking in Java》讲述了Java 语言的方方面面,很多Java 语言的老手都评价“这是一本将Java 语言讲得相当丑陋的书”。该书谈&
及了java 语言的很多细节,每一个方面都是相当深刻的。通过本书你可以看到“丑陋的”java 语言。&
网络上关于java 语言讲解的视频很多很多,其中不凡有垃圾。《翁恺—JAVA 语言》可能是你学习java 语言基础的唯一选择,该讲座基本&
按照《Thinking in Java》这本书讲解,其中不凡有翁老师的很多有意思的笑话。我很幸运学习就是从此视频开始的。内容包括30 讲,&
我总共看了3 遍。&
不过,对于初学者我不太推荐使用《Thinking in Java》,我比较推荐Prentice Hall PTR 的《Core Java 2》国内称为《Java 2 核心技&
术》,目前是第七版。网络上大家都可以下载到电子版。Oreilly 的《Java in a nutshell》也是一个不错的选择。读完以上两本后,你&
可以看看翁恺老师的视频,接着可以研究《Thinking in Java》了。&
2. Java 数据结构&
市面上关于Java 数据结构的书本身就很少很少。大致有APress 的《Java Collections》, Jones 和Bartlett 的《Data Structures in&
Java》、《Object-oriented Data Structures Using Java》以及Prentice Hall 出版的《Data Structures and Algorithms in Java》&
(Dec 19, 2005)还有一本就是《Data Structures And Algorithms With Object-oriented Design Patterns In Java》。很幸运我的第&
一本英文书就是APress 的《Java Collections》(本书在国内可能根本就没有中文版――只能下载英文版了),很不错,讲得很有条例、&
很简单,是一本完完全全Java Collections API 介绍的书籍,其中不凡有扩展API 的例子。这是我推荐你学习java 数据结构的唯一一&
本好书。其它的Jones 和Bartlett 的那两本国内好像有一本中文版,想看你也可以看看。&
在学习完API 后,你可以看看java.util 包中对应的类了。不过只有在学习过设计模式后你才有可能完全理解整个Java Collections&
Framework。Java Collections Framework 使用了很多著名的设计模式如:迭代器(Iterator)模式,工厂方法模式、装饰器模式、适配&
器模式等等。通过研究java.util 包中数据结构的源代码,你可以知道臭名昭著的Properties 类的设计了,同时可能基本具备设计简单&
的数据结构的能力了。&
所谓学习无止境,学习完Sun 提供了Java Collections Framework 后,你可以研究Apche 的另一个Java Collections Framework,很有&
意思哦。互为补充的两个Framework。&
在大家学习、研究Java Collections 之前,我提示一下Java Collections 主要包括以下三部分:接口(Interface)、实现( Implemention)&
和算法(Algorithm)。&
1. 接口主要有List、Set、Queue 和Map。List 、Se t 和Queue 是Collection 接口的子接口。&
2. 实现主要是实现这些接口的具体类。如实现List 接口的ArrayList、LinkedList、Stack 和Vector;实现Set 接口的HashSet、TreeSet&
和LinkedHashSet;实现Queue 接口的PriorityQueue、SynchronousQueue 等等;实现Map 接口的HashMap、TreeMap、Hashtable、&
Properties、WeakHashMap 等等。&
3. 算法主要是由Arrays 类和Collections 类提供的,它是整个Java Collection Framework 算法的核心。支持各种类型的排序,查找&
等常用操作。&
Java Collections 中包含两个版本的数据结构,主要是原先的支持同步的数据结构和后来不支持同步的数据结构。&
Java Collection Framework 在使用Comparator 和Comparable 接口支持排序。同时提供新旧两个版本的迭代器Iterator 和Enumeraton,&
以及它们如何转换等等。&
在java.util 包中的Obserable 接口和Observer 类是考察者模式的核心。&
3. Java IO&
市面上关于IO 的书籍也仅仅只有Oreilly 出版社的两本,都是Elliotte Rusty Harold 的著作。两本书的风格基本一致,推荐阅读是第&
一版的《Jvava I/O》,讲得比较浅显,内容相对比较集中,实例也很多。第二版今年5 月国外才出版,很有幸我在网络上下载了第二版,&
讲得极其详细――726 页的大块头(我化了两个星期),这次将NIO 和IO 和在一起,还包括J2ME 部分的,不过串口、并口通信部分好像&
类库支持不够,自己不能实际操作。&
与第一版的《Jvava I/O》一起的Oreilly 还有一本《Jvava NIO》,也是很不错的哦。&
大家在依次阅读完《Jvava I/O》以及《Jvava NIO》后,可以研究java.io 包中的源代码了。在大家研究源代码前我给点提示:&
Java 的io 包主要包括:&
1. 两种流:字节流(byte Stream)和字符流(character stream),这两种流不存在所谓的谁代替谁、谁比谁高级之说,它们互为补充,&
只是侧重点不同而已。&
2. 两种对称:1.字节流、字符流的对称;2.输入、输出的对称。&
3. 一个桥梁:将字节流转变为字符流的InputStreamReader 和OutputStreamWriter。&
其中必须注意:&
1. PipedInputStream 和PipedOutputStrem 是两个比较有趣的类。&
2. 支持Buffered 的流是我们经常使用的类。&
3. 装饰器(Decorator)模式在java 最著名的应用就是用于io 的设计。仔细研究各个Filter 流与具体流的关系,多看设计模式的书籍。&
相信你会有所所获。&
4. 学习好io 包,是研究net 包,rmi 包……的基础哦!&
4 . Java 数据库&
数据库的书籍太多太多了,也是太烂太烂了!这方面的书我基本都研究过,推荐的你就看看Apress 的《JDBC Recipes A Problem Solution&
Approach 》很不错,国外2005 年底才出版,(国内好像没有中文版,不过出了中文版也不一定值得看――国内经常将国外的书翻译得一&
塌糊涂、不堪入目)不过我们真的很幸运,网络上有电子版的。值得一看。推荐我看的第一本比较满意的――Wiley 出版的《Java Database&
Bible》,讲得很不错!Sun 公司自己的关于JDBC API 介绍的那一本《JDBC API Tutorial andRefernece》也不错。我第二本JDBC 的就是&
研究的这套API。&
不过目前这些书都是一些相对比较浮浅的API 应用的书籍。有机会我会给大家带来介绍JDBC API 以及JDBC 实现内部细节的书!我尽快&
努力,同时希望得到大家的支持!&
顺便给学习JDBC 的朋友一点提示:&
JDBC 的学习和使用主要是这套API,其使用过程也是极其简单,下面是使用JDBC 的一般流程:&
1. 加载某个数据库的驱动(Driver 类),通常使用Class.forName(“驱动的类名“);&
2. 连接数据库――&
Connection con = DriverManager.getConnection(url,username,password) ;&
3. 得到会话――Statement stmt = con.createStatement();&
4. 执行操作――Result rs = stmt.executeQuery(“SQL 查询语句”);&
5. 处理结果――&
while(rs.next()){&
String col1 = rs.getString(1);&
简单吧!整个JDBC 中可以变化的一般是:&
1. 可以由Connection 对象创建Statement、PreparedStatement 和CallableStatement 创建三种类型的Statement。&
2. 可以创建多种类型的ResultSet:支持单向移动和个自由移动;可更新的和不可更新的;支持不同等级的交易的…..&
3. 数据输入的批处理。&
4. 结果集中特殊类型(Blob、Clob、Arrary 和Ref、Struct)列的操作。&
5. 这些特殊类型的录入数据库。&
6. javax.sql 包中特殊结果集(CachedRowSet、JdbcRowSet、WebRowSet)的操作。&
7. 其它的就是一个DataSource 了,也很简单!一个J2EE 中的被管理对象&
简单吧!相信大家很快就会征服JDBC。&
5. Java 网络编程&
网络编程――一个神秘的、充满挑战的方向。不过在谈Java 网络编程之前首先感谢Sun 公司的开发人员,因为它们天才的设想,充满智&
慧的架构,使广大java 程序员学习java 网络编程变得异常简单。&
Java 网络编程方面的书,我推荐O'Reilly 的《Java Network Programming》,目前已经第三版了,以前的版本市面上肯定有!网络上早&
有第三版的电子版,国外2004 年出版,706 页哦!讲得很全,比较深入,太深入的可能由于Sun 有些东西没有完全公开,所以也就不好&
讲了,有兴趣的可以下载看看!第二本还是O'Reilly 1998 年出版的《Java distributed computing 》,基础部分写得比较详细,后面&
的实例还是值得研究的。&
在大家阅读这些书之前,给大家一点提示:&
java 网络编程其实相对比较简单,入门也很快很快。java 网络编程主要包括两个部分:1.Socket;2.URL 部分。不过第二部分也完全建&
立在第一部分的基础上。&
1. Socket 包括客户端的Socket 和服务器端的ServerSocket。还有就是DatagramSocket 和DatagramPacket,它对应于UDP 通信协议。总&
之,Socket 部分是建立其它高级协议的基础。&
2. URL 类是一个网络资源定位器,通常和具体的网络协议如HTTP,FTP,Telnet……相关。通过该类可以连接网络上的资源,通过其&
openStream 可以以io 包中的流(InputStream)的形式读取网络资源;通过其OpenConnection 方法,可以打开一个连接,在此连接上可&
以不仅可以完成读的操作,还可以完成写的操作。&
Java 的网络编程大体包括以上两部分。网络编程和IO 以及多线程部分非常密切,在学习此部分前大家一定对这两部分了解比较透彻。&
学习了以上部分你可以研究java.net 包中的与此相关的源代码了!研究所有的源代码还为时尚早。在整个net 包中包含:&
ContentHandlerFactory、URLStreamHandlerFactory、URLStreamHandler、URLClassLoader 等辅助类,它们构成了java.net 网络编程&
的框架,通过研究其源代码,你不仅可以快速理解java.net 包,还可以为以后扩展该包打下基础,甚至可以将此思维方式运用到自己的&
到此为止你对java.net 包应该才了解60%,还有一部分你可以使用JDecompiler 之类的反编译软件打开你JDK 安装目录下\jdkxxx\&
jre\lib 目录中的rt.jar,用WinRAR 之类的软件打开它的sun.net 包,反编译所有的文件,它是URL 类工作的细节。当研究完该sun.net&
包,你就会对整个网络编程很熟悉很熟悉了。&
一切看起来我们已经对网络编程很精通了。其实不然,刚刚开始而已,要想深入,请继续吧!网络上很多优秀的网络编程库甚至软件可&
以为我们“添加功力”。如Apache 的HttpCore 和HTTPConnection 是两个和HTTP 协议相关库;JGroups 是研究分布式通信、群组通信的&
必读库;接着我们可以研究P2P 的软件包,如Sun 公司的JXTA,它可能是java 平台点对点通信未来的标准哦!接着你可以研究成熟得&
不得了,使用极其广泛得P2P 软件Azureus!www.sourceforge.net 可以下载到!&
千里之行始于足下!Just do it !(目前我也只研究了net 包,其它的会在不久的将来继续深入。Sun 公司因为某些原因没有公开net&
的其它实现细节,在其允许将其源代码以文字的形式加以研究,以及允许将其没有公开的实现写入书中时,我很希望能出一本java 网络&
编程的书籍,以飧广大读者!!)&
6. Servlet 和JSP&
Servlet、JSP 的书也是满地都是!值得推荐的也仅仅两三本。实推Addison Wiley 的《Servlets and JavaServer pages :The J2EE&
Technology Web Tier》,又是一本很厚的哦!国外2003 年出版、784 页,讲得比较全,例子也很多,特别是第八章Filter,举了几个不&
错的例子。其它所有我看到的关于Servlet 和JSP 的书都没有如此深入的!(可能有我没有看到而已)。O’reilly 的《Java Servlet&
Programming》和《Java Server Pages》相对比较好懂一些,可以读读!&
在大家学习Servlet 和Jsp 之前我还是要提醒一下:&
本质上说Servlet 就是一个实现Servlet 接口的、部署于服务器端的服务器端的程序罢了!它可以象写其它任何java 应用程序一样编写,&
它可以操作数据库、可以操作本地文件、可以连接本地EJB……编写Servlet 程序的一般流程为:&
1. 继承一个HttpServlet 类;&
2. 覆盖其doGet、doPost 方法;&
3. 在覆盖方法的内部操作方法参数HttpServletRequest 和HttpServletResponse。&
4. 读取请求利用HttpServletRequest。利用HttpServletRequest 你可以操作Http 协议的协议头、可以得到请求的操作方法、可以得到&
请求的路径、可以得到请求的字符串、以及和请求客户相关的信息,更主要的你可以得到Cookie 和HttpSession 这两个对象。&
5. 利用Cookie 你可以操作“甜心”对象或者将其写入HttpServletResponse 中。&
6. 向客户输出信息可以使用HttpServletResponse。使用HttpServletResponse 可以写入各种类型的协议头、可以增加Cookie、可以重&
定向其它URL、可以向客户发送Http 协议的状态码。&
7. 利用HttpSession 在会话内完成你想实现的任何功能。&
同时Servlet 还提供了一些事件和事件监听器(简单的观察者模式而已)。还有就是过滤器(Filter)和包装器(ServletRequestWrapper、&
ServletResponseWrapper)――简单的流的使用和装饰器模式的使用。&
学习Sevlet、JSP 必然要部署到服务器中,记住通常文件部署的步骤和参数的设置以及在程序中如何使用就可以了。&
完全理解Servlet 后,学习jsp 相对比较容易了!Jsp 完全建立在Servlet 的基础上,它是为了迎合那些喜欢在Html 文档中嵌入脚本(如:&
PHP 之类的网页编程语言)的程序员的需要罢了!学起来也相当的容易!&
一切看起来似乎那么的风平浪静,简单好学!简单的表象背后有其复杂的机理。要想对Servlet 和Jsp 彻底研究,你得研究Tomcat 等开&
源软件的具体实现。它无非就是一个服务器,在客户利用网页通过HTTP 协议向服务器发送请求后,服务器将此HTTP 请求转化为相应的&
HttpServletRequest 对象,调用你编写的Servlet 罢了,在你的Servlet 中你肯定操作了此HttpServletRequest 了吧,同时操作了&
HttpServletResponse 了吧,服务器就将此HttpServletResponse 按照HTTP 协议的要求利用HTTP 协议发送给你的浏览器了!在服务器&
端的Jsp 网页在被客户请求后,Tomcat 会利用编译软件,使用javax.servlet.jsp 包中的模板,编译此jsp 文件,编译后就是一个Servlet!&
以后的操作和Servlet 完全一样哦!&
在Servlet 和Jsp 的基础上出现了,所谓的高级技术:JSTL,Struts……无非就是一些标签和MVC 模式的使用。&
继续前进吧!胜利就在前方!!&
7. 多线程&
一个看起来很神秘,却很容易上手、很难精通的方向!&
我推荐两本我感觉很好的书籍。首先是我第一本能上手看的这方面的书, Sams 1998 年出版的《Java Thread Programming》, 写得暴好,&
很容易读懂,我有空还时常看当时的笔记!要知道怎么好你自己看吧!第二本OReilly 三次出版的《Java Threads》,最新是2004 版,&
国内好像有中文版,推荐你还是看英文版的吧!书中谈到了与多线程相关的N 个方向,如IO、Swing、Collection 等等。&
给大家一点提示吧!java 类库中与多线程相关的类不是很多,主要有:Thread、ThreadGroup 以及ThreadLocal 和InheritableThreadLocal&
四个类和一个Runnable 接口;关键字synchronize、volatile ;以及Object 对象的wait、notify、notifyAll 方法!&
1 Thread 是多线程的核心类,提供了一系列创建和操作多线程的方法。&
2 ThreadGroup 是一个管理Thread 的工具类。&
3 ThreadLocal 和InheritableThreadLocal 为Thread 提供了一个类似保险箱功能的存储线程对象的类!&
4 Runnable 不用说了吧!&
5 synchronize 是同步方法和同步块的核心哦!多个线程调用此方法时,只有一个线程可以使用此方法,其它方法阻塞,从而保证被操作&
对象内部状态完整性。某个线程调用带有synchronize 的方法或块时会得到该对象的对象锁,完成块中的操作后释放此对象锁,从而其&
它对象可以继续操作。&
6 wait、notify、notifyAll 提供了有效的等待/通知机制。Java 语言中每一个对象都有一个休息室,任何线程在其操作的对象的状态不&
满足的情况下,在该对象的休息室中休息,释放对象锁;当其它线程操作该对象后,唤醒休息室中的线程,它们再检查条件,当条件满&
足后,执行相应的操作。&
多线程大致就这么多基础的!简单吗!这对于一个真正的程序员应该是不够的,真正对多线程要有所掌握,请您研究java.util.concurrent&
包吧!大师Doug Lea 的作品,原先是一个开源的一致性编程的库,后来被Sun 公司并入java 类库。作者的网站上也有另外一个版本的&
该类库!值得研究的好东西! Hibernation、OpenJMS 等开源软件都使用了此包!&
8. 设计模式&
谈到设计模式很多人多会推荐GOF 的那本,该书在Amzon 上是五星级的推荐书籍。不过对于学习java 没多久的、特别是java 初学者,&
我很不推荐这本书。主要是该书的例子基本都是C++的,很多细节没有讲述得足够清楚。&
我给大家推荐的第一本是阎宏博士的《Java 与模式》,它是第一本中国人自己写的关于设计模式的书籍,写的比较有趣,融合了很多中&
华民族的文化和观念,例子、类图都比较多,且相对简单!非常不错的入门书籍――又是大块头哦!&
其次我推荐Wiley 出版社出版的《Pattern In Java》一套三本,我才看了第一本,好像第二本不怎么样,第三本还不错!&
第三本是中文翻译版的关于多线程模式的(很难得的中文翻译版)中国铁道出版社2003 年出版的《Java 多线程设计模式》,将多线程模&
式讲得非常浅显,配有大量的图例,每章都有习题,最后有答案!我研究多线程模式就是由它开始的!&
第四本,今年出版的Head First 系列的《Head First Design Pattern》,秉承Head First 系列图书的优点,大量的类图、丰富的实例、&
有趣的注解,值得购买!&
其次在J2EE 方向你可以研究阅读Addison Wesley 2002 年出版的《Patterns of Enterprise Application Architecture》,众多大腕的&
作品,讲企业消息集成的!Sun 提供的《J2EE PATTERNS SL500》也很好!晚了推荐那一本Amzon 4 星半的《Holub on patterns》, 大师&
的作品,提供了,很值得研究的例子,不过对上面四本不是很熟悉的读者,最好不要读它!可能会让你比较累!&
我学习设计模式经过一段很曲折的路线,前前后后大约看了20 本,阎宏博士的《Java 与模式》我看了4 遍,还排除我第一次基本没看&
懂的看!记得研一时老师给我们讲了GOF 的那本,作为选修课,我和它们计算机系的硕士、博士们一起,到最后一个班40-50 个人,不&
超过3 个人明白,我也没有明白任何一点(基础差吧――主要我对C++语言一点都不了解),凭我不伏输的性格,我认为我对java 语言理&
解还可以,我就借了《Java 与模式》,结果还是基本没看懂。很有幸的是读研三时,听过了上交大饶若楠老师关于Java OOP 语言的讲座,&
我懂了组合书籍模式等三种设计模式后,对其它模式有了强烈的兴趣和要征服它的愿望!工作后我买的第一本就是《Java 与模式》,第&
一遍花了2 个月研究了这个1000 多页的大块头,后来第三遍15 天左右就可以搞定,笔记记了一大本!从此一发不可收拾。&
选对书、埋头研究。相信很快就会入门的!&
学习Java 语言8 个简单的部分,这只是我们研究Java 语言的开始!这些都懂了充其量一个java 程序员而已,后面的路很长很长!我们&
可以继续研究数据库实现的源代码、Servlet 服务器的源代码、RMI、EJB、JNDI、面向方面编程、重构、ANT 工具、Eclipse 工具、Spring&
工具、JBoss、JOnAS、Apache Geronimo 等J2EE 服务器!研究了这些你可能会成为一个出色的J2EE Architecture!你可以继续研究剖&
析器、编译器、JNODE(java 写的操作系统)&
Java 程序员的独孤九剑&
总诀式——《Thinking in Java》&
破剑式——《Effective Java Programming Language Guide》&
破刀式——《Design patterns: Elements of Reusable Object Oriented Software》&
破枪式——《Core J2EE Patterns》&
破鞭式——《Refactoring: Improving the Design of Existing Code》&
破索式——《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》&
破掌式——《Analysis Patterns: Reusable Object Models》&
破箭式——《Extreme Programming Explained: Embrace Change》&
破气式——《Data Mining: Concepts and Techniques》&
独孤九剑,有进无退!招招都是进攻,攻敌之不得不守。虽只一剑一式,却是变化无穷,学到后来,前后式融会贯通,更是威力大增,&
剑法的精要所在:“料敌机先”。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:240861次
积分:3242
积分:3242
排名:第3721名
原创:61篇
转载:54篇
评论:237条
欢迎转载,转载注明出处.}

我要回帖

更多关于 java 方面的书籍 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信