• 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
  • 【现货速发】Java核心编程
21年品牌 40万+商家 超1.5亿件商品

【现货速发】Java核心编程

全新正版书籍,24小时发货,可开发票。

70.8 8.0折 89 全新

库存4件

天津津南
认证卖家担保交易快速发货售后保障

作者柳伟卫

出版社清华大学出版社

ISBN9787302552949

出版时间2020-06

装帧平装

开本16开

定价89元

货号28551673

上书时间2024-11-24

易安居书舍

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

前    言
写作背景
随着互联网应用的发展,各种编程语言层出不穷,比如C#、Golang、TypeScript、ActionScript等,但不管是哪种语言,都无法撼动Java的“霸主”地位。Java语言始终占据着各类编程语言排行榜的榜首,开发者对于Java的热情也是与日俱增。Java已然成为企业级应用和Cloud Native应用的语言。
那么为什么Java一直能保持这么火爆呢?究其原因,Java能够长盛不衰的秘诀就是能够与时俱进、不断推陈出新。
笔者从事Java开发已经有十几年了,可以说是Java技术发展的见证者和实践者。为了推广Java技术,笔者撰写了包括《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》《Spring 5开发大全》《Cloud Native 分布式架构原理与实践》等几十本Java领域的专著和开源书,期望以微薄之力对Java语言有所贡献。由于目前企业所使用的Java大多是Java 8之前的版本,市面上也缺乏Java 13的学习资料,因此笔者才撰写本书以补空白。
让我们一起踏上Java学习之旅吧!
本书重要主题
? 构建Java开发环境
? Java语言基础
? 面向对象编程
? 集合框架
? 异常处理
? I/O处理
? 网络编程
? 并发编程
? 基本编程结构的改进
? 垃圾回收器的增强
? 使用脚本语言
? Lambda表达式与函数式编程
? Stream
? 集合的增强
? 新的日期和时间API
? 并发编程的增强
? 模块化
? 响应式编程
本书开发环境及JDK版本
本书示例采用Eclipse编写,但示例源码与具体的IDE无关,读者可以选择适合自己的IDE,如IntelliJ IDEA、NetBeans等。运行本书示例,请确保JDK版本不低于13。
源代码
本书提供源代码下载,下载地址为https://github.com/waylau/modern-java-demos。
致谢
感谢清华大学出版社王金柱编辑,在本书写作过程中他审阅了大量的稿件,给予了很多指导和帮助。感谢工作在幕后的清华大学出版社评审团队对本书在校对、排版、审核、封面设计、错误改正等方面所做出的努力,使本书得以顺利出版发行。
感谢我的父母、妻子和两个女儿。由于撰写本书牺牲了很多陪伴家人的时间,在此感谢家人对我工作的理解和支持。
献给
本书献给那些以Java为矛的工程师!


柳伟卫
2020.3.8

 



导语摘要

本书主要基于Java 13来介绍Java核心编程相关的知识点,以及从Java 8至Java 13以来的新特性,主要内容包括:Java语言基础、面向对象编程、集合框架、异常处理、I/O处理、网络编程、并发编程、基本编程结构的改进、垃圾回收器的增强、使用脚本语言、Lambda表达式与函数式编程、Stream、集合的增强、新的日期和时间API、并发编程的增强、模块化、响应式编程等内容。通过本书的学习,读者不仅能够掌握Java语言的编程技巧,还可以拓展视野,提升市场竞争能力。 本书主要面向Java语言的爱好者、Java工程师和架构师。



作者简介

介柳伟卫,网名waylau、老卫,80后程序员,关注编程、系统架构、性能优化;是 CSDN、 开源中国、云栖社区等技术社区专家,慕课网特邀讲师;在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有十几年开发经验,具有丰富的软件开发管理及系统架构经验;主导过多个、省级大型分布式系统设计与研发,参与过面向全球的供应链系统服务化改造;在实际工作中,积累了大量的分布式系统、微服务架构经验;已出版《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》《Spring 5开发大全》等著作。



目录

目   录
第1章  JAVA概述 1
1.1  Java演进史 1
1.1.1  Java简史 1
1.1.2  Java大有可为 3
1.2  现代Java新特性:从Java 8到Java 13 3
1.2.1  Java 8新特性 3
1.2.2  Java 9新特性 4
1.2.3  Java 10新特性 4
1.2.4  Java 11新特性 5
1.2.5  Java 12新特性 5
1.2.6  Java 13新特性 5
1.3  如何学习本书 6
1.3.1  学习的前置条件 6
1.3.2  如何使用本书 6
1.3.3  如何获取源码 7
1.4  开发环境配置及编写个Java应用 7
1.4.1  JDK 13的下载 7
1.4.2  JDK 13的安装 8
1.4.3  Eclipse的下载 10
1.4.4  Eclipse的安装 10
1.4.5  Eclipse的配置 11
1.4.6  创建Java应用 11
1.4.7  创建模块 12
1.4.8  创建Hello World程序 13
1.4.9  使用JUnit 5 14



