万本电子书0元读

万本电子书0元读

顶部广告

Java技术手册(原书第7版)电子书

本书不仅可以帮助有经验的Java程序员充分掌握Java 9到Java 11,也为新的发者提供了学习的路径。书中用大量示例演示了如何充分利用现代的Java API和发的实践。本版彻底修订了关于Java平台模块系统的内容。 全书分为两部分:部分对Java编程语言和Java平台的核心运行时方面行了快速、清晰的介绍,第二部分介绍了Java发行版附带的新工具。 通过学习本书,你可以: ■ 快速了解语言细节的新展,包括Java 9到Java 11的更改。

售       价:¥

纸质售价:¥93.10购买纸书

27人正在读 | 0人评论 6.7

作       者:(英)本杰明·J·埃文斯(Benjamin J· Evans),(美)大卫·弗拉纳根(David Flanagan)

出  版  社:机械工业出版社

出版时间:2021-08-01

字       数:23.8万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书共分为两部分: 第1部分介绍了Java发环境、基本句法、面向对象编程、类型系统、内存管理以及并发机制; 第2部分介绍了Java原生的核心库以及一些中高级发者常用的技术,包括文档约定、集合类、数据格式、文件和I/O操作、类加载、反射、模块化以及平台工具。   本书既适合新手Java程序员门,也适合有多年Java发经验的工程师阅读。  <br/>【推荐语】<br/>本书不仅可以帮助有经验的Java程序员充分掌握Java 9到Java 11,也为新的发者提供了学习的路径。书中用大量示例演示了如何充分利用现代的Java API和发的实践。本版彻底修订了关于Java平台模块系统的内容。 全书分为两部分:部分对Java编程语言和Java平台的核心运行时方面行了快速、清晰的介绍,第二部分介绍了Java发行版附带的新工具。 通过学习本书,你可以: ■ 快速了解语言细节的新展,包括Java 9到Java 11的更改。 ■ 使用Java基本句法学习面向对象编程。 ■ 探索泛型、枚举、注解及lambda表达式。 ■ 理解面向对象程序设计的基础技术。 ■ 详解并发与内存管理,以及它们的紧密关联。 ■ 使用Java集合处理常见的数据格式。 ■ 使用JShell探究在新的交互式环境中的Java编程。 ■ 熟练使用OpenJDK中的发工具。<br/>【作者】<br/>本杰明-J-埃文斯(Benjamin J. Evans)是一位企业家、顾问,也是一位教育家。他是jClarity的联合创始人,jClarity是一家专注于软件性能工具的初创公司。他著有多本书籍,包括Optimizing Java,还获得过Java Champion和JavaOne Rockstar奖,并且经常发表性能、体系结构和并发等主题的演讲。   大卫-弗拉纳根(David Flanagan)是Mozilla的软件工程师,为O'Reilly撰写了若干著作,包括《JavaScript权威指南》《Ruby编程语言》,以及本版的先前版本。<br/>
目录展开

作者简介

封面简介

译者序

O’Reilly Media,Inc.介绍

前言

第一部分 Java介绍

第1章 Java环境介绍

1.1 Java语言、JVM和生态系统

1.1.1 Java语言是什么

1.1.2 JVM是什么

1.1.3 Java生态系统是什么

1.2 Java和JVM简史

1.3 Java程序的生命周期

1.4 Java的安全性

1.5 Java和其他语言的比较

1.5.1 Java和C语言比较

1.5.2 Java和C++比较

1.5.3 Java和Python比较

1.5.4 Java和JavaScript比较

1.6 回应对Java的一些批评

1.6.1 过度复杂

1.6.2 变化缓慢

1.6.3 性能问题

1.6.4 不够安全

1.6.5 过于侧重企业

第2章 Java的基本句法

2.1 Java程序概览

2.2 词法结构

2.2.1 Unicode字符集

2.2.2 区分大小写与空白

2.2.3 注释

2.2.4 保留字

2.2.5 标识符

2.2.6 字面量

2.2.7 标点符号

2.3 基本数据类型

2.3.1 布尔类型

2.3.2 字符类型

2.3.3 整数类型

2.3.4 浮点数类型

2.3.5 基本类型之间的转换

2.4 表达式和运算符

2.4.1 运算符概述

2.4.2 算术运算符

2.4.3 字符串连接运算符

2.4.4 递增和递减运算符

2.4.5 比较运算符

2.4.6 逻辑运算符

2.4.7 位运算符和位移运算符

2.4.8 赋值运算符

2.4.9 条件运算符

2.4.10 instanceof操作符

2.4.11 特殊运算符

2.5 语句

2.5.1 表达式语句

2.5.2 复合语句

2.5.3 空语句

2.5.4 标签语句

2.5.5 局部变量声明语句

2.5.6 if/else语句

2.5.7 switch语句

2.5.8 while语句

2.5.9 do语句

2.5.10 for语句

2.5.11 for each语句

2.5.12 break语句

2.5.13 continue语句

2.5.14 return语句

2.5.15 synchronized语句

2.5.16 throw语句

2.5.17 try/catch/finally语句

2.5.18 处理资源的try语句

2.5.19 assert语句

2.6 方法

2.6.1 定义方法

2.6.2 方法修饰符

2.6.3 已检异常和未检异常

2.6.4 变长参数列表

2.7 类和对象

2.7.1 定义类

2.7.2 创建对象

2.7.3 使用对象

2.7.4 对象字面量

2.7.5 lambda表达式

2.8 数组

2.8.1 数组的类型

2.8.2 创建和初始化数组

2.8.3 使用数组

2.8.4 多维数组

2.9 引用类型

2.9.1 引用类型与基本类型

2.9.2 处理对象和引用副本

2.9.3 比较对象

2.9.4 装包和拆包转换

2.10 包和Java命名空间

2.10.1 声明包

2.10.2 全局唯一的包名

2.10.3 导入类型

2.10.4 导入静态成员

2.11 Java源文件的结构

2.12 定义并运行Java程序

2.13 小结

第3章 Java面向对象编程

3.1 类简介

3.1.1 面向对象的基本概念

3.1.2 其他引用类型

3.1.3 定义类的句法

3.2 字段和方法

3.2.1 声明字段的句法

3.2.2 类字段

3.2.3 类方法

3.2.4 实例字段

3.2.5 实例方法

3.2.6 this引用的工作方式

3.3 创建和初始化对象

3.3.1 定义构造方法

3.3.2 定义多个构造方法

3.3.3 在构造方法中调用其他构造方法

3.3.4 字段的默认值和初始化程序

3.4 子类与继承

3.4.1 扩展类

3.4.2 超类、对象和类层次结构

3.4.3 子类的构造方法

3.4.4 构造方法链和默认构造方法

3.4.5 遮盖超类的字段

3.4.6 覆盖超类的方法

3.5 数据隐藏和封装

3.5.1 访问控制

3.5.2 数据访问器方法

3.6 抽象类和方法

3.7 修饰符小结

第4章 Java类型系统

4.1 接口

4.1.1 定义接口

4.1.2 扩展接口

4.1.3 实现接口

4.1.4 默认方法

4.1.5 标记接口

4.2 Java泛型

4.2.1 介绍泛型

4.2.2 泛型和类型参数

4.2.3 菱形句法

4.2.4 类型擦除

4.2.5 绑定类型参数

4.2.6 协变简介

4.2.7 通配符

4.2.8 泛型方法

4.2.9 编译时和运行时类型

4.2.10 使用和设计泛型类型

4.3 枚举和注解

4.3.1 枚举

4.3.2 注解

4.3.3 自定义注解

4.3.4 类型注解

4.4 lambda表达式

4.4.1 转换lambda表达式

4.4.2 方法引用

4.4.3 函数式编程

4.4.4 词法作用域和局部变量

4.5 嵌套类型

4.5.1 静态成员类型

4.5.2 非静态成员类

4.5.3 局部类

4.5.4 匿名类

4.6 无法表示的类型和var

4.7 小结

第5章 Java的面向对象设计

5.1 Java的值

5.2 java.lang.Object类的重要方法

5.2.1 toString()方法

5.2.2 equals()方法

5.2.3 hashCode()方法

5.2.4 Comparable::compareTo()方法

5.2.5 clone()方法

5.3 面向对象设计概要

5.3.1 常量

5.3.2 接口与抽象类

5.3.3 默认方法可以当成特性使用吗

5.3.4 实例方法与类方法

5.3.5 组合与继承

5.3.6 字段继承和访问器

5.3.7 单例模式

5.4 带有lambda表达式的面向对象设计

5.4.1 lambda表达式与嵌套类

5.4.2 lambda表达式与方法引用

5.5 异常和异常处理

5.6 Java编程的安全性

第6章 Java实现内存管理和并发编程的方式

