出版时间:2009-3 出版社:电子工业出版社 作者:刘中兵Java研究室,飞思科技产品研发中心 编 页数:901
Tag标签:无
前言
一、本书学习目标 Java本身是一种设计非常简单、非常精巧的语言,要学会Java基础,必须掌握从Java开发环境的搭建到Java基础语法知识,再到Java的核心API。根据由浅入深的顺序,我们的学习目标分为如下4个大的方面,它们的关系如下图所示。 对于以上4个方面的内容,前两部分是基础,第3部分是核心,第4部分是补充和完善。这4个方面的技术内容包括如下。 (1)Java开发入门:必须掌握Java开发环境的安装与使用,包括JDK命令、Eclipse集成开发环境、LinuX下Java程序的开发与部署等。 (2)Java语法基础:在JDK和Eclipse开发环境下,要进行Java核心功能的开发,必须了解Java面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名类、内部类、异常的编写,并注意编写符合Java编码规范和文件样式的代码。 (3)Java核心API:根据JDK提供的类库,需要掌握三大核心功能。 Java核心编程:包括Java编程的两大核心功能——Java输入/输出流和多线程,以及常用的辅助类库——实体类、集合类、正则表达式、XML.和属性文件。
内容概要
《Java高手真经(编程基础卷):Java核心编程技术》详细讲解了Java语言基础开发中的各种技术,主要内容包括如下。Java开发入门:JDK、JVM、Eclipse、Linux。Java语法基础:类、抽象类、接口、内部类、匿名类、异常、编码规范。Java核心编程:流、多线程、实体类、集合类、正则表达式、XML、属性文件。Java图形编程:AWT(Java2D、JavaSound、Media)、Swing、SWT、Jface。Java网络编程:Applet、Socket/TCP/UDP、NIO、RMI、CORBA。Java高级特性:反射、泛型、注释符、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入。随书附赠光盘内容为《Java高手真经(编程基础卷):Java核心编程技术》各种原型包、系统源程序。《Java高手真经(编程基础卷):Java核心编程技术》内容循序渐进,通俗易懂,覆盖了Java开发的最流行技术。无论对于Java软件设计还是软件开发,《Java高手真经(编程基础卷):Java核心编程技术》都是精通开发Java应用的必备的实用手册。
作者简介
刘中兵Java研究室,是一支专注于Java/JavaEE技术研究与应用创新的专业型团队,由一批来自于Sun.IBM.华为等国内外知名软件企业的技术专家。资深工程师和架构设计师组成。 Java研究室成员擅长于JavaEE系统的架构设计。程序开发。软件测试和集群与分布式部署,在Java/JavaEE企业应用。无线互联网与网络通信等领域拥有丰富的项目实战经验,曾为多家国内外大型企业开发和实施过大型应用系统,拥有最前沿的技术实战经验。 Java研究室致力于Java技术的精炼与传播,旨在将自身实践的第一手经验传递给大家,目前专注于Java.JavaWeb.JavaEE和数据库开发技术,撰写的“开发者突击”。“Web2.0动态网站开发”。“开发巨匠”等多个畅销系列图书深受广大读者欢迎。 Java研究室今隆重向读者介绍最新撰写的“Java高手真经”系列,是国内首次凝练完整科学的Java技术体系,深入剖析了Java技术体系中的各个核心技术,希望可以为您的技术精修之道提供独具价值的学习指南。
书籍目录
第1部分 Java开发入门第1课 Java快速上手1.1 开始了解Java1.1.1 Java语言的11个特性1.1.2 Java语言的构成-JIT.JVM.JRE.JDK1.1.3 Java虚拟机JVM1.2 安装Java开发环境1.2.1 下载JDK1.2.2 安装JDK和JRE1.2.3 设置环境变量1.2.4 学会查找Java帮助和API文档1.3 开发第一个Java程序-HelloWorld.java1.3.1 编写Java入门实例HelloWorld.java1.3.2 编译类文件-javac命令1.3.3 运行类文件-java命令1.3.4 类文件打包-jar命令1.3.5 生成API文档-javadoc命令1.4 本课小结1.4.1 总结本课的知识点1.4.2 要掌握的关键点1.4.3 课后上机作业1.4.4 继续下一课:JVM内存结构及其调优第2课 JVM内存结构及其调优2.1 Java虚拟机结构与属性2.1.1 Java虚拟机内存结构2.1.2 Java虚拟机配置选项2.2 Java垃圾回收机制2.2.1 垃圾回收的2种方法2.2.2 垃圾收集器的7个类型2.3 JVM内存区域配置2.3.1 配置堆区域2.3.2 配置新域与旧域2.3.3 配置永久区域2.3.4 配置新域子空间2.4 JVM性能调优实战2.4.1 调优配置参考2.4.2 JVM调优实战2.5 本课小结2.5.1 总结本课的知识点2.5.2 要掌握的关键点2.5.3 课后上机作业2.5.4 继续下一课:在Eclipse下开发Java程序第3课 在Eclipse下开发Java程序3.1 集成开发工具的对比3.1.1 Eclipse-IBM公司3.1.2 NetBeans-Sun公司3.1.3 JBuilder-Borland公司3.1.4 IntelliJ-JetBrains公司3.1.5 JCreator-Xinox公司3.1.6 对比总结3.2 安装和配置Eclipse开发环境3.2.1 Eclipse版本与代号3.2.2 Eclipse安装包的下载3.2.3 Eclipse的安装与启动3.2.4 集成配置JDK3.3 Eclipse使用演练3.3.1 Eclipse工作区使用演练-添加选项卡3.3.2 Eclipse透视图使用演练-切换到CVS视图3.3.3 Eclipse插件安装演练-安装反编译工具Jad插件3.4 使用Eclipse进行Java项目的开发3.4.1 在Eclipse中新建Java项目3.4.2 编写HelloWorld.java类3.4.3 运行Java程序3.4.4 调试Java程序3.4.5 导出JAR包3.4.6 导出可执行的JAR包3.4.7 生成Javadoc文档3.5 本课小结3.5.1 总结本课的知识点3.5.2 要掌握的关键点3.5.3 课后上机作业3.5.4 继续下一课:在Linux下开发Java程序第4课 在Linux下开发Java程序4.1 Linux系统概述4.1.1 Linux系统简介4.1.2 Linux系统的特点4.1.3 Linux发行版本4.2 在虚拟机VMware6.0中安装RedHat9.04.2.1 下载VMware6.4.2.2 安装VMware6.4.2.3 新建Linux类型的虚拟机4.2.4 安装RedHat9.0系统4.3 Linux系统的使用4.3.1 启动Linux并初始化4.3.2 Linux终端及常用命令4.3.3 使用vi编辑器编辑文件4.3.4 关闭系统4.4 让Linux与外界建立联系4.4.1 配置Linux上网4.4.2 让Linux访问Windows下的文件4.4.3 使用FTP访问Linux4.4.4 使用远程终端Putty访问Linux4.5 安装Java开发环境4.5.1 下载JDK4.5.2 安装JDK4.5.3 设置环境变量4.5.4 检验JDK是否安装成功4.6 开发第一个Java程序4.6.1 编写入门实例类HelloWorld.java4.6.2 编译类HelloWorld.java4.6.3 运行类HelloWorld.class4.7 在Linux下使用Eclipse4.7.1 下载Eclipse4.7.2 安装Eclipse4.7.3 启动Eclipse4.7.4 使用Eclipse开发入门实例4.8 本课小结4.8.1 总结本课的知识点4.8.2 要掌握的关键点4.8.3 课后上机作业4.8.4 继续下一课:Java语法基础第2部分 Java语法基础第5课 Java核心语法详解5.1 Java类的基本构成-包.引入.类.变量.方法.注释5.1.1 包(package)5.1.2 引入(import)5.1.3 类(class)5.1.4 变量(variable)5.1.5 方法(method)5.1.6 注释5.2 Java修饰符-修饰类.变量与方法5.2.1 类的修饰符1.抽象类:abstract2.最终类:final5.2.2 变量的修饰符1.静态变量:static2.静态初始化器:static3.最终变量:final4.易失变量:volatile5.2.3 方法的修饰符1.抽象方法:abstract2.静态方法:static3.最终方法:final4.本地方法:native5.同步方法:synchronized5.2.4 访问控制符1.公有访问控制符(public)2.私有访问控制符(private)3.保护访问控制符(protected)4.默认访问控制符5.3 Java变量5.3.1 定义一个变量5.3.2 变量的命名规则5.3.3 Java保留关键字5.3.4 变量赋值的两种方法5.3.5 变量的作用范围5.3.6 成员变量与局部变量5.4 Java数据类型5.4.1 基本数据类型1.float类型2.字符类型:char5.4.2 对象数据类型5.4.3 引用数据类型5.4.4 数组数据类型5.5 Java运算符5.5.1 算术运算符5.5.2 赋值运算符5.5.3 自增/减运算符5.5.4 关系运算符5.5.5 逻辑运算符5.5.6 运算符的优先级5.6 Java方法5.6.1 定义方法1.访问说明符2.修饰符3.返回值类型4.方法名5.参数列表5.6.2 方法的3种类型5.6.3 方法的参数传递5.6.4 方法的递归调用5.6.5 main()方法5.7 循环与流程控制5.7.1 if条件语句5.7.2 switch分支语句5.7.3 for循环控制语句5.7.4 while与do…while循环控制语句5.7.5 break.continue.label和return控制语句5.8 本课小结5.8.1 总结本课的知识点5.8.2 要掌握的关键点5.8.3 课后上机作业5.8.4 上机作业参考样例5.8.5 继续下一课:Java面向对象编程第6课 Java面向对象编程6.1 封装(encapsulation)-类6.1.1 类的封装6.1.2 对象的生成6.1.3 对象的使用6.2 继承(inheritance)-抽象类6.2.1 继承的概念-超类和子类6.2.2 子类不能访问私有成员与方法6.2.3 父类和子类的相互转换6.2.4 使用this和super6.2.5 多态(polymiorphism)-方法的覆盖(override).重载(overload).重写(overwrite)6.2.6 必须被继承的类-抽象类(abstract)6.2.7 不能被继承的类-最终类(final)6.3 多重继承-接口类6.3.1 接口的含义6.3.2 接口的创建与实现6.3.3 接口与抽象类的区别6.4 本课小结6.4.1 总结本课的知识点6.4.2 要掌握的关键点6.4.3 课后上机作业6.4.4 上机作业参考样例6.4.5 继续下一课:Java面向对象编程扩展第7课 Java面向对象编程扩展7.1 Java静态类(StaticClass)7.1.1 静态类与非静态类的区别7.1.2 静态方法7.1.3 静态变量7.1.4 静态代码块7.1.5 静态内部类7.2 Java匿名类(AnonymousClass)7.2.1 匿名类的定义7.2.2 匿名类的使用实例7.2.3 使用匿名类处理Swing事件7.3 Java内部类(InnerClass)7.3.1 内部类的含义7.3.2 内部类的使用实例7.3.3 局部内部类7.3.4 内部类引用外部类对象7.4 Java异常类(ExceptionClass)7.4.1 Java的异常层次结构7.4.2 异常的捕捉处理机制7.4.3 使用异常和自定义异常类7.5 本课小结7.5.1 总结本课的知识点7.5.2 要掌握的关键点7.5.3 课后上机作业7.5.4 上机作业参考样例7.5.5 继续下一课:Java编码规范与样式第8课 Java编码规范与样式8.1 Java命名规范8.1.1 文件的命名8.1.2 包的命名8.1.3 类的命名8.1.4 变量的命名8.1.5 常量的命名8.1.6 数组的命名8.1.7 方法的命名8.2 Java排版规范8.2.1 空格8.2.2 空行8.2.3 缩进8.2.4 页宽8.3 Java注释规范8.3.1 块注释8.3.2 单行注释8.3.3 尾端注释8.3.4 行末注释8.4 Java文件样式8.4.1 版权信息8.4.2 包与引入8.4.3 类的注释8.4.4 类的定义8.4.5 变量及其存取方法8.4.6 构造函数8.4.7 类方法8.4.8 toString()方法8.4.9 main()方法8.5 本课小结8.5.1 总结本课的知识点8.5.2 要掌握的关键点8.5.3 课后上机作业8.5.4 继续下一课:Java核心编程第3部分 Java核心编程第9课 Java输入/输出流9.1 标准设备输入/输出9.1.1 标准输入/输出类System9.1.2 控制台读写类Console9.2 文件基本处理9.2.1 文件操作类File9.2.2 文件搜索类FileFilter与FilenameFilter9.2.3 文件随机读写类RandomAccessFile9.3 输入/输出流9.3.1 流的运作原理9.3.2 输入字节流InputStream1.字节数组作为输入源-ByteArrayInputStream2.文件作为输入源-FileInputStream3.对象作为输入源-ObjectInputStream4.字符串作为输入源-StringBufferInputStream5.管道输入流-PipedInputStream6.串联输入源-SequenceInputStream7.过滤输入流-FilterInputStream8.缓存输入流-BufferedInputStream9.数据输入流-DataInputStream10.行号输入流-LineNumberInputStream11.推回输入流-PushbackInputStream12.总结9.3.3 输出字节流OutputStream1.字节数组作为输出源-ByteArrayOutputStream2.文件作为输出源-FileOutputStream3.对象作为输出源-ObjectOutputStream4.管道输出流-PipedOutputStream5.过滤输出流-FilterOutputStream6.缓存输出流-BufferedOutputStream7.数据输出流-DataOutputStream8.格式化输出流-PrintStream9.总结9.3.4 输入字符流Reader1.字符数组作为输入源-CharArrayReader2.文件作为输入源-FileReader3.字符串作为输入源-StringReader4.管道输入流-PipedReader5.缓存输入流-BufferedReader6.行号输入流-LineNumberReader7.过滤输入流-FilterReader8.推回输入流-PushbackReader9.总结9.3.5 输出字符流Writer1.字符数组作为输出源-CharArrayWriter2.文件作为输出源-FileWriter3.字符串作为输出源-StringWriter4.管道输出流-PipedWriter5.过滤输出流-FilterWriter6.缓存输出流-BufferedWriter7.格式化输出流-PrintWriter8.总结9.3.6 字节流与字符流的转换1.字节输入流转换为字符输入流2.字节输出流转换为字符输出流9.4 本课小结9.4.1 总结本课的知识点9.4.2 要掌握的关键点9.4.3 课后上机作业9.4.4 上机作业参考样例9.4.5 继续下一课:Java多线程编程第10课 Java多线程编程10.1 线程的概念10.1.1 进程与线程的区别10.1.2 线程的概念模型10.1.3 线程的运行状态10.1.4 线程的优先级10.2 线程的开发方法10.2.1 使用进程调用Java程序10.2.2 第一种方法-继承Thread10.2.3 第二种方法-实现Runnable10.2.4 使用定时器TimerTask10.2.5 使用线程组ThreadGroup10.2.6 使用线程池ExecutorService10.3 线程的运行控制10.3.1 线程的启动start().join()与停止stop()10.3.2 线程的休眠sleep()与挂起yield()10.3.3 线程的同步synchronized10.3.4 线程的同步锁机制:wait().notify()和notifyAll()10.4 本课小结10.4.1 总结本课的知识点10.4.2 要掌握的关键点10.4.3 课后上机作业10.4.4 上机作业参考样例10.4.5 继续下一课:Java常用实体类第11课 Java常用实体类11.1 Java系统级类11.1.1 系统类System1.访问系统属性2.访问环境变量3.加载文件和库4.快速复制数组5.取得系统时间6.系统退出命令7.执行垃圾回收11.1.2 运行时类Runtime1.查看系统内存2.终止JVM虚拟机3.运行系统程序4.使用关闭钩子11.2 Java字符串处理类11.2.1 字符串类String1.提取单个字符2.提取子字符串3.比较字符串4.定位字符串5.匹配字符串6.拆分字符串7.替换字符串8.转换大小写9.格式化输出11.2.2 字符串分隔类StringTokenizer11.2.3 线程安全的可变字符串类StringBuffer11.2.4 可变字符串类StringBuilder11.2.5 选择String.StringBuffer与StringBuilder11.3 Java日期处理类11.3.1 日期类Date11.3.2 日期格式化类SimpleDateFormat11.3.3 日历类Calendar11.4 Java数字处理类11.4.1 数学函数类Math11.4.2 随机数类Random11.4.3 基本数据类型转换11.5 本课小结11.5.1 总结本课的知识点11.5.2 要掌握的关键点11.5.3 继续下一课:Java常用集合类第12课 Java常用集合类12.1 集合类概述12.1.1 Iterator与Enumeration12.1.2 Collections与Collection12.1.3 Arrays与数组12.1.4 Dictionary字典12.1.5 Queue队列12.2 列表类List12.2.1 抽象类AbstractList与AbstractSequentialList12.2.2 链表LinkedList12.2.3 可变数组ArrayList12.2.4 向量Vector12.2.5 堆栈Stack12.3 集合类Set12.3.1 抽象类AbstractSet与接口SortedSet12.3.2 哈希集合HashSet12.3.3 树集合TreeSet12.4 映射类Map12.4.1 抽象类AbstractMap与接口SortedMap.NavigableMap12.4.2 树映射TreeMap12.4.3 哈希映射HashMap12.4.4 链表哈希映射LinkedHashMap12.4.5 弱哈希映射WeakHashMap12.4.6 哈希表Hashtable12.4.7 属性Properties12.5 对比与选择12.5.1 对比表格12.5.2 List选择:LinkedList.ArrayList与Vector12.5.3 Map选择:Hashtable.HashMap.WeakHashMap12.6 本课小结12.6.1 总结本课的知识点12.6.2 要掌握的关键点12.6.3 继续下一课:Java正则表达式第13课 Java正则表达式13.1 正则表达式语法13.1.1 正则表达式的起源13.1.2 正则表达式的匹配字符1.普通字符2.非打印字符3.特殊字符4.次数限定符5.定位符6.选择与分组7.向后引用8.操作符的优先级13.1.3 正则表达式的匹配规则1.基本模式匹配规则2.字符簇匹配规则3.重复出现匹配规则4.匹配次数中的贪婪与非贪婪规则5.匹配时反向引用规则6.预搜索与懒惰搜索规则13.1.4 全部符号汇总表13.1.5 常用正则表达式举例13.2 Java正则表达式详解13.2.1 使用String类的匹配功能13.2.2 使用正则表达式库Pattern和Matcher13.2.3 正则表达式库的4个功能13.3 本课小结13.3.1 总结本课的知识点13.3.2 要掌握的关键点13.3.3 课后上机作业13.3.4 继续下一课:XML与属性文件第14课 XML与属性文件14.1 名词解释14.1.1 DOM与SAX模型14.1.2 DOM和SAX接口的实现-JAXP14.1.3 DOM的分支发展-JDOM和DOM4J14.1.4 Xerces和Crimson14.1.5 流式操作库StAX14.1.6 总结14.2 使用XML库14.2.1 使用DOM读取XML文件14.2.2 使用SAX读取XML文件14.2.3 使用JDOM读写XML文件14.2.4 使用DOM4J读写XML文件14.2.5 使用StAX读取XML文件14.3 属性文件读写14.3.1 读写属性文件的方法14.3.2 读写文件实例14.4 本课小结14.4.1 总结本课的知识点14.4.2 要掌握的关键点14.4.3 课后上机作业14.4.4 继续下一课:Java图形编程第4部分 Java图形编程第15课 JavaGUI库对比15.1 JavaGUI库简介15.1.1 AWT简介15.1.2 Swing简介15.1.3 SWT简介15.1.4 JFace简介15.2 HelloWorld对比实例15.2.1 AWT实例15.2.2 Swing实例15.2.3 SWT实例15.2.4 JFace实例15.3 本课小结15.3.1 总结本课的知识点15.3.2 要掌握的关键点15.3.3 课后上机作业15.3.4 继续下一课:AWT图形界面开发第16课 AWT图形界面开发16.1 AWT界面组件16.1.1 基本的组件类树1.组件(Component)2.容器(Container)16.1.2 窗口与对话框1.绘制窗体Frame2.使用面板Panel3.对话框Dialog4.文件对话框FileDialog16.1.3 基本组件1.文本Label2.按钮Button3.复选框Checkbox4.复选框组CheckboxGroup5.下拉列表Choice6.文本框TextField7.文本区域TextArea8.列表List9.画布Canvas16.1.4 菜单组件1.菜单栏MenuBar2.菜单Menu3.菜单选项MenuItem16.2 AWT布局管理器16.2.1 流式布局FlowLayout16.2.2 区域布局BorderLayout16.2.3 网格布局GridLayout16.2.4 卡片布局CardLayout16.2.5 容器的嵌套16.3 AWT事件处理16.3.1 事件授权模型16.3.2 授权模型:事件类型16.3.3 授权模型:事件监听器16.3.4 使用事件监听器1.实现监听器接口2.使用内部类3.使用匿名类16.3.5 使用事件适配器16.4 本课小结16.4.1 总结本课的知识点16.4.2 要掌握的关键点1.低级事件2.高级事件16.4.3 课后上机作业-Java文本编辑器16.4.4 上机作业参考样例16.4.5 上机作业参考样例运行结果16.4.6 打包javaawt.zip16.4.7 继续下一课:AWT多媒体编程第17课 AWT多媒体编程17.1 图像处理-java.awt.image17.1.1 加载图像17.1.2 显示图像17.1.3 实例一:显示图片17.1.4 实例二:缩放图片17.2 二维图像绘制-Java2D17.2.1 Java2D简介17.2.2 取得Graphics2D对象17.2.3 设置Graphics2D属性17.2.4 创建绘制对象17.2.5 绘制对象17.2.6 实例一:绘制图形17.2.7 实例二:显示文字17.2.8 实例三:显示图像17.3 音频录制与播放-JavaSound17.3.1 JavaSound体系结构17.3.2 音频输入/输出原理17.3.3 音频的数据格式17.3.4 音频的录制17.3.5 音频的播放17.3.6 音频的保存17.3.7 实例一:录音机程序17.3.8 实例二.MP3音乐播放器17.4 视频拍照与播放-JMF多媒体库17.4.1 JMF模型17.4.2 创建Player对象17.4.3 截取多媒体数据17.4.4 实例一:视频拍照程序17.4.5 实例二:视频播放器17.5 本课小结17.5.1 总结本课的知识点17.5.2 要掌握的关键点17.5.3 课后上机作业17.5.4 继续下一课:Swing图形界面开发第18课 Swing图形界面开发18.1 Swing界面组件18.1.1 组件类树18.1.2 窗口与对话框1.窗体JFrame2.内部窗体JInternalFrame3.图层容器JLayeredPane4.虚拟桌面容器JDesktopPane5.对话框JDialog6.文件选择对话框JFileChooser7.颜色选择对话框JColorChooser18.1.3 基本组件1.文本Jlabel2.按钮JButton3.复选框JcheckBox4.单选框JRadioButton5.文本框JtextField6.密码框JPasswordField7.文本域JtextArea8.文本文件域JTextPane9.HTML编辑域JeditorPane10.列表Jlist11.滚动条JscrollBar12.进度条JprogressBar13.滑标组件Jslider14.表格组件Jtable15树形组件Jtree18.1.4 菜单栏组件1.菜单栏JmenuBar2.菜单JMenu3.菜单选项JmenuItem4.弹出菜单JPopupMenu18.1.5 工具栏组件JToolBar18.2 Swing布局管理器18.3 Swing事件处理18.4 本课小结18.4.1 总结本课的知识点18.4.2 要掌握的关键点18.4.3 课后上机作业-Java文本编辑器18.4.4 上机作业参考样例18.4.5 上机作业参考样例运行结果18.4.6 打包javaswing.zip18.4.7 继续下一课:SWT图形界面开发第19课 SWT图形界面开发19.1 SWT界面组件19.1.1 组件类树19.1.2 容器组件1.主窗口Shell2.面板Composite3.分组框Group4.选项卡TabFolder19.1.3 对话框(Dialog)1.消息框MessageBox2.颜色选择对话框ColorDialog3.字体选择对话框FontDialog4.打印文件对话框PrintDialog5.选择文件对话框FileDialog6.选择目录对话框DirectoryDialog19.1.4 基本组件(Control)1.按钮组件Button2.标签组件Label3.文本框组件Text4.下拉框组件Combo5.列表框组件List6.进度条ProgressBar7.滚动组件Slider8.滑标组件Scale19.1.5 菜单栏组件Menu和MenuItem19.1.6 工具栏组件ToolBar和ToolItem19.2 SWT布局管理器19.2.1 充满式布局FillLayout19.2.2 表格式布局FormLayout19.2.3 网格式布局GridLayout19.2.4 行列式布局RowLayout19.3 SWT事件处理19.3.1 常用事件19.3.2 事件监听器19.4 本课小结19.4.1 总结本课的知识点19.4.2 要掌握的关键点19.4.3 课后上机作业-Java文本编辑器19.4.4 上机作业参考样例19.4.5 上机作业参考样例运行结果19.4.6 打包javaswt.zip19.4.7 继续下一课:SWT增强组件库JFace第20课 SWT增强组件库JFace20.1 JFace扩展组件20.1.1 窗体1.普通窗体Window2.扩展窗体ApplicationWindow20.1.2 对话框1.消息提示框MessageDialog2.输入对话框InputDialog3.错误提示框ErrorDialog4.进程监控对话框ProgressMonitorDialog5.带有提示信息的对话框TitleAreaDialog20.1.3 Viewer查看器20.2 Action事件处理20.2.1 按钮与Action事件20.2.2 菜单栏与Action事件20.2.3 工具栏与Action事件20.3 本课小结20.3.1 总结本课的知识点20.3.2 要掌握的关键点20.3.3 继续下一课:Java网络编程第5部分 Java网络编程第21课 Applet组件编程21.1 Applet基本原理21.1.1 Applet在网页中的引用21.1.2 Applet基类21.1.3 Applet运行状态21.1.4 Applet入门实例HelloWorld21.2 Applet核心编程21.2.1 事件处理:响应鼠标事件21.2.2 事件处理:响应键盘事件21.2.3 多媒体:显示图片21.2.4 多媒体:播放音乐21.2.5 网页交互:传递网页参数21.2.6 网页交互:JavaScript操作Applet21.3 本课小结21.3.1 总结本课的知识点21.3.2 要掌握的关键点21.3.3 课后上机作业-电子相册21.3.4 上机作业参考样例21.3.5 打包javaapplet.zip21.3.6 继续下一课:Java网络编程第22课 Java网络编程22.1 基于HTTP协议的网络编程22.1.1 网页地址格式URI→URL22.1.2 URL网页地址类22.1.3 URLConnection网页连接类22.1.4 HttpURLConnection和JarURLConnection22.2 基于TCP/IP的Socket编程22.2.1 TCP/IP与UDP协议简介22.2.2 IP地址类InetAddress22.2.3 客户端套接字Socket22.2.4 补充:Socket选项22.2.5 补充:Socket异常22.2.6 服务端套接字ServerSocket22.2.7 补充:ServerSocket选项22.2.8 实例一:简单的Client/Server对话程序22.2.9 实例二:支持多客户的Client/Server服务响应程序22.3 基于UDP的Socket编程22.3.1 数据报包DatagramPacket22.3.2 数据报套接字DatagramSocket22.3.3 实例一:利用数据报通信的Client/Server程序22.3.4 组播套接字MulticastSocket22.3.5 实例二:组播套接字的Client/Server程序22.4 本课小结22.4.1 总结本课的知识点22.4.2 要掌握的关键点22.4.3 课后上机作业22.4.4 上机作业参考样例22.4.5 继续下一课:NIO非阻塞通信第23课 NIO非阻塞编程23.1 NIO引入23.1.1 基于Socket通信存在的问题-I/O阻塞通信23.1.2 传统的解决方法-使用线程池23.1.3 最新的解决方案-NIO非阻塞通信23.2 NIO核心框架23.2.1 缓存区Buffer23.2.2 字符集Charset-编码与解码23.2.3 通道Channel23.2.4 选择器Selector23.3 NIO通道编程详解23.3.1 文件通道FileChannel23.3.2 Socket通道SocketChannel23.3.3 ServerSocket通道ServerSocketChannel23.3.4 实例一:支持多客户的Client/Server任务响应程序23.3.5 数据报通道DatagramChannel23.3.6 实例二:利用数据报通信的Client/Server程序23.4 本课小结23.4.1 总结本课的知识点23.4.2 要掌握的关键点23.4.3 课后上机作业23.4.4 上机作业参考样例23.4.5 继续下一课:RMI分布式网络编程第24课 RMI分布式网络编程24.1 RMI引入24.1.1 远程过程调用协议RPC24.1.2 客户机/服务器模型Client/Server24.1.3 分布式对象模型24.1.4 Java远程方法调用RMI24.2 RMI系统原理与开发步骤24.2.1 RMI通信机制1.Stub(存根)2.Skeleton(框架)24.2.2 RMI对象序列化24.2.3 RMI程序的实现步骤24.2.4 RMI程序的运行步骤24.3 RMI程序开发详解-HelloWorld24.3.1 创建远程接口类IHelloWorld.java24.3.2 创建接口实现类HelloWorld.java24.3.3 开发服务器程序RMIServer.java24.3.4 开发客户端程序RMIClient.java24.3.5 编译并运行应用程序24.3.6 补充:Java安全许可文件24.4 本课小结24.4.1 总结本课的知识点24.4.2 要掌握的关键点1.开发RMI应用程序的步骤2.编译和运行RMI应用程序的步骤24.4.3 课后上机作业24.4.4 上机作业参考样例24.4.5 继续下一课:CORBA分布式网络编程第25课 CORBA分布式网络编程25.1 CORBA引入25.1.1 CORBA相关概念25.1.2 CORBA发展历程25.1.3 CORBA系统的结构与特点25.1.4 CORBA中间件ORB25.1.5 RMI与CORBA的结合RMI-IIOP25.2 使用Java编写CORBA程序-HelloWorld实例25.2.1 创建IDL接口Hello.idl25.2.2 编译IDL接口产生6个文件25.2.3 创建IDL接口实现类HelloImpl.java25.2.4 实现服务器HelloServer.java25.2.5 实现客户端HelloClient.java25.2.6 运行程序25.2.7 补充:IDL的语法规则25.3 本课小结25.3.1 总结本课的知识点25.3.2 要掌握的关键点25.3.3 课后上机作业25.3.4 上机作业参考样例25.3.5 继续下一课:Java高级特性第26课 Java反射编程与动态代理26.1 Java反射机制26.1.1 反射的概念26.1.2 Java中的反射26.1.3 第一个反射的例子26.1.4 Java反射API1.取得构造函数-返回类型Constructor2.取得变量-返回类型Field3.取得方法-返回类型Method4.Array类5.Modifier类26.2 Java反射应用-检测类26.2.1 标准会话管理器StandardManager26.2.2 获取类的方法26.2.3 获取类的构造器26.2.4 获取类的变量26.3 Java反射应用-处理对象26.3.1 创建类的对象26.3.2 改变变量的值26.3.3 执行类的方法26.3.4 使用数组26.4 Java动态代理26.4.1 动态代理机制26.4.2 动态代理应用1.定义接口和实现类并直接调用2.使用包装类进行包装3.使用动态代理26.4.3 基于动态代理的AOP实现26.4.4 基于动态代理的字节码库26.5 本课小结26.5.1 总结本课的知识点26.5.2 要掌握的关键点26.5.3 课后上机作业26.5.4 上机作业参考26.5.5 继续下一课:Java泛型编程第27课 Java泛型编程27.1 了解Java泛型27.1.1 数据类型转换错误27.1.2 用泛型消除类型转换27.2 泛型类的开发与使用27.2.1 定义泛型类27.2.2 无界通配符“?”27.2.3 上限通配符extends27.2.4 下限通配符super27.2.5 定义多态方法27.2.6 定义泛型异常27.3 本课小结27.3.1 总结本课的知识点27.3.2 要掌握的关键点27.3.3 课后上机作业27.3.4 继续下一课:Java注释符编程第28课 Java注释符编程28.1 JDK内置注释28.1.1 注释的格式与分类28.1.2 覆盖注释@Override28.1.3 过时注释@Deprecated28.1.4 警告注释@SuppressWarnings28.2 自定义注释28.2.1 定义注释类型@interface28.2.2 添加成员变量28.2.3 设置默认值28.2.4 设置目标范围@Target28.2.5 设置保持性@Retention28.2.6 添加公共文档@Documented28.2.7 设置继承@Inherited28.3 本课小结28.3.1 总结本课的知识点28.3.2 要掌握的关键点28.3.3 继续下一课:Java5.0语言新特性第29课 Java5.0语言新特性29.1 自动装箱和拆箱(Boxing/Unboxing)29.2 枚举类(EnumerationClasses)1.publicstaticfinalint的常量2.定义枚举类3.为枚举值添加参数4.枚举的映射(Map)29.3 可变参数(VariableArguments)29.4 可变返回类型(CovariantReturnTypes)29.5 增强循环EnhancedforLoop29.6 静态导入StaticImport29.7 控制台输入(ConsoleInput)1.读取控制台2.读取文件3.读取字符串29.8 StringBuilder类(StringBuilder)29.9 格式化I/O(FormattedI/O)29.10本课小结29.10.1 总结本课的知识点29.10.2 要掌握的关键点29.10.3 课后上机作业29.10.4 继续下一课:JavaWeb核心技术
章节摘录
7.过滤输入流——FliterInputStream FilterlnputStream包含其他一些输入流,它将这些流用做其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterlnputStream类本身只是简单地重写那些将所有请求传递给所包含输入流的InputStream的所有方法。因此,这个类本身对于数据流并没有什么作用。所以,通常并不单独使用它,而是使用它的子类。 FilterInputStream的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。接下来我们将讲解继承自该类的4个过滤类。 8.缓存輸入流——BufferedlnputStream BufferedlnputStream为另一个输入流添加一些功能,即缓存输入的能力。在创建BufferedlnputStream时,会创建一个内部缓存区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓存区,一次填充多个字节。 如果你需要一个具有缓存的文件输入流,则应当组合使用FilelnputStream和BufferedlnputStream,这将会提高读取的效率。程序9-16展示了将文件输入流对象is转换为缓存输入流的过程。
编辑推荐
本书详细讲解Java语言基础开发中的各种技术,主要内容包括如下。 ·Java开发入门:JDK、JVM、Eclipse、Linux。 ·Java语法基础:类、抽象类、接口、内部类、匿名类、异常、编码规范。 ·Java核心编程:流、多线程、实体类、集合类、正则表达式、XML、属性文件。 ·Java网络编程:Applet、Sockt/TCP/UDP、NIO、RMI、CORBA。 ·Java高级特性:反射、泛型、注释符、自动装箱和拆箱、枚举类、可变返回类型、增强循环、静态导入。
图书封面
图书标签Tags
无
评论、评分、阅读与下载