编辑推荐
                                      《Java核心API编程/大数据开发工程师系列》特点:
  领先的实用技能——打造大数据开发工程师
  科学的训练模式——授人以渔而不只是作品临摹
  真实的项目驱动——行业知识与专业设计相呼应
  便捷的学习体验——传统教材与二维码革命性携手                 
内容简介
     《Java核心API编程/大数据开发工程师系列》深入探究Java高级实用技术的内容,从而进一步强化Java开发技能。主要内容包括集合框架、泛型、实用类、输入输出处理、多线程、Socket网络编程、XML解析等。
  为保证zui优学习效果,《Java核心API编程/大数据开发工程师系列》紧密结合实际应用,利用大量案例说明和实践,提炼含金量十足的开发经验。《Java核心API编程/大数据开发工程师系列》使用Java高级实用技术进行控制台程序开发,并配以完善的学习资源和支持服务,包括视频教程、案例素材下载、学习交流社区、讨论组等终身学习内容,为开发者带来全方位的学习体验,更多技术支持请访问课工场官网:www.kgc.cn。     
内页插图
          目录
   前言
第1章 集合框架和泛型
本章任务
任务1新闻标题查询功能
1.1.1 集合概述
1.1.2 List接口
1.1.3 Set接口
1.1.4 lterator接口
1.1.5 Map接口
1.1.6 使用Collections类操作集合
任务2改进新闻标题查询功能
1.2.1 泛型介绍
1.2.2 深入理解泛型
本章总结
本章练习
第2章 实用类
本章任务
任务1使用java.lang包中的常用类
2.1.1 JavaAPI介绍
2.1.2 枚举
2.1.3 包装类
2.1.4 使用Math类实现幸运抽奖
任务2在Java中操作字符串
2.2.1 使用String类操作字符串
2.2.2 StringBuffer类和StringBuilder类
任务3使用java.util包中的常用类
2.3.1 日期时间类
2.3.2 Random类
本章总结
本章练习
第3章 输入/输出和反射
本章任务
任务1使用I/O操作文件
3.1.1 使用File类操作文件或目录属性
3.1.2 Java的流
3.1.3 读写文本文件
3.1.4 读写二进制文件
3.1.5 重定向标准I/O
任务2在Java中读写对象信息
3.2.1 序列化概述
3.2.2 使用序列化保存对象信息
3.2.3 使用反序列化获取对象信息
3.2.4 对象引用的序列化
任务3在Java中使用反射机制
3.3.1 反射概述
3.3.2 反射的应用
本章总结
本章练习
第4章 注解和多线程
本章任务
任务1使用注解描述程序代码
4.1.1 注解概述
4.1.2 注解分类
4.1.3 读取注解信息
任务2使用多线程输出1-100
的整数
4.2.1 线程概述
4.2.2 在Java中实现多线程
4.2.3 线程的状态
4.2.4 线程调度
任务3使用线程同步实现银行取款
4.3.1 线程同步的必要性
4.3.2 线程同步的实现
任务4通过线程间通信解决生产者
消费者问题
4.4.1 线程间通信的必要性
4.4.2 在Java中实现线程间通信
本章总结
本章练习
第5章 网络编程技术
本章任务
任务1 查看本机的IP地址
5.1.1 网络概述
5.1.2 IP地址介绍
5.1.3 网络相关的重要概念及作用
任务2 使用基于TCP协议的Socket编程模拟实现用户登录功能
5.2.1 Socket简介
5.2.2 基于TCP协议的Socket编程
5.2.3 使用Socket编程实现用户登录
任务3 使用基于UDP协议的Socket编程模拟实现客户咨询功能
5.3.1 基于UDP协议的Socket编程
5.3.2 使用Socket编程实现客户咨询
任务4 搭建JUnit测试框架
5.4.1 软件测试概述
5.4.2 JUnit测试框架
5.4.3 JUnit3.x测试框架
5.4.4 JUnit4.x测试框架
5.4.5 测试套件
本章总结
本章练习
第6章 XML技术1
本章任务
任务1 使用XML存储数据
6.1.1 XML简介
6.1.2 XML文档结构
6.1.3 XML优势
6.1.4 在XML中使用命名空间
任务2 验证XML文档
6.2.1 使用DTD验证XML文档
6.2.2 使用Schema验证XML文档
任务3 使用DOM解析XML
6.3.1 解析XML概述
6.3.2 使用DOM读取XML数据
6.3.3 使用DOM维护XML数据
任务4 使用DOM4J解析×ML
6.4.1 DOM4J概述
6.4.2 使用DOM4J操作XML数据
本章总结
本章练习
第7章 综合练习——电影院
售票系统
本章任务
任务完成“电影院售票系统
综合练习
7.1.1 项目需求
7.1.2 项目环境准备
7.1.3 项目覆盖的技能点
7.1.4 难点分析
7.1.5 项目实现思路
本章总结
本章练习      
精彩书摘
     《Java核心API编程/大数据开发工程师系列》:
  从是否关心软件内部结构和具体实现角度,可分为白盒测试和黑盒测试。
  从软件开发过程的阶段,可分为单元测试、集成测试和确认测试等。
  简单介绍这几种测试的偏重点。
  (1)白盒测试
  白盒测试也称为结构测试或逻辑驱动测试,它是按照程序内部的结构来测试程序,这种方法是把程序看成一个打开的盒子,测试人员对程序内部的结构需要非常清晰明确。
  (2)黑盒测试
  黑盒测试也称为功能测试,它是通过测试来检测每个功能是否能够正常使用。在测试中,把程序看成一个不能打开的盒子,测试人员在完全不考虑程序的内部结构和内部特性的基础上,进行功能上的测试。
  (3)单元测试
  测试人员需要依据详细设计说明书和源程序清单,解该模块的需求、条件和逻辑结构,对软件中最小可测试单元进行检查和验证。所以,对于单元测试,很多都是程序员自己来完成。
  ……      
