欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Java经典实例(第4版)
      • 作者:(加)伊恩·F.达尔文|责编:刘炽|译者:苏金国
      • 出版社:中国电力
      • ISBN:9787519869731
      • 出版日期:2023/03/01
      • 页数:679
    • 售价:79.2
  • 内容大纲

        随着Java继续发展和演进,这本书也在不断修订和改版。利用这本指南,你会快速掌握数百个实战技巧,内容涵盖诸多Java主题。你将学习从字符串处理、函数式编程到网络通信等各种有用的技术。
        每个技巧都包含完整的代码解决方案,你可以免费使用这些代码,另外每个技巧还讨论了如何做以及为什么这样做。如果你已经熟悉Java基础知识,这本经典实例将增进你的Java知识,让你了解Java的最新变化,包括如何在日常开发中运用这些知识。更新的这一版涵盖了Java 12之前版本的全部内容以及Java 13和Java 14的部分内容。
        本书的主要内容包括:
        ·编译、运行和调试方法。
        ·打包Java类和构建应用。
        ·处理、比较和重新组织文本。
        ·完成字符串和模式匹配的正则表达式。
        ·处理数字、日期和时间。
        ·利用集合、数组和其他类型建立数据结构。
        ·面向对象和函数式编程技术。
        ·输入/输出、目录和文件系统操作。
        ·客户端和服务器端网络编程。
        ·使用JSON实现数据交换。
        ·多线程和并发。
        ·大数据应用中使用Java。
        ·Java与其他语言的交互。
  • 作者介绍

        伊恩·F.达尔文(Ian Darwin)在软件行业积累了丰富的经验,从Java的第d一版直到现在,他在很多平台和不同类型的软件上使用过Java。作为Sun/Oracle Java Champions的创始成员,Ian还是《Android Cookook》和其他一些书的作者。他一直在为计算机科学专业本科生以及Learning Tree International(一家领l先的职业发展培训公司)编写教材和讲授课程。
  • 目录

    前言
    第1章  入门:编译和运行Java
      1.0  引言
      1.1  编译和运行Java:标准JDK
      1.2  编译和运行Java:GraalVM提高性能
      1.3  用IDE编译、运行和测试
      1.4  用JShell探索Java
      1.5  有效地使用CLASSPATH
      1.6  下载和使用代码示例
      1.7  用ApacheMaven自动管理依赖、编译、测试和部署
      1.8  用Gradle自动管理依赖、编译、测试和部署
      1.9  处理废弃警告
      1.10  利用单元测试维护代码正确性:JUnit
      1.11  利用持续集成维护代码
      1.12  获取可读的栈轨迹
      1.13  查找更多Java源代码
      1.14  查找可运行的Java库
    第2章  环境交互
      2.0  引言
      2.1  获得环境变量
      2.2  从系统属性获得信息
      2.3  处理依赖于Java版本或操作系统的代码
      2.4  使用扩展或其他打包API
      2.5  使用Java模块系统
    第3章  字符串相关问题
      3.0  引言
      3.1  利用子串或词法分析分解字符串
      3.2  用Stringuilder合并字符串
      3.3  逐字符处理字符串
      3.4  字符串对齐、缩进和取消缩进
      3.5  Unicode字符与字符串之间的转换
      3.6  按单词或字符逆转字符串
      3.7  展开和压缩制表符
      3.8  控制大小写
      3.9  输入非打印字符
      3.10  删除字符串末尾的空白符
      3.11  使用国际化资源创建消息
      3.12  使用特定的本地化环境
      3.13  创建资源包
      3.14  程序:一个简单的文本格式化工具
      3.15  程序:Soundex名字比较
    第4章  使用正则表达式实现模式匹配
      4.0  引言
      4.1  正则表达式语法
      4.2  在Java中使用正则表达式:测试模式
      4.3  查找匹配文本
      4.4  替换匹配文本
      4.5  打印一个模式的所有匹配
      4.6  打印包含一个模式的行
      4.7  用正则表达式控制大小写

      4.8  匹配重音或组合字符
      4.9  匹配文本中的换行符
      4.10  程序:Apache日志文件解析
      4.11  程序:完整的Grep
    第5章  数字
      5.0  引言
      5.1  检查字符串是否是一个合法的数
      5.2  数字与对象的转换
      5.3  直接使用分数而不使用浮点数
      5.4  处理浮点数
      5.5  格式化数字
      5.6  二进制、八进制、十进制和十六进制间的转换
      5.7  处理整数序列
      5.8  格式化为正确的复数形式
      5.9  生成随机数
      5.10  矩阵乘法
      5.11  使用复数
      5.12  处理非常大的数
      5.13  程序:TempConverter
      5.14  程序:数字回文
    第6章  日期和时间
      6.0  引言
      6.1  获得当天日期
      6.2  格式化日期和时间
      6.3  日期/时间、YMDHMS和纪元秒之间的转换
      6.4  将字符串解析为日期
      6.5  两个日期之差
      6.6  日期加上或减去一个时间段
      6.7  处理重复事件
      6.8  计算涉及时区的日期
      6.9  与遗留Date和Calendar类交互
    第7章  Java数据结构
      7.0  引言
      7.1  用数组建立数据结构
      7.2  调整数组大小
      7.3  集合框架
      7.4  与数组类似,但更动态
      7.5  自己的类中使用泛型类型
      7.6  所有迭代方法
      7.7  用Set避免重复
      7.8  用链表建立数据结构
      7.9  用Hashtale和HashMap建立映射
      7.10  在Properties和Preferences中存储字符串
      7.11  集合排序
      7.12  避免显式排序
      7.13  在集合中查找对象
      7.14  将一个Collection转换为数组
      7.15  使数据可迭代
      7.16  使用对象栈
      7.17  多维结构

      7.18  用Lomok或Record简化数据对象
      7.19  程序:计时比较
    第8章  面向对象技术
      8.0  引言
      8.1  对象方法:用toString()格式化对象,用equals比较对象
      8.2  使用内部类
      8.3  通过接口提供回调
      8.4  多态/抽象方法
      8.5  使用类型安全的枚举
      8.6  用Optional避免NPE
      8.7  保证单例模式
      8.8  创建自己的异常
      8.9  使用依赖注入
      8.10  程序:绘图仪
    第9章  函数式编程技术:函数接口、流和并行集合
      9.0  引言
      9.1  使用Lamda/Closures而不是内部类
      9.2  使用lamda预定义接口而不是自定义接口
      9.3  用Stream简化处理
      9.4  用Collector简化流
      9.5  用并行流和集合提高吞吐量
      9.6  利用方法引用将已有代码用作为函数式接口
      9.7  JavaMixin:方法混入
    第10章  输入和输出:读、写和目录技巧
      10.0  引言
      10.1  关于InputStream/OutputStream和Reader/Writer
      10.2  读文本文件
      10.3  从标准输入或控制台/控制终端读取
      10.4  用Formatter和printf打印
      10.5  用StreamTokenizer扫描输入
      10.6  用Scanner类扫描输入
      10.7  扫描有语法结构的输入
      10.8  复制文件
      10.9  重新分配标准流
      10.10  写时复制流,重新分配标准流
      10.11  读/写不同的字符集
      10.12  讨厌的行尾字符
      10.13  当心依赖平台的文件代码
      10.14  读/写二进制数据
      10.15  读写JAR或ZIP归档
      10.16  使用getResource()和getResourceAsStream()
    采用文件系统中立方式查找文件
      10.17  获取文件信息:Files和Path
      10.18  创建新文件或目录
      10.19  改变文件名或其他属性
      10.20  删除文件
      10.21  创建瞬时/临时文件
      10.22  列出目录内容
      10.23  获得目录的根
      10.24  使用FileWatcher服务得到文件变更通知

      10.25  程序:将用户数据保存到磁盘
      10.26  程序:查找—遍历文件树
    第11章  数据科学与R
      11.1  使用Java完成机器学习
      11.2  在ApacheSpark中使用数据
      11.3  交互式使用R
      11.4  比较/选择R实现
      11.5  在Java应用中使用R:Renjin
      11.6  从R会话使用Java
      11.7  使用FastR(R的GraalVM实现)
      11.8  在We应用中使用R
    第12章  网络客户端
      12.0  引言
      12.1  HTTP/RESTWe客户端
      12.2  连接socket服务器
      12.3  查找和报告网络地址
      12.4  处理网络错误
      12.5  读写文本数据
      12.6  读写二进制或串行化数据
      12.7  UDP数据报
      12.8  URI,URL还是URN
      12.9  程序:TFTPUDP客户端
      12.10  程序:基于Socket的聊天客户端
      12.11  程序:简单的HTTP链接检查工具
    第13章  服务器端Java
      13.0  引言
      13.1  打开服务器Socket
      13.2  查找网络接口
      13.3  返回响应(字符串或二进制数据)
      13.4  通过网络连接返回对象信息
      13.5  处理多个客户端
      13.6  提供HTTP协议
      13.7  用SSL和JSSE保护We服务器
      13.8  用JAX-RS创建REST服务
      13.9  网络日志
      13.10  创建SLF4J
      13.11  使用Log4j生成网络日志
      13.12  用java.util.logging生成网络日志
    第14章  处理JSON数据
      14.0  引言
      14.1  直接生成JSON
      14.2  用Jackson解析和写JSON
      14.3  用org.json解析和写JSON
      14.4  用JSON-解析和写JSON
      14.5  用JSONPointer查找JSON元素
    第15章  包和打包
      15.0  引言
      15.1  创建包
      15.2  用Javadoc建立类文档
      15.3  超越Javadoc:注解/元数据

      15.4  准备一个类作为Javaean
      15.5  用JAR归档
      15.6  从一个JAR运行程序
      15.7  将We层组件打包到WAR文件
      15.8  用jlink创建更小的发布包
      15.9  使用JPMS创建模块
    第16章  Java线程
      16.0  引言
      16.1  在不同线程中运行代码
      16.2  用动画显示动图
      16.3  停止线程
      16.4  交会和超时
      16.5  用synchronized关键字同步线程
      16.6  用锁简化同步
      16.7  用Queue接口简化生产者/消费者
      16.8  用Fork/Join优化并行处理
      16.9  调度任务:将来,编辑器的后台保存
    第17章  反射或“名为Class的类”
      17.0  引言
      17.1  获得类描述符
      17.2  查找和使用方法和字段
      17.3  通过反射访问私有方法和字段
      17.4  动态加载和实例化一个类
      17.5  用ClassLoader从头构造一个类
      17.6  用JavaCompiler从头构造一个类
      17.7  性能计时
      17.8  打印类信息
      17.9  列出一个包中的类
      17.10  使用和定义注解
      17.11  通过注解查找类似插件的类
      17.12  程序:CrossRef
    第18章  结合使用Java和其他语言
      18.0  引言
      18.1  从Java运行外部程序
      18.2  运行程序并捕获输出
      18.3  通过javax.script调用其他语言
      18.4  用GraalVM混合语言
      18.5  结合Java和Perl
      18.6  通过原生代码调用其他语言
      18.7  从原生代码调用Java
    附录  Java前世今生
    后记