• Java无难事——详解Java编程核心思想与技术(第2版)
21年品牌 40万+商家 超1.5亿件商品

Java无难事——详解Java编程核心思想与技术(第2版)

全新正版 极速发货

99.61 5.9折 168 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者孙鑫

出版社电子工业出版社

ISBN9787121445545

出版时间2023-01

装帧平装

开本16开

定价168元

货号1202793049

上书时间2024-06-21

大智慧小美丽

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

   商品详情   

品相描述:全新
商品描述
作者简介
孙鑫,IT技术和教育专家,2009年中国教育杰出人物。具有20多年的软件开发和教育培训经验,精通多种程序语言和技术架构。曾出版多本畅销技术专著,包括《Java Web开发详解》 《VC++深入详解》《Struts 2深入详解》《Servlet/JSP深入详解》《详解Spring Boot : 从入门到企业级开发实战》等。

目录
目    录

第1章 Java初窥1
1.1 Java的起源1
1.2 Java能做什么1
1.3 相关概念2
1.3.1 JDK2
1.3.2 Java家族的三个成员2
1.3.3 Java 1、Java 2和Java 53
1.3.4 JRE3
1.4 安装JDK3
1.4.1 下载JDK 11(Java SE 11)4
1.4.2 安装JDK5
1.4.3 下载帮助文档6
1.5 Java的特性6
1.5.1 简单6
1.5.2 面向对象7
1.5.3 健壮7
1.5.4 安全7
1.5.5 结构中立7
1.5.6 可移植7
1.5.7 高性能8
1.5.8 解释执行8
1.5.9 平台无关8
1.5.10 多线程8
1.5.11 动态9
1.6 Java跨平台的原理9
1.6.1 Java源文件的编译过程9
1.6.2 Java解释器运行机制9
1.6.3 Java字节码的执行方式10
1.6.4 理解JVM10
1.7 第一个程序11
1.7.1 了解JDK11
1.7.2 编写第一个Java程序11
1.8 扫清Java征途中的两块绊脚石15
1.8.1 有用的PATH15
1.8.2 难缠的CLASSPATH17
1.9 交互式编程环境JShell19
1.10 为Java程序打包20
1.10.1 JAR文件20
1.10.2 将字节码文件打包到
JAR包中20
1.10.3 将目录中所有文件打包到
JAR文件中21
1.10.4 清单文件21
1.11 总结22
1.12 实战练习22
第2章 初识Java语言23
2.1 标识符23
2.2 数据类型23
2.2.1 整数类型24
2.2.2 浮点类型25
2.2.3 字符(char)型25
2.2.4 布尔(boolean)型26
2.2.5 String类型26
2.3 变量和字面常量26
2.3.1 变量26
2.3.2 字面常量27
2.4 类型转换的奥秘30
2.5 运算符32
2.5.1 赋值运算符32
2.5.2 自增和自减运算符32
2.5.3 算术运算符33
2.5.4 关系运算符34
2.5.5 布尔运算符34
2.5.6 位运算符35
2.5.7 移位运算符37
2.5.8 一元和二元运算符39
2.5.9 三元运算符39
2.5.10 优先级39
2.6 表达式与语句40
2.7 程序结构40
2.7.1 分支语句41
2.7.2 循环语句46
2.8 数组54
2.8.1 数组类型与声明数组54
2.8.2 创建数组55
2.8.3 使用数组56
2.8.4 匿名数组57
2.8.5 多维数组57
2.8.6 数组的初始值和越界59
2.9 分隔符60
2.10 注释60
2.10.1 传统注释60
2.10.2 JavaDoc注释61
2.11 Java中的关键字63
2.12 总结63
2.13 实战练习63
第3章 进入对象的世界65
3.1 面向对象思想65
3.2 对象的状态和行为66
3.2.1 对象都有一组固定的行为66
3.2.2 注意思维习惯66
3.3 面向对象编程的难点67
3.4 Java的类与对象67
3.5 字段(field)与方法68
3.5.1 字段68
3.5.2 方法68
3.5.3 方法的参数与返回值69
3.6 构造方法与new关键字71
3.7 方法重载74
3.8 特殊变量this75
3.9 关键字static79
3.9.1 静态字段79
3.9.2 静态方法81
3.9.3 static语句块82
3.10 常量82
3.11 枚举(enum)83
3.11.1 原始的枚举实现83
3.11.2 枚举类型84
3.11.3 枚举值的比较86
3.11.4 自定义枚举值86
3.12 总结87
3.13 实战练习87
第4章 高级面向对象编程88
4.1 继承88
4.2 方法的覆盖(override)90
4.3 多态(polymorphism)91
4.3.1 何为多态91
4.3.2 多态的实际应用92
4.3.3 Java编译器如何实现多态94
4.3.4 类型转换94
4.3.5 协变返回类型96
4.3.6 在构造方法中调用被覆盖的
方法97
4.4 特殊变量super98
4.4.1 访问父类被子类覆盖的方法或
隐藏的变量98
4.4.2 调用父类构造方法100
4.5 封装与private103
4.6 对外发布的接口――public107
4.7 再谈final109
4.7.1 final类109
4.7.2 final方法109
4.7.3 final参数110
4.8 对象的销毁110
4.9 面向对象的四个基本特性111
4.10 总结112
4.11 实战练习112
第5章 包和访问控制114
5.1 在包中的类114
5.2 导入类117
5.3 静态导入119
5.4 静态导入枚举类型120
5.5 访问控制121
5.5.1 类的访问说明符121
5.5.2 类成员的访问说明符122
5.6 总结126
5.7 实战练习126
第6章 抽象类与接口127
6.1 抽象方法和抽象类127
6.2 接口131
6.3 接口中的数据成员133
6.4 接口的继承与实现133
6.5 接口的应用135
6.6 深入接口――通信双方的协议137
6.7 接口的默认方法和静态方法139
6.7.1 默认方法139
6.7.2 静态方法144
6.8 接口的私有方法145
6.9 总结146
6.10 实战练习147
第7章 内部类(Inner Class)149
7.1 创建内部类149
7.2 访问外部类150
7.3 内部类与接口153
7.4 局部内部类155
7.5 匿名内部类157
7.5.1 创建匿名内部类157
7.5.2 匿名内部类的构造方法159
7.6 静态内部类160
7.7 内部类的继承与覆盖161
7.7.1 内部类的继承161
7.7.2 内部类的覆盖162
7.8 内部类规则总结163
7.9 回调与事件机制163
7.9.1 回调(callback)163
7.9.2 事件(event)167
7.10 总结169
7.11 实战练习169
第8章 异常处理170
8.1 什么是异常170
8.2 捕获异常172
8.3 使用finally进行清理175
8.4 抛出异常与声明异常179
8.5 RuntimeException182
8.6 创建自己的异常体系结构184
8.7 try-with-resources188
8.7.1 自动关闭资源188
8.7.2 声明多个资源189
8.7.3 catch多个异常191
8.7.4 使用更具包容性的类型
检查重新抛出异常192
8.8 总结193
8.9 实战练习193
第9章 深入字符串194
9.1 String类194
9.2 ==运算符与equals方法194
9.3 compareTo方法197
9.4 字符串拼接198
9.5 操作字符串198
9.5.1 获取字符串的长度199
9.5.2 查找字符或字符串199
9.5.3 判断字符串的开始与结尾200
9.5.4 获取指定索引位置的字符200
9.5.5 截取子字符串201
9.5.6 分割字符串201
9.5.7 替换字符或字符串202
9.5.8 合并字符串203
9.5.9 重复字符串203
9.5.10 大小写转换203
9.5.11 去除字符串首尾空白204
9.5.12 判断字符串是否为空204
9.5.13 提取字符串的行流205
9.5.14 与字节数组相互转换205
9.6 StringBuffer类和
StringBuilder类206
9.7 格式化输出207
9.7.1 格式说明符208
9.7.2 参数索引208
9.7.3 格式说明字符208
9.7.4 宽度和精度209
9.7.5 标志字符210
9.7.6 生成格式化的String对象211
9.8 正则表达式211
9.8.1 正则表达式的优点211
9.8.2 一切从模式开始213
9.8.3 创建正则表达式213
9.8.4 量词216
9.8.5 String类的正则表达式方法216
9.8.6 Pattern和Matcher218
9.8.7 邮件地址验证218
9.8.8 获取组匹配的内容220
9.8.9 替换字符串221
9.9 总结221
9.10 实战练习222
第10章 Java应用223
10.1 再论引用类型223
10.1.1 引用类型――数组223
10.1.2 方法传参225
10.2 操作数组226
10.2.1 数组的复制226
10.2.2 数组的排序229
10.2.3 搜索数组中的元素232
10.2.4 填充数组233
10.3 基本数据类型与封装类234
10.3.1 基本数据类型与封装类
对象的互相转换235
10.3.2 封装类对象与字符串的
互相转换236
10.3.3 基本数据类型与字符串的
互相转换236
10.3.4 自动装箱与拆箱236
10.4 对象的克隆237
10.5 国际化与本地化242
10.5.1 Locale242
10.5.2 资源包244
10.5.3 消息格式化248
10.6 总结249
10.7 实战练习249
第11章 泛型250
11.1 为什么需要泛型250
11.2 泛型与基本数据类型253
11.3 泛型类中的数组254
11.4 元组256
11.5 泛型接口258
11.5.1 一个简单的泛型接口258
11.5.2 匿名内部类实现泛型接口259
11.5.3 map机制的实现260
11.6 泛型方法262
11.6.1 简单的泛型方法262
11.6.2 完善映射机制的实现263
11.7 通配符类型264
11.7.1 通配符的子类型限定266
11.7.2 通配符的超类型限定267
11.8 类型参数的限定269
11.9 深入泛型机制270
11.10 泛型的一些问题272
11.10.1 接口的二次实现272
11.10.2 方法重载273
11.10.3 泛型类型的实例化273
11.10.4 异常274
11.11 使用泛型的限制275
11.12 类型参数的命名约定275
11.13 总结275
11.14 实战练习276
第12章 Lambda表达式277
12.1 理解Lambda表达式277
12.2 Lambda表达式的语法278
12.3 函数式接口279
12.4 内置函数式接口280
12.5 方法引用281
12.6 构造方法引用282
12.7 数组引用284
12.8 总结284
12.9 实战练习284
第13章 集合类285
13.1 集合框架中的接口与实现类285
13.1.1 集合框架中的接口286
13.1.2 集合框架中的实现类286
13.1.3 Collection类型的集合286
13.1.4 Map类型的集合288
13.2 迭代289
13.2.1 Iterator接口289
13.2.2 迭代器与“for each”循环291
13.2.3 新增的forEach方法292
13.2.4 ListIterator接口293
13.2.5 迭代与回调295
13.3 数据结构简介296
13.3.1 表296
13.3.2 栈299
13.3.3 队列299
13.4 List299
13.4.1 ArrayList300
13.4.2 LinkedList303
13.4.3 List集合类的性能306
13.5 Set309
13.5.1 HashSet309
13.5.2 TreeSet314
13.5.3 LinkedHashSet315
13.5.4 Set集合类的性能316
13.6 Queue317
13.6.1 Queue接口317
13.6.2 PriorityQueue类318
13.6.3 Deque接口319
13.7 Collections类320
13.7.1 排序集合中的元素320
13.7.2 获取最大和最小元素322
13.7.3 在集合中搜索323
13.7.4 获取包装器集合324
13.8 再探Comparator接口325
13.9 深入Map类型328
13.9.1 Map接口328
13.9.2 Map的工作原理329
13.9.3 HashMap331
13.9.4 TreeMap332
13.9.5 LinkedHashMap333
13.9.6 Map性能测试334
13.10 遗留的集合336
13.10.1 Enumeration接口336
13.10.2 Vector类336
13.10.3 Stack类337
13.10.4 Hashtable类337
13.10.5 Properties类337
13.10.6 BitSet类339
13.11 集合工厂方法340
13.11.1 of方法340
13.11.2 copyOf方法341
13.12 总结342
13.13 实战练习342
第14章 Stream344
14.1 什么是Stream344
14.2 创建流345
14.3 并行流与串行流348
14.4 有序流和无序流348
14.5 中间操作348
14.5.1 筛选和截断349
14.5.2 映射351
14.5.3 排序352
14.5.4 peek353
14.6 终端操作354
14.6.1 遍历354
14.6.2 查找与匹配355
14.6.3 最大/最小与计数356
14.6.4 收集统计信息357
14.6.5 reduce357
14.6.6 collect361
14.7 并行流的性能366
14.8 总结368
14.9 实战练习369
第15章 Class类与反射API370
15.1 Class<T>类370
15.2 获取类型信息372
15.2.1 获取方法和字段信息372
15.2.2 获取基类和接口信息374
15.2.3 获取枚举信息375
15.2.4 获取泛型信息376
15.2.5 获取注解信息379
15.3 检测类型379
15.4 使用Class和反射创建类的
对象380
15.5 使用反射调用对象的方法383
15.6 使用反射修改对象的字段384
15.7 依赖注入容器385
15.8 动态代理391
15.9 ClassLoader395
15.9.1 类加载器的分类396
15.9.2 类加载器的加载机制397
15.9.3 自定义类加载器398
15.10 适可而止400
15.11 方法句柄401
15.12 服务加载器403
15.13 总结407
15.14 实战练习407
第16章 注解(Annotation)408
16.1 预定义的注解408
16.1.1 @Override408
16.1.2 @Deprecated409
16.1.3 @SuppressWarnings410
16.1.4 @SafeVarargs411
16.1.5 @FunctionalInterface412
16.2 自定义注解412
16.3 元注解413
16.3.1 @Documented414
16.3.2 @Retention414
16.3.3 @Target415
16.3.4 @Inherited416
16.3.5 @Repeatable416
16.4 注解与反射417
16.5 编写注解处理器421
16.5.1 依赖注入容器的注解实现421
16.5.2 使用注解生成数据库表423
16.6 总结428
16.7 实战练习428
第17章 多线程429
17.1 基本概念429
17.1.1 程序和进程429
17.1.2 线程429
17.2 Java对多线程的支持430
17.3  Java线程430
17.3.1 Thread类431
17.3.2 创建任务432
17.3.3 让步433
17.3.4 休眠434
17.3.5 优先级436
17.3.6 加入一个线程437
17.3.7 捕获线程的异常438
17.3.8 后台线程440
17.3.9 线程组442
17.3.10 线程的状态442
17.4 线程同步443
17.4.1 错误地访问共享资源444
17.4.2 同步语句块445
17.4.3 同步方法446
17.4.4 死锁448
17.5 线程本地存储450
17.5.1 使用ThreadLocal类450
17.5.2 ThreadLocal的实现原理452
17.6 生产者与消费者453
17.7 线程的终止458
17.7.1 取消一个任务458
17.7.2 在阻塞中中止459
17.7.3 注意清理461
17.8 线程池462
17.9 总结474
17.10 实战练习475
第18章 Java常用工具类476
18.1 java.lang.Math类476
18.2 随机数479
18.2.1 Math.random方法479
18.2.2 Random类480
18.2.3 ThreadLocalRandom类481
18.3 大数字运算482
18.3.1 BigInteger482
18.3.2 BigDecimal486
18.4 日期时间工具491
18.4.1 Date类492
18.4.2 DateFormat类493
18.4.3 SimpleDateFormat类495
18.4.4 Calendar类497
18.5 Java 8新增的日期/时间API499
18.5.1 新的日期/时间类500
18.5.2 构造日期/时间对象500
18.5.3 格式化和解析日期/时间
字符串501
18.5.4 操作日历字段502
18.5.5 计算时间

—  没有更多了  —

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

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