第2章  JAVA语言基础 17
2.1  变量 17
2.1.1  命名 18
2.1.2  基本数据类型 18
2.1.3  基本数据类型的默认值 21
2.1.4  字面值 21
2.1.5  基本数据类型之间的转换 24
2.1.6  数组 26
2.2  运算符 29
2.2.1  赋值运算符 30
2.2.2  算术运算符 30
2.2.3  一元运算符 32
2.2.4  等价和关系运算符 33
2.2.5  条件运算符 34
2.2.6  instanceof运算符 36
2.2.7  位运算符和位移运算符 37
2.3  表达式、语句和块 39
2.3.1  表达式 39
2.3.2  语句 40
2.3.3  块 41
2.4  控制流程语句 41
2.4.1  if-then 41
2.4.2  if-then-else 42
2.4.3  switch 43
2.4.4  while 48
2.4.5  do-while 49
2.4.6  for 50
2.4.7  break 51
2.4.8  continue 53
2.4.9  return 55
2.5  枚举类型 55
2.6  泛型 58
2.6.1  泛型的作用 58
2.6.2  泛型类型 59
2.6.3  泛型方法 62
2.6.4  有界类型参数 63
2.6.5  泛型的继承和子类型 64
2.6.6  通配符 66
2.6.7  类型擦除 69
2.6.8  使用泛型的一些限制 71
2.7  关键字 74
第3章  面向对象编程基础 76
3.1  编程的抽象 76
3.2  类的示例 78
3.3  对象的接口 79
3.4  包 81
3.5  对象提供服务 82
3.6  隐藏实现的细节 82
3.6.1  为什么需要控制对成员的访问 83
3.6.2  Java的作用域 83
3.7  实现的重用 84
3.8  继承 84
3.8.1  Java中的继承 84
3.8.2  关于Shape的讨论 86
3.8.3  实战:继承的示例 87
3.9  is-a和is-like-a的关系 88
3.10  多态性 88
3.10.1  多态的定义 89
3.10.2  理解多态的好处 89
第4章  集合框架 90
4.1  集合框架概述 90
4.1.1  集合框架的定义 90
4.1.2  Java集合框架的优点 91
4.1.3  集合框架常见的接口 91
4.1.4  集合框架的实现 92
4.2  Collection接口 93
4.2.1  遍历集合 93
4.2.2  集合接口批量操作 94
4.3  Set接口 95
4.3.1  HashSet、TreeSet和LinkedHashSet的比较 95
4.3.2  Set接口基本操作 96
4.3.3  Set接口批量操作 97
4.4  Map接口 97
4.4.1  Map接口基本操作 97
4.4.2  Map接口批量操作 98
4.4.3  Map集合视图 98
4.5  List接口 99
4.5.1  集合操作 99
4.5.2  位置访问和搜索操作 100
4.5.3  List的迭代器 100
4.5.4  范围视图操作 100
4.5.5  List常用算法 101
4.6  Queue接口 101
4.7  Deque接口 102
4.7.1  插入 103
4.7.2  移除 103
4.7.3  检索 103
第5章  异常处理 104
5.1  异常捕获与处理 104
5.1.1  先从一个例子入手 104
5.1.2  try块 106
5.1.3  catch块 106
5.1.4  在一个异常处理程序中处理多个类型的异常 107
5.1.5  finally块 107
5.1.6  try-with-resources语句 108
5.2  通过方法声明抛出异常 110
5.3  如何抛出异常 111
5.3.1  throw语句 111
5.3.2  Throwable类及其子类 112
5.3.3  Error类 112
5.3.4  Exception类 112
5.4  异常链 113
5.4.1  访问堆栈跟踪信息 113
5.4.2  记录异常日志 114
5.5  创建异常类 115
5.5.1  一个创建异常类的例子 115
5.5.2  选择超类 115
5.6  未检查异常 116
5.7  使用异常带来的优势 116
5.7.1  将错误处理代码与“常规”代码分离 116
5.7.2  将错误沿调用堆栈向上传递 118
5.7.3  对错误类型进行分组和区分 119
5.8  try-with-resources语句的详细用法 120
5.8.1  手动关闭资源 121
5.8.2  Java 7中的try-with-resources介绍 121
5.8.3  try-with-resources在Java 9中的改进 123
5.9  实战:使用try-with-resources 123
第6章  I/O处理 126
6.1  I/O流 126
6.1.1  字节流 126
6.1.2  字符流 128
6.1.3  面向行的I/O 129
6.1.4  缓冲流 130
6.1.5  刷新缓冲流 130
6.1.6  扫描和格式化文本 130
6.1.7  命令行I/O 135
6.1.8  数据流 137
6.1.9  对象流 138
6.2  文件I/O 141
6.2.1  路径 141
6.2.2  Path类 143
6.2.3  Path的操作 143
6.2.4  文件操作 151
6.2.5  检查文件或目录 153
6.2.6  删除文件或目录 154
6.2.7  复制文件或目录 154
6.2.8  移动一个文件或目录 155
第7章  网络编程 156
7.1  网络基础 156
7.1.1  了解OSI参考模型 156
7.1.2  TCP/IP网络模型与OSI模型的对比 157
7.1.3  了解TCP 158
7.1.4  了解UDP 158
7.1.5  了解端口 159
7.2  Socket 160
7.2.1  了解Socket 160
7.2.2  实战:实现一个echo服务器 161
7.3  I/O模型的演进 163
7.3.1  UNIX I/O模型的基本概念 163
7.3.2  UNIX I/O模型 163
7.3.3  常见Java I/O模型 168
7.4  HTTP Client API概述 175
7.5  HttpRequest 176
7.6  HttpResponse 176
7.7  实战:HTTP Client API的使用例子 177
7.7.1  发起同步请求 177
7.7.2  发起异步请求 179
第8章  并发编程 180
8.1  了解线程 180
8.1.1  线程的状态 180
8.1.2  进程和线程 181
8.1.3  线程和纤程 182
8.1.4  Java中的线程对象 182
8.1.5  实战:多线程示例 185
8.2  并发编程是把双刃剑 187
8.2.1  死锁 187
8.2.2  饥饿 188
8.2.3  活锁 189
8.3  解决并发问题的常用方法 189
8.3.1  同步 189
8.3.2  原子访问 193
8.3.3  无锁化设计提升并发能力 194
8.3.4  缓存提升并发能力 194
8.3.5  更细颗粒度的并发单元 194
8.4  守卫块 195
8.5  不可变对象 197
8.5.1  一个同步类的例子 197
8.5.2  定义不可变对象的策略 199
8.6  高级并发对象 201
8.6.1  锁对象 201
8.6.2  执行器 203
8.6.3  并发集合 209
8.6.4  原子变量 210
8.6.5  并发随机数 211
第9章  基本编程结构的改进 212
9.1  直接运行Java源代码 212
9.1.1  Java 11可以直接运行Java源码 213
9.1.2  原理 214
9.2  局部变量类型推断 214
9.2.1  了解var声明变量的一些限制 215
9.2.2  原理 215
9.3  实战:var关键字的使用 215
9.4  字符串处理增强 216
9.4.1  支持Raw String Literals 216
9.4.2  原理 217
9.4.3  限制 217
9.4.4  Java 11常用String API 218
9.4.5  Java 12常用String API 219
9.5  实战:Java 11字符串的使用 220
9.5.1  Raw String Literals的使用 220
9.5.2  String API的使用 221
9.6  支持Unicode标准 223
9.6.1  了解Unicode 10 223
9.6.2  在控制台打印出Emoji 224
9.6.3  在GUI中显示出Emoji 224
9.7  Optional类 226
9.7.1  复现NullPointerException 226
9.7.2  Optional类的魔法 228
9.7.3  Optional类的其他方法 229
9.8  接口中的默认方法 232
9.9  实战:接口中默认方法的使用 234
9.10  接口中的静态方法 235
9.11  实战:接口中静态方法的使用 236
9.12  Switch表达式增强 237
9.12.1  实战:Switch表达式的例子 237
9.12.2  使用Switch表达式的注意事项 238
9.13  紧凑数字格式 238
9.14  文本块 239
第10章  垃圾回收器的增强 241
10.1  了解G1 241
10.1.1  了解Java垃圾回收机制 241
10.1.2  查找不再使用的对象 242
10.1.3  垃圾回收算法 242
10.1.4  分代垃圾回收 242
10.1.5  Java垃圾回收器的历史 243
10.1.6  了解G1的原理 243
10.1.7  了解G1 Young GC 245
10.1.8  了解G1 Mixed GC 246
10.2  了解ZGC 249
10.2.1  更短的停顿 249
10.2.2  ZGC的着色指针和读屏障 250
10.2.3  读屏障 251
10.2.4  GC工作原理 251
10.2.5  将未使用的堆内存返回给操作系统 253
10.3  了解Epsilon 253
10.4  了解Shenandoah 254
10.4.1  Shenandoah工作原理 254
10.4.2  性能指标 255
第11章  使用脚本语言 257
11.1  什么是JShell 257
11.2  为什么需要JShell 257
11.3  JShell的基本操作 258
11.3.1  启动JShell 258
11.3.2  退出JShell 258
11.3.3  使用JShell测试API 258
11.3.4  使用JShell操作流 259
11.3.5  获取帮助 259
11.4  实战:JShell的综合用法 260
11.4.1  定义方法 260
11.4.2  使用自定义的方法 261<

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP