• Java面试一战到底(基础卷)
  • Java面试一战到底(基础卷)
  • Java面试一战到底(基础卷)
  • Java面试一战到底(基础卷)
  • Java面试一战到底(基础卷)
21年品牌 40万+商家 超1.5亿件商品

Java面试一战到底(基础卷)

全新正版 极速发货

119.86 6.7折 179 全新

库存4件

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

作者周冠亚

出版社清华大学出版社

ISBN9787302564362

出版时间2020-11

装帧平装

开本16开

定价179元

货号1202155434

上书时间2024-06-28

徐小智的书店

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

   商品详情   

品相描述:全新
商品描述
作者简介
周冠亚,上海交通大学软件工程硕士,先后就职于万达网络科技有限公司、上海2345网络科技有限公司、美团点评,主要从事后端Java开发工作,拥有丰富的软件开发经验,熟悉Java、高并发、微服务、大数据及相关软件架构。

目录
篇 准备开发环境

章 开发环境搭建 1

1.1 Java语言版本构成及特性 1

1.2 JDK的安装 3

1.3 IntelliJ IDEA的安装 4

1.4 Apache Maven的安装 5

1.5 IntelliJ IDEA插件安装 5

1.6 小结 6

第二篇 数据结构和算法

第2章 数据结构 7

2.1 线性表 8

2.1.1 线性表的定义 8

2.1.2 线性表的类型 8

2.1.3 线性表的抽象类型的定义 8

2.1.4 线性表常见面试考点 9

2.2 顺序表 10

2.2.1 顺序表添加元素 10

2.2.2 顺序表查找元素 10

2.2.3 顺序表删除元素 11

2.2.4 顺序表的实现 11

2.2.5 顺序表常见面试考点 15

2.3 单链表 15

2.3.1 单链表添加元素 16

2.3.2 单链表查找元素 16

2.3.3 单链表删除元素 17

2.3.4 单链表的实现 17

2.3.5 单链表常见面试考点 23

2.4 双向链表 23

2.4.1 双向链表添加元素 24

2.4.2 双向链表查找元素 24

2.4.3 双向链表删除元素 25

2.4.4 双向循环链表 25

2.4.5 双向链表常见面试考点 26

2.5 栈 26

2.5.1 顺序栈 27

2.5.2 链式栈 31

2.5.3 栈常见面试考点 34

2.6 队列 34

2.6.1 顺序队列 35

2.6.2 循环队列 39

2.6.3 链式队列 43

2.6.4 优先队列 46

2.6.5 队列常见面试考点 50

2.7 树 50

2.7.1 树结构的相关概念 51

2.7.2 二叉树 52

2.7.3 斜树 52

2.7.4 满二叉树 53

2.7.5 完全二叉树 53

2.7.6 二叉树存储结构 54

2.7.7 二叉树的遍历 56

2.7.8 二叉排序树 56

2.7.9 AVL树 64

2.7.10 2-3-4树 79

2.7.11 红黑树 86

2.7.12 哈夫曼树 106

2.7.13 树常见面试考点 114

2.8 树和森林 115

2.8.1 普通树转化为二叉树 115

2.8.2 森林转化为二叉树 116

2.8.3 树的遍历 117

2.8.4 森林的遍历 117

2.8.5 树和森林常见面试考点 117

2.9 图 118

2.9.1 图的相关概念 118

2.9.2 图的邻接矩阵存储结构 119

2.9.3 图的邻接表存储结构 122

2.9.4 图的十字链表存储结构 126

2.9.5 图的遍历 132

2.9.6 最小生成树 136

2.9.7 Prim算法求解最小生成树 137

2.9.8 Kruskal算法求解最小生成树 146

2.9.9 Dijkstra算法求解最短路径 152

2.9.10 图的常见面试考点 159

第3章 算法 160

3.1 字符串相关算法 160

3.1.1 验证回文字符串 160

3.1.2 分割回文字符串 162

3.1.3 单词拆分 164

3.1.4 前缀树 167

3.1.5 有效的字母异位词 170