前言/序言
     丛书设计:
  准备好了吗?进入大数据时代!大数据已经并将继续影响人类的方方面面。2015年8月31日,经李克强总理批准,国务院正式下发《关于印发促进大数据发展行动纲要的通知》,这是从国家层面正式宣告大数据时代的到来!企业资本则以BAT互联网公司为首,不断进行大数据创新,从而实现大数据的商业价值。本丛书根据企业人才实际需求,参考历史学习难度曲线,选取“Java+大数据”技术集作为学习路径,旨在为读者提供一站式实战型大数据开发学习指导,帮助读者踏上由开发入门到大数据实战的互联网+大数据开发之旅!
  丛书特点:
  1.以企业需求为设计导向
  满足企业对人才的技能需求是本丛书的核心设计原则,为此课工场大数据开发教研团队,通过对数百位BAT-线技术专家进行访谈、对上千家企业人力资源情况进行调研、对上万个企业招聘岗位进行需求分析,从而实现技术的准确定位,达到课程与企业需求的高契合度。
  2.以任务驱动为讲解方式
  丛书中的技能点和知识点都由任务驱动,读者在学习知识时不仅可以知其然,而且可以知其所以然,帮助读者融会贯通、举一反三。
  3.以实战项目来提升技术
  本丛书均设置项目实战环节,该环节综合运用书中的知识点,帮助读者提升项目开发能力。每个实战项目都设有相应的项目思路指导、重难点讲解、实现步骤总结和知识点梳理。
  4.以互联网+实现终身学习
  本丛书可通过使用课工场APP进行二维码扫描来观看配套视频的理论讲解和案例操作,同时课工场(www.kgc.cn)开辟教材配套版块,提供案例代码及案例素材下载。此外,课工场还为读者提供了体系化的学习路径、丰富的在线学习资源和活跃的学习社区,方便读者随时学习。
  读者对象:
  1.大中专院校的老师和学生2.编程爱好者3.初中级程序开发人员4.相关培训机构的老师和学员    
				
 
				
				
					《Java精粹:从入门到精通,构建高可用与高性能系统》  内容简介:  在当今信息爆炸的时代,软件开发的需求日益增长,而Java作为一门历久弥新、生态完善的编程语言,依旧占据着举足轻重的地位。无论是构建企业级应用,还是探索新兴技术领域,扎实的Java基础和对核心API的深入理解都是必不可少的基石。《Java精粹:从入门到精通,构建高可用与高性能系统》正是为满足这一需求而精心打造的一本进阶读物。本书旨在带领读者,在掌握Java语言基本语法和面向对象思想的基础上,深入剖析Java核心API的精髓,并将其融会贯通,最终应用于实际开发中,构建出稳定、高效、可扩展的应用程序。  本书的编写思路,并非罗列API的百科式介绍,而是聚焦于“如何用”和“为何这样用”。我们将围绕Java SE(Standard Edition)提供的核心API,从最基础的数据类型、集合框架,到并发编程、IO流、网络通信,再到反射、注解、NIO等高级特性,层层递进,深入浅出。每一部分内容的讲解都力求回归实践,通过大量的代码示例、场景分析和常见问题解答,帮助读者建立起清晰的认知,掌握API的设计理念和最佳实践。  开篇,我们将从Java语言的基石——基本数据类型、包装类以及字符串处理入手。这部分内容虽然基础,却常常被开发者忽视其精妙之处。我们将详细解析各种数据类型的内存表示,理解其边界和精度问题,以及包装类在自动装箱/拆箱中的作用。对于字符串,我们将深入探讨`String`、`StringBuffer`和`StringBuilder`的性能差异,以及各种常用的字符串操作方法,为后续更复杂的文本处理打下坚实基础。  随后,我们进入Java集合框架(Java Collections Framework)的核心。 这是Java API中最强大、最常用的部分之一。本书将系统性地介绍`List`、`Set`、`Map`三大接口及其主要的实现类,如`ArrayList`、`LinkedList`、`HashSet`、`TreeSet`、`HashMap`、`TreeMap`等。我们不仅仅停留在API的使用层面,更会深入理解它们的底层实现原理,例如`ArrayList`的动态扩容机制、`LinkedList`的双向链表结构、`HashSet`的哈希表实现、`HashMap`的链表法与红黑树优化等。通过对比分析,读者将能够根据不同的应用场景,选择最适合的集合类型,从而优化程序性能。  并发编程是现代软件开发不可或缺的一环。 随着多核处理器的普及,如何有效地利用多线程来提升程序吞吐量和响应速度,成为了一项关键技能。《Java精粹》将系统地梳理Java并发编程的演进历程和核心概念。从最基础的`Thread`类和`Runnable`接口,到`synchronized`关键字和`wait()`、`notify()`、`notifyAll()`方法的协作机制,再到JDK 1.5引入的`java.util.concurrent`包,我们将深入讲解`ExecutorService`线程池、`Future`和`Callable`用于异步计算、各种同步器(如`CountDownLatch`、`CyclicBarrier`、`Semaphore`)以及并发集合(如`ConcurrentHashMap`、`CopyOnWriteArrayList`)的使用。本书将特别强调并发编程中的常见陷阱,如竞态条件、死锁、活锁等,并提供有效的防范策略和调试技巧。  IO流(Input/Output)是Java处理文件和网络数据交互的核心API。 本书将全面解析`java.io`包中的字节流(`InputStream`、`OutputStream`)和字符流(`Reader`、`Writer`),并重点介绍常用类如`FileInputStream`、`FileOutputStream`、`BufferedReader`、`BufferedWriter`、`ObjectInputStream`、`ObjectOutputStream`等。我们还将详细讲解缓冲流的应用,以及如何进行文件的随机访问(`RandomAccessFile`)。更重要的是,本书会引入NIO(New I/O),即`java.nio`包,它是Java IO的一次重大革新。我们将阐述NIO的四大核心组件:`Channel`(通道)、`Buffer`(缓冲区)、`Selector`(选择器)以及它们的协同工作原理。通过对NIO的深入讲解,读者将能够理解如何实现非阻塞式的IO操作,构建高性能的网络应用,例如高性能的网络服务器和客户端。  网络编程是Java的另一大强项。 本书将从TCP/IP协议族的简介开始,逐步深入到Java提供的网络API。我们将详细讲解`Socket`和`ServerSocket`类,用于实现可靠的TCP连接,并提供创建客户端和服务器端应用程序的完整示例。同时,我们也会介绍UDP协议和`DatagramSocket`、`DatagramPacket`的使用,了解其无连接、不可靠的特性。在NIO的基础上,我们将探讨基于`SocketChannel`和`ServerSocketChannel`的高性能网络通信实现,并引入`java.net.http`包(Java 11+)中更现代化、更便捷的HTTP客户端API,以及`java.net.URL`和`java.net.URLConnection`在处理URL资源时的应用。  反射(Reflection)是Java动态语言特性的重要体现。 它允许程序在运行时检查、修改类的属性、方法和构造器,甚至创建对象、调用方法。本书将深入讲解`java.lang.reflect`包中的核心类,如`Class`、`Field`、`Method`、`Constructor`,并提供丰富的代码示例,展示反射的强大功能,例如动态加载类、动态创建对象、动态调用方法等。同时,我们也会强调反射在框架开发、单元测试、序列化等方面的应用,并提醒读者注意反射可能带来的性能损耗和安全隐患。  注解(Annotation)作为Java 5引入的元数据机制,极大地简化了代码的编写,并催生了大量的框架。 本书将详细介绍Java内置注解(如`@Override`、`@Deprecated`、`@SuppressWarnings`)的使用,并重点讲解如何定义和使用自定义注解。我们将深入理解注解处理器(Annotation Processor)的工作原理,以及它们如何集成到构建工具(如Maven、Gradle)中,实现代码的自动化生成和校验。通过本书的学习,读者将能够理解Spring、Hibernate等主流框架如何巧妙地利用注解来实现依赖注入、ORM映射等核心功能。  此外,本书还将涵盖Java API的其他重要方面,例如:     日期与时间API(`java.time`包):深入解析`LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime`等类,以及`DateTimeFormatter`、`TemporalAdjuster`等工具,告别旧的`Date`和`Calendar`类带来的诸多不便。    异常处理(Exception Handling):系统讲解Checked Exception和Unchecked Exception的区别,以及try-catch-finally、throws等关键字的使用。我们将强调良好的异常处理策略,如何定义和抛出自定义异常,以及资源关闭的最佳实践(如try-with-resources)。    泛型(Generics):理解泛型的优势,包括类型安全和代码重用。我们将深入讲解泛型类、泛型接口、泛型方法,以及类型擦除(Type Erasure)的工作原理,帮助读者避免常见的泛型使用误区。    枚举(Enum):讲解枚举类型的定义和使用,以及其相对于传统常量类的优势,包括类型安全和方法定义。    序列化(Serialization):理解Java对象的序列化和反序列化机制,以及`Serializable`接口、`transient`关键字、`ObjectOutputStream`和`ObjectInputStream`的使用。我们将探讨序列化在网络传输、持久化存储等方面的应用,并讨论其安全性和性能问题。  《Java精粹:从入门到精通,构建高可用与高性能系统》 的目标是让读者不仅仅停留在API的“知其然”,更能达到“知其所以然”。我们相信,通过对Java核心API的深入理解和实践,读者将能够:     写出更健壮、更易维护的代码:理解API的设计理念,能够写出符合Java语言规范,并能有效处理各种边界情况的代码。    构建更高性能的应用程序:熟练运用集合框架、IO流、NIO以及并发编程技术,优化代码执行效率,提升系统吞吐量。    开发更具扩展性的系统:理解反射、注解等动态特性,能够更好地集成第三方框架,并为未来的功能扩展奠定基础。    提升问题诊断和解决能力:深入理解API的内部机制,在遇到疑难杂症时,能够快速定位问题根源,并给出有效的解决方案。  本书适合具备一定Java基础,希望进一步提升自身技术水平的开发者。无论是初级开发者希望夯实基础,还是中高级开发者希望深入理解Java内在机制,或是希望学习如何利用Java API构建高性能、高可用系统的工程师,都将从本书中获益良多。本书内容充实,讲解深入,示例丰富,是您通往Java精通之路的得力助手。