Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。
全书共六大部分,其要点如下。
第一部分(第1~2章)讲解计算机程序的基本执行流程与元素,以及数据背后的二进制表示,帮读者掌握编程的基本概念。
第二部分(第3~7章)讲解面向对象的编程原理与逻辑,涉及类、继承与多态、接口与抽象类、异常与常用基础类,让读者透彻了解Java的重要基础——面向对象。
第三部分(第8~12章)介绍泛型与容器及其数据结构和算法,涵盖泛型、列表和队列、各种Map和Set、堆与优先级队列等。
第四部分(第13~14章)介绍文件处理。涵盖文件的基本概念、二进制文件和字节流、文本文件和字符流、文件和目录操作,以及文件处理的一些高级技术,包括常见文件类型的处理、随机读写文件、内存映射文件、标准序列化机制,以及Jackson序列化。
第五部分(第15~20章)介绍并发,包括线程的传统基础知识和Java并发包。传统基础知识包括线程的基本概念与基本的同步、协作和中断机制;Java并发包涵盖原子变量、显式锁、显式条件、并发容器、异步任务执行服务、同步和协作工具类。
第六部分(第21~26章)介绍动态和声明式编程编程思路、API与技巧,涵盖反射、注解、动态代理、类加载机制、正则表达式、Java 8引入的函数式编程等。
这本书和别的书有什么不同?
简单来说,其他书大多教你怎么用,而这本书帮助你透彻理解,从基本概念到高层框架,剖析实现原理与JDK源代码,融合专业理论与应用实践,使你透彻理解Java编程的实现原理和思维逻辑,融会贯通。具体来说:
1)对于每个编程概念,不仅介绍了语法和用法,还分析了为什么要有这个概念,实现原理是什么,背后的思维逻辑是什么;
2)对于Java的主要API(如Java基础类、各种容器类、文件、并发包等),不仅介绍了用法、示例和应用,还剖析了大量JDK源代码,解释了其内部实现机制;
3)对于实践中常用的系统程序和框架,如键值数据库、消息队列、序列化框架、DI(依赖注入)容器、AOP(面向切面编程)框架、热部署、模板引擎等,本书利用基本API演示了其基本实现原理;
4)本书不仅注重实现原理,同样重视实用性,介绍了很多实践中常用的技术,包含了不少实际开发中积累的经验和教训,使读者可以少走一些弯路;
5)本书虽然是Java语言描述,但以更为通用的编程逻辑为主,融入了很多通用的编程相关知识,如二进制、编码、数据结构和算法、设计模式、操作系统、编程思维等;
6)本书高度注重表述,尽力站在读者的角度,循序渐进、简洁透彻、通俗易懂。
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编程进行了最为深入和透彻的阐述。
《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,同时通过实例介绍了如何应用这些技术。
内容简介
这是一部全面解析Java异步编程的著作,针对各种常见异步编程场景,从编程语言、开发框架等角度深入讲解了异步编程的原理和方法。作者是淘宝的资深Java技术工程师,在Java异步编程、并发编程领域有深厚的积累。
全书共9章,每章内容概括如下:
第1-2章主要介绍了异步编程的概念、适用场景,以及如何使用线程和线程池来实现异步编程;
第3章首先讲解JDK中的各种Future及其内部实现原理,然后讲解如何使用Future实现异步编程,以及如何结合JDK8 Stream 和Future实现异步编程;
第4章讲解了Spring框架中提供的异步执行能力,包含Spring中如何对TaskExecutor进行抽象,如何使用注解@Async实现异步编程,以及其内部实现原理;
第5章讲解了比较热门的反应式编程相关的内容,包含什么是反应式编程,如何使用反应式编程规范的库RxJava和Reactor库实现异步编程;
第6章讲解了Web Servlet的异步非阻塞处理,包含Servlet 3.0规范是如何提供异步处理能力的,Servlet 3.1规范是如何解决IO阻塞问题的,以及在Spring MVC中如何进行异步处理。
第7章讲解与Servlet技术栈并行存在的、由Spring5.0提出来的Spring WebFlux的异步非阻塞处理,包含Spring WebFlux的由来、Spring WebFlux的并发模型、两种编程模型,以及如何使用Spring WebFlux来进行服务开发、Spring WebFlux内部的实现原理。
第8章简要介绍了业界为方便实现异步编程而设计的一些框架和中间件,比如异步基于事件驱动的网络编程框架Netty,高性能RPC框架Apache Dubbo,高性能线程间消息传递库Disruptor,异步基、分布式、基于事件驱动的编程框架Akka,高性能分布式消息平台Apache RocketMQ 。
第9章介绍新兴的Go语言是如何从语言层面提供了强大的异步编程能力的。
本书注重理论与实践相结合,且每个异步技术点都附有代码实例,帮助读者加深理解。
本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架构设计的高度看待如何巧妙地开发出真正具备并发能力的系统。
G1是目前最成熟的垃圾回收器,已经广泛应用在众多公司的生产环境中。我们知道,CMS作为使用最为广泛的垃圾回收器,也有令人头疼的问题,即如何对其众多的参数进行正确的设置。G1的目标就是替代CMS,所以在设计之初就希望降低程序员的负担,减少人工的介入。但这并不意味着我们完全不需要了解G1的原理和参数调优。笔者在实际工作中遇到过一些因参数设置不正确而导致GC停顿时间过长的问题。但要正确设置参数并不容易,这里涉及两个方面:第一,需要对G1的原理熟悉,只有熟悉G1的原理才知道调优的方向;第二,能分析和解读G1运行的日志信息,根据日志信息找到G1运行过程中的异常信息,并推断哪些参数可以解决这些异常。本书尝试从G1的原理出发,系统地介绍新生代回收、混合回收、Full GC、并发标记、Refine线程等内容;同时依托于jdk8u的源代码介绍Hotspot如何实现G1,通过对源代码的分析来了解G1提供了哪些参数、这些参数的具体意义;最后本书还设计了一些示例代码,给出了G1在运行这些示例代码时的日志,通过日志分析来尝试调整参数并达到性能优化,还分析了参数调整可能带来的负面影响。
暂无详细内容介绍,四海清单 MKList.com
技术畅销书全新升级,案例式讲解,逐一分析和验证每个技术点,通俗易懂。本书涵盖多线程编程的核心库、方法、原理,解决高并发环境下的业务瓶颈。第1章讲解Java多线程的基础知识,包括Thread类的核心API使用。第2章讲解了在多线程中通过synchronized关键字对并发访问进行控制的方法,为读者学习同步知识打好坚实的基础。第3章介绍线程间通信,以在多线程中进行数据传递。第4章介绍并发访问时的同步处理实现,包括读写锁(Lock对象)等相关技术点。第5章剖析定时器Timer类的内部原理。定时器在Android开发中会有深入应用,是很重要的技术点。第6章介绍单例模式下多线程的全面解决方案。第7章对前面遗漏的知识点进行补充,使多线程的知识体系更加完整,尽量做到不出现技术空白点。
本站基于Calibre构建,感谢开源界的力量。所有资源搜集于互联网,如有侵权请邮件联系。
Github | Docker | Project
Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。
全书共六大部分,其要点如下。
第一部分(第1~2章)讲解计算机程序的基本执行流程与元素,以及数据背后的二进制表示,帮读者掌握编程的基本概念。
第二部分(第3~7章)讲解面向对象的编程原理与逻辑,涉及类、继承与多态、接口与抽象类、异常与常用基础类,让读者透彻了解Java的重要基础——面向对象。
第三部分(第8~12章)介绍泛型与容器及其数据结构和算法,涵盖泛型、列表和队列、各种Map和Set、堆与优先级队列等。
第四部分(第13~14章)介绍文件处理。涵盖文件的基本概念、二进制文件和字节流、文本文件和字符流、文件和目录操作,以及文件处理的一些高级技术,包括常见文件类型的处理、随机读写文件、内存映射文件、标准序列化机制,以及Jackson序列化。
第五部分(第15~20章)介绍并发,包括线程的传统基础知识和Java并发包。传统基础知识包括线程的基本概念与基本的同步、协作和中断机制;Java并发包涵盖原子变量、显式锁、显式条件、并发容器、异步任务执行服务、同步和协作工具类。
第六部分(第21~26章)介绍动态和声明式编程编程思路、API与技巧,涵盖反射、注解、动态代理、类加载机制、正则表达式、Java 8引入的函数式编程等。
这本书和别的书有什么不同?
简单来说,其他书大多教你怎么用,而这本书帮助你透彻理解,从基本概念到高层框架,剖析实现原理与JDK源代码,融合专业理论与应用实践,使你透彻理解Java编程的实现原理和思维逻辑,融会贯通。具体来说:
1)对于每个编程概念,不仅介绍了语法和用法,还分析了为什么要有这个概念,实现原理是什么,背后的思维逻辑是什么;
2)对于Java的主要API(如Java基础类、各种容器类、文件、并发包等),不仅介绍了用法、示例和应用,还剖析了大量JDK源代码,解释了其内部实现机制;
3)对于实践中常用的系统程序和框架,如键值数据库、消息队列、序列化框架、DI(依赖注入)容器、AOP(面向切面编程)框架、热部署、模板引擎等,本书利用基本API演示了其基本实现原理;
4)本书不仅注重实现原理,同样重视实用性,介绍了很多实践中常用的技术,包含了不少实际开发中积累的经验和教训,使读者可以少走一些弯路;
5)本书虽然是Java语言描述,但以更为通用的编程逻辑为主,融入了很多通用的编程相关知识,如二进制、编码、数据结构和算法、设计模式、操作系统、编程思维等;
6)本书高度注重表述,尽力站在读者的角度,循序渐进、简洁透彻、通俗易懂。