6.1 Java内存管理的基本概念

6.1.1 Java中的内存泄漏

6.1.2 标记清除算法简介

6.1.3 基本的标记清除算法

6.2 JVM优化垃圾回收的方式

筛选回收

6.3 HotSpot堆

6.3.1 其他回收程序

6.3.2 ParallelOld回收程序

6.4 终结机制

6.5 Java对并发编程的支持

6.5.1 线程的生命周期

6.5.2 可见性和可变性

6.5.3 互斥和状态保护

6.5.4 volatile关键字

6.5.5 Thread类中有用的方法

6.5.6 Thread类弃用的方法

6.6 使用线程

6.7 小结

第二部分 使用Java平台

第7章 编程和文档约定

7.1 命名和大小写约定

7.2 实用的命名方式

7.3 Java文档注释

7.3.1 文档注释的结构

7.3.2 文档注释标签

7.3.3 行内文档注释标签

7.3.4 文档注释中的交叉引用

7.3.5 包的文档注释

7.4 doclet

7.5 可移植程序的约定

第8章 使用Java集合

8.1 集合API简介

8.1.1 Collection接口

8.1.2 Set接口

8.1.3 List接口

8.1.4 Map接口

8.1.5 Queue接口和BlockingQueue接口

8.1.6 实用方法

8.1.7 数组和辅助方法

8.2 Java流和lambda表达式

8.2.1 函数式方式

8.2.2 流API

8.3 小结

第9章 处理常见的数据格式

9.1 文本

9.1.1 字符串的特殊句法

9.1.2 字符串的不可变性

9.1.3 正则表达式

9.2 数字和数学运算

9.2.1 Java表示整数类型的方式

9.2.2 Java中的浮点数

9.2.3 Java的数学函数标准库

9.3 在Java 8中处理日期和时间

9.3.1 介绍Java 8的日期和时间API

9.3.2 查询

9.3.3 调节器

9.3.4 过时的日期和时间API

9.4 小结

第10章 文件处理和I/O

10.1 经典的Java I/O

10.1.1 文件

10.1.2 流

10.1.3 Reader和Writer类

10.1.4 再次介绍TWR

10.1.5 经典I/O的问题

10.2 现代的Java I/O

10.2.1 Files类

10.2.2 Path

10.3 NIO中的通道和缓冲区

10.3.1 ByteBuffer对象

10.3.2 映射字节缓冲区

10.4 异步I/O

10.4.1 基于Future接口的方式

10.4.2 基于回调的方式

10.4.3 监视服务和目录搜索

10.5 网络

10.5.1 HTTP

10.5.2 TCP

10.5.3 IP

第11章 类加载、反射和方法句柄

11.1 类文件、类对象和元数据

11.1.1 类对象示例

11.1.2 类对象和元数据

11.2 类加载的各个阶段

11.2.1 加载

11.2.2 验证

11.2.3 准备和解析

11.2.4 初始化

11.3 安全的编程和类加载

11.4 应用类加载知识

11.5 反射

11.5.1 什么时候使用反射

11.5.2 如何使用反射

11.5.3 动态代理

11.6 方法句柄

11.6.1 MethodType对象

11.6.2 方法查找

11.6.3 调用方法句柄

第12章 Java平台模块化

12.1 为什么要模块化

12.2 自行开发模块

12.2.1 基本模块句法

12.2.2 构建简单的模块化应用程序

12.2.3 模块路径

12.2.4 自动模块

12.2.5 开放模块

12.2.6 服务

12.2.7 多发布JAR包

12.2.8 转换成多发布JAR包

12.2.9 迁移到模块

12.2.10 自定义运行时镜像

12.3 模块化的问题

12.3.1 安全性相关问题

12.3.2 缺乏版本控制

12.3.3 采用比例较低

12.4 小结

第13章 平台工具

13.1 命令行工具

13.1.1 javac

13.1.2 java

13.1.3 jar

13.1.4 javadoc

13.1.5 jdeps

13.1.6 jps

13.1.7 jstat

13.1.8 jstatd

13.1.9 jinfo

13.1.10 jstack

13.1.11 jmap

13.1.12 javap

13.1.13 jaotc

13.1.14 jlink

13.1.15 jmod

13.2 介绍JShell

13.3 小结

附录A 附加工具

介绍Nashorn

在Nashorn中执行JavaScript代码

Nashorn与javax.script包

Nashorn的高级用法

Nashorn与GraalVM的未来

VisualVM

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部