3.1.6 无重复字符的最长子串 172

3.1.7 电话号码的字母组合 174

3.1.8 串联所有单词的子串 176

3.1.9 字符串相关算法常见面试考点 179

3.2 数组相关算法 179

3.2.1 乘积优选连续子序列 179

3.2.2 求众数 181

3.2.3 旋转数组 183

3.2.4 移动零 186

3.2.5 求两个数组的交集 187

3.2.6 递增的三元子序列 189

3.2.7 搜索二维矩阵 191

3.2.8 除自身以外数组的乘积 194

3.2.9 数组相关算法常见面试考点 197

3.3 排序算法 197

3.3.1 冒泡排序算法 197

3.3.2 选择排序算法 199

3.3.3 插入排序算法 201

3.3.4 希尔排序算法 203

3.3.5 归并排序算法 206

3.3.6 快速排序算法 208

3.3.7 堆排序算法 213

3.3.8 计数排序算法 219

3.3.9 桶排序算法 221

3.3.10 基数排序算法 224

3.3.11 排序算法常见面试考点 227

第三篇 Java基础

第4章 Java中的集合框架 229

4.1 集合框架概述 229

4.2 ArrayList 230

4.2.1 ArrayList类的使用方式 230

4.2.2 ArrayList类的声明 232

4.2.3 ArrayList类的属性 233

4.2.4 ArrayList类的构造器 233

4.2.5 ArrayList类添加元素的方法 234

4.2.6 ArrayList类查询元素方法 238

4.2.7 ArrayList类更新元素方法 240

4.2.8 ArrayList类删除元素方法 240

4.2.9 ArrayList类批量方法 242

4.2.10 ArrayList类导出数组方法 244

4.2.11 ArrayList类排序方法 245

4.2.12 ArrayList类的迭代器 247

4.2.13 ArrayList常见面试考点 253

4.3 LinkedList 253

4.3.1 LinkedList类的使用方式 253

4.3.2 LinkedList类的声明 255

4.3.3 LinkedList类的属性 256

4.3.4 LinkedList类的内部类Node 256

4.3.5 LinkedList类的构造器 257

4.3.6 LinkedList类添加元素方法 257

4.3.7 LinkedList类查询元素的方法 260

4.3.8 LinkedList类更新元素方法 261

4.3.9 LinkedList类删除元素的方法 262

4.3.10 LinkedList类批量方法 263

4.3.11 LinkedList类的迭代器 265

4.3.12 LinkedList常见面试考点 269

4.4 Deque 270

4.4.1 Deque类的使用方式 270

4.4.2 Queue接口 271

4.4.3 Deque接口 272

4.4.4 LinkedList类的addFirst()方法 276

4.4.5 LinkedList类的addLast()方法 276

4.4.6 LinkedList类的offerFirst()方法 277

4.4.7 LinkedList类的offerLast()方法 277

4.4.8 LinkedList类的removeFirst()方法 278

4.4.9 LinkedList类的removeLast()方法 279

4.4.10 LinkedList类的pollFirst()方法 280

4.4.11 LinkedList类的pollLast()方法 280

4.4.12 LinkedList类的getFirst()方法 280

4.4.13 LinkedList类的getLast()方法 281

4.4.14 LinkedList类的peekFirst()方法 281

4.4.15 LinkedList类的peekLast()方法 281

4.4.16 LinkedList类的add()方法 282

4.4.17 LinkedList类的offer()方法 282

4.4.18 LinkedList类的remove()方法 282

4.4.19 LinkedList类的poll()方法 283

4.4.20 LinkedList类的element()方法 283

4.4.21 LinkedList类的peek()方法 283

4.4.22 LinkedList类的removeFirstOccurrence()方法 284

4.4.23 LinkedList类的removeLastOccurrence()方法 284

4.4.24 LinkedList类的push()方法 285

4.4.25 LinkedList类的pop()方法 286

4.4.26 Deque常见面试考点 286

4.5 PriorityQueue 286

4.5.1 PriorityQueue类的使用方式 286

4.5.2 PriorityQueue类的声明 287

4.5.3 PriorityQueue类的属性 288

4.5.4 PriorityQueue类的构造器 289

4.5.5 PriorityQueue类的add()方法 294

4.5.6 PriorityQueue类的offer()方法 294

4.5.7 PriorityQueue类的poll()方法 297

4.5.8 PriorityQueue类的peek()方法 297

4.5.9 PriorityQueue常见面试考点 298

4.6 HashMap 298

4.6.1 HashMap类的使用方式 298

4.6.2 Entry接口 300

4.6.3 Map接口 301

4.6.4 HashMap类的声明 307

4.6.5 HashMap类的属性 307

4.6.6 HashMap静态内部类Node 309

4.6.7 HashMap静态内部类TreeNode 311

4.6.8 HashMap的存储结构 312

4.6.9 HashMap的类构造器 312

4.6.10 HashMap类的put()方法 313

4.6.11 HashMap类的hash()方法 314

4.6.12 HashMap类的putVal()方法 314

4.6.13 HashMap类的resize()方法 318

4.6.14 HashMap类的putTreeVal()方法 323

4.6.15 HashMap类的treeifyBin()方法 324

4.6.16 HashMap类的remove()方法 330

4.6.17 HashMap类的get()方法 334

4.6.18 HashMap常见面试考点 335

4.7 LinkedHashMap 335

4.7.1 LinkedHashMap类的使用方式 336

4.7.2 LinkedHashMap类的声明 339

4.7.3 LinkedHashMap静态内部类Entry 339

4.7.4 LinkedHashMap类的属性 339

4.7.5 LinkedHashMap类的构造器 340

4.7.6 LinkedHashMap类的put()方法 341

4.7.7 LinkedHashMap类的get()方法 345

4.7.8 LinkedHashMap类的getOrDefault()方法 345

4.7.9 LinkedHashMap类的containsValue()方法 346

4.7.10 LinkedHashMap类的removeEldestEntry()方法 346

4.7.11 LinkedHashMap类常见面试考点 346

4.8 TreeMap 346

4.8.1 TreeMap类的使用方式 347

4.8.2 TreeMap类的声明 348

4.8.3 TreeMap静态内部类Entry 352

4.8.4 TreeMap类的属性 353

4.8.5 TreeMap类的构造器 354

4.8.6 TreeMap类的putAll()方法 355

4.8.7 TreeMap类的buildFromSorted()方法 355

4.8.8 TreeMap类的put()方法 358

4.8.9 TreeMap类的get()方法 361

4.8.10 TreeMap类的remove()方法 362

4.8.11 TreeMap类的firstKey()方法 365

4.8.12 TreeMap类的lastKey()方法 365

4.8.13 TreeMap类常见面试考点 366

4.9 HashSet 366

4.9.1 HashSet类的使用方式 366

4.9.2 HashSet类的声明 367

4.9.3 HashSet类的属性 367

4.9.4 HashSet类的构造器 368

4.9.5 HashSet类的add()方法 369

4.9.6 HashSet类的remove()方法 369

4.9.7 HashSet类的contains()方法 369

4.9.8 HashSet类的iterator()方法 370

4.9.9 HashSet类常见面试考点 372

4.10 LinkedHashSet 372

4.10.1 LinkedHashSet类的使用方式 372

4.10.2 LinkedHashSet类的声明 373

4.10.3 LinkedHashSet类构造器 373

4.10.4 LinkedHashSet类常见面试考点 374

4.11 TreeSet 374

4.11.1 TreeSet类的使用方式 375

4.11.2 TreeSet类的声明 377

4.11.3 TreeSet类的属性 379

4.11.4 TreeSet类的构造器 379

4.11.5 TreeSet类的add()方法 380

4.11.6 TreeSet类的first()方法 381

4.11.7 TreeSet类的last()方法 382

4.11.8 TreeSet类的descendingIterator()方法 382

4.11.9 TreeSet类常见面试考点 385

第四篇 Java并发编程

第5章 线程基础 387

5.1 线程的概念 387

5.1.1 进程与线程的关系 387

5.1.2 线程的概念常见面试考点 388

5.2 线程的创建 388

5.2.1 继承Thread类 388

5.2.2 实现Runnable接口 389

5.2.3 实现Callable接口 390

5.2.4 线程池 391

5.2.5 线程创建的常见面试考点 394

5.3 线程的生命周期 394

5.3.1 初始状态 395

5.3.2 就绪状态 396

5.3.3 运行中状态 396

5.3.4 阻塞状态 396

5.3.5 等待状态 396

5.3.6 超时等待状态 396

5.3.7 终止状态 396

5.3.8 线程的生命周期常见面试考点 397

5.4 线程中断 397

5.4.1 线程中断的概念 397

5.4.2 线程中断的响应 397

5.4.3 线程中断的操作 397

5.4.4 线程中断常见面试考点 401

5.5 线程的优先级和守护线程 401

5.5.1 线程优先级的特性 402

5.5.2 守护线程 406

5.5.3 线程优先级和守护线程常见面试考点 408

5.6 线程常用方法 408

5.6.1 sleep()方法 408

5.6.2 wait()方法 410

5.6.3 notify()/notifyAll()方法 411

5.6.4 yield()方法 413

5.6.5 join()方法 415

5.6.6 线程常用方法常见面试考点 416

5.7 线程组 416

5.7.1 线程组的概念 416

5.7.2 一级关联 417

5.7.3 多级关联 419

5.7.4 线程组自动归属 420

5.7.5 批量管理线程 421

5.7.6 线程组常见面试考点 422

5.8 Thread类代码解析 423

5.8.1 Thread类常用属性 423

5.8.2 Thread类的构造器 424

5.8.3 Thread类的start()方法 427

5.8.4 Thread类的run()方法 431

5.8.5 Thread类的exit()方法 431

5.8.6 Thread类的interrupt()方法 431

5.8.7 Thread类的interrupted()方法 434

5.8.8 Thread类的isInterrupted()方法 435

5.8.9 Thread类的join()方法 435

5.8.10 Thread类的sleep()方法 438

5.8.11 Thread类常见面试考点 441

5.9 volatile 442

5.9.1 硬件系统架构 442

5.9.2 缓存一致性问题 443

5.9.3 缓存一致性协议 444

5.9.4 as-if-serial 445

5.9.5 程序顺序规则 446

5.9.6 指令重排序 447

5.9.7 volatile内存语义 450

5.9.8 volatile常见面试考点 451

5.10 synchronized 451

5.10.1 synchronized的作用 451

5.10.2 synchronized的使用方式 452

5.10.3 synchronized死锁问题 462

5.10.4 synchronized的特性 464

5.10.5 synchronized的实现原理 464

5.10.6 synchronized的存储结构 469

5.10.7 自旋锁 473

5.10.8 锁消除 474

5.10.9 锁粗化 475

5.10.10 偏向锁 475

5.10.11 轻量级锁 478

5.10.12 重量级锁 480

5.10.13 synchronized实现线程通信 481

5.10.14 synchronized常见面试考点 488

5.11 ThreadLocal 488

5.11.1 ThreadLocal的使用方式 488

5.11.2 ThreadLocal原理分析 490

5.11.3 静态内部类ThreadLocalMap 492

5.11.4 ThreadLocal类的set()方法 499

5.11.5 ThreadLocal类的get()方法 499

5.11.6 ThreadLocal与内存泄漏 500

5.11.7 ThreadLocal常见面试考点 501

第6章 并发编程工具 502

6.1 AbstractQueuedSynchronizer 502

6.1.1 AbstractOwnableSynchronizer代码分析 502

6.1.2 AbstractQueuedSynchronizer内部类 503

6.1.3 AbstractQueuedSynchronizer的属性 506

6.1.4 AbstractQueuedSynchronizer独占模式 506

6.1.5 AbstractQueuedSynchronizer共享模式 516

6.1.6 AbstractQueuedSynchronizer条件模式 522

6.1.7 AbstractQueuedSynchroniz

   相关推荐   

—  没有更多了  —

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

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