这是一部从 工作原理 和 工程实践 两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。 自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。 第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。 全书一共13章,分为五大部分: 第壹部分(第1章)走近Java 系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。 第二部分(第2~5章)自动内存管理 详细讲解了Java的内存区域与内存溢出、垃圾收集器
内容简介本书是Java并发编程领域公认的标准性著作,第1版自2015年出版以来,累计印刷23次,销售超过10万册,全网读者评论超过40000条,口碑爆棚。第2版在第1版的良好基础上,与时具进,反映了Java技术的最新发展;去芜存菁:处理了广大读者反馈的问题;博采众长:吸收了行业专家的宝贵建议;厚积薄发,融入了作者近8年在Java并发编程方面积累的新技术和新经验。新增和修订的内容超过50%,无论是理论、方法还是实践,都有了大幅度的提升。本书从并发编程的底层实现机制入手,围绕JDK源码、JVM、CPU等多角度详细介绍了设计Java并发程序的框架、原理、核心技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,利用Java平台的基础并发功能快速地构建大规模的并发应用。本书具体包含如下核心内容:?Java并发编程的
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与*有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。
本书是一份旨在帮助Java求职者在面试中脱颖而出的重要指南。本书涵盖Java并发编程的多个关键主题,如并发原理和线程安全、并发关键字原理、并发锁和死锁、并发容器和工具、并发线程池以及并发设计与实战等。本书的特色在于将 大厂 名企 的面试问题和实践经验相结合,不仅对面试问题和面试官心理进行深度剖析,还对面试问题解答和相关技术点进行详细介绍,这样更有利于读者全面理解相关知识点和技术,并能够在实际工作和面试中灵活应用。 通过学习本书,读者可以深入了解 大厂 名企 的面试问题和实践经验。本书提供的面试问题解答和宝贵经验将有助于读者在实际工作中提升自己的能力,并在面试中表现更加出色,提高面试成功率,斩获高薪Offer(职位)。无论是对面试准备还是对技能提升而言,本书都是读者不可或缺的指南,能够帮助读者在职业
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,*后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合有Java基础的程序开发人员阅读。 本书涵盖的内容包括: 并发性与线程安全性的基本概念 构建以及组合各种线程安全类的技术 使用java.util.concurrent包中的各种并发构建基础模块 性能优
本书由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),是程序员的优选Java指南。本版针对Java SE 9、10和 11全面更新。 全书共12章,为你指明Java的学习路径!。 ☉第1章概述Java语言的特色功能; ☉第2章详细论述如何下载和安装JDK以及本书的程序示例; ☉第3章开始讨论Java 语言,包括变量、循环和简单的函数; ☉第4章介绍面向对象两大基石中极要的一个概念 封装,以及Java语言实现封装的机制,即类与方法; ☉第5章介绍面向对象的另一个重要概念 继承,继承使程序员可以使用现有的类,并根据需要进行修改; ☉第6章展示如何使用Java的接口(可帮助你充分获得Java的完全面向对象程序设计能力)、lambda表达式(用来表述可以在以后某个时间点执行的代码块)和内部类; ☉第7章讨论异常处理,并给出大量实用的调试技巧; ☉第8章概要介绍
本书旨在帮助Java求职者在面试中脱颖而出,内容涵盖Java通用架构方案的多个关键主题,如微服务架构、高性能架构、高可用架构、高并发架构、分布式原理和分布式缓存等。本书的特点在于,它将互联网领域的名企、大厂的面试问题与实际案例相结合,对面试问题和面试官的心理进行深度剖析,并将面试问题的相关解答和相应技术点详细展开,以帮助读者全面理解相关概念和技术,并能在面试和实际工作中灵活应用。 通过学习本书,读者可以深入了解名企、大厂的实际案例和相关问题的解决方案。书中总结的一些宝贵经验将有助于读者在面试中表现得更加出色,增加成功的机会,斩获高薪Offer,并提升自己的实际工作能力。读者无论是要做好面试准备还是要适应实际工作需求,都能从本书中获益。
本书第3版深入研究JavaScript语言,详细介绍如何编写漂亮、高效的代码。更新的内容包括:类表示法、箭头函数、迭代器、异步函数、模板字符串和块作用域等功能的全新内容。 本书通过大量示例进行讲解,并提供大量习题和完整项目案例,为读者提供了编写自己的程序的实践经验。书中不仅介绍JavaScript语言的基本结构以及控制结构、函数和数据结构,还详细介绍错误处理和错误修复、模块化和异步编程,以及Web浏览器编程。
全书共分为14章,详细介绍了JavaWeb应用程序开发相关的技术,包含的内容如下,JavaWeb应用开发概述、HTML与CSS网页开发基础、开发环境的搭建、Tomcat、Servlet技术、Thymeleaf渲染、会话控制、JavaScript脚本语言、Vue框架、Ajax技术,以及过滤器和监听器等内容。书中所有知识都结合具体实例进行介绍,涉及的代码给出了详细注释。并且提供了一个书城项目的综合案例,融合了本书所讲内容,进一步讲解JavaWeb在实际开发中的应用。
本书从整个Java后端研发的视角,通过大量的案例分析日常开发过程中可能遇到的150多个坑点及其解决方案,并讨论一些best实践。这些坑点涵盖编码(不仅涉及Java语法层面,还涉及多线程、连接池、数据库索引、事务、日志、Spring框架等层面)、系统设计、代码安全等方面。本书在剖析这些坑点时还会讲解排查思路和相关工具的使用,让读者不仅能了解常见的坑点,还能具备一定的问题分析能力,以便日后自行排查更多的坑点。
本书共11个项目,涉及 Java语言基础、类和对象、封装、重载、继承、抽象类、接口和多态、数组与集合、异常和异常处理、文件输入/输出、图形用户界面设计、多线程等内容。每个项目的内容都经过精心设计,包括项目综述、知识要点、任务实现、实战练习,并将相关知识点巧妙地嵌入到每个项目中。学生在完成项目任务的同时,可掌握相关知识,发展职业能力。 本书为新形态教材,书中除了提供电子教案、课件、源代码、习题详解等教学资源外,还特别录制了丰富的微课视频,针对重点、难点知识进行了详细的讲解。此外,书中还结合具体的教学项目融入了10个课程思政案例,供读者参考学习。 本书可作为高校计算机相关专业的教材,同时也可作为广大计算机爱好者的学习用书和各类Java程序设计培训班的教学用书。
本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。本书涵盖23种传统的设计模式、11种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了15种反模式。作者讲解这些模式的时候不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。本书的特点在于把Java这种成熟的编程语言以及该语言最近新增的特性与各种设计模式结合起来,告诉读者怎样充分发挥Java的特性与优势,从而更好地实现设计模式,避免陷入空谈概念而无法落实的境地。
本书是国内系统分析Spring源代码的著作,也是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔,Java开发者社区和Spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起Java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,对过时的内容进行了更新,并增加了大量内容,使本书更趋近于完美。 本书从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,还能从Spring优雅的实现源码中一窥Java语言的精髓。本书在开篇之前对Spring的设计理念和整体架构进行了全面的介绍,能让读
本书是一部全面且深入的 Java 代码审计指南,旨在帮助读者掌握 Java Web 应用中常见安全漏洞的识别、分析及防御技能。全书共分 4 篇,从基础到实战,系统地介绍 Java 代码审计的各个方面。 基础篇(第 1 章)主要介绍 Java Web 环境的搭建步骤、常见的动态调试方法以及代码审计工具的基本使用方法,为后续的深入学习打下坚实基础。 入门篇(第 2 章~第 3 章)首先介绍 Java 代码审计中发现的常见漏洞,然后通过实战演练,以开源 Java 漏洞靶场 Java-sec-code 为蓝本,运用代码审计工具 CodeQL 进行审计。 高级篇(第 4 章~第 6 章)分别针对 Java Web 开发中常见的 SSM、SSH 及 Spring Boot + MyBatis 等框架进行详细介绍,并选取其中典型的框架漏洞进行深入剖析和调试分析。 实战篇(第 7 章)通过真实 Java Web 应用程序的审计案例,详细展示如何在实践中运用 CodeQL 等审计工具快
第1章介绍Java并发编程的挑战,会向读者说明可能会遇到哪些问题,以及如何解决。 第2章Java并发编程的底层实现原理,从CPU和JVM2个层面剖析。 第3章详细深入介绍了Java的内存模型。 第4章从介绍多线程技术带来的好处开始,讲述了如何启动和终止线程以及线程的状态,详细阐述了多线程之间进行通信的基本方式和等待/通知经典范式。 第5章介绍Java并发包中与锁相关的API和组件,以及这些API和组件的使用方式和实现细节。 第6章介绍了Java中的大部分并发容器及其实现原理。 第7章介绍了Java中的原子操作类,并给出一些实例。 第8章介绍了Java中提供的很多并发工具类。 第9章介绍了Java中的线程池实现原理和使用建议。 第10章介绍了Executor框架的整体结构和成员组件。第11章介绍几个并发编程的实战与并发编程问题排查。
《程序员面试宝典(第5版)》是《程序员面试宝典》的第5 版,在保留第4 版的数据结构、面向对象、程序设计等主干的基础上,修正了前4 版近40 处错误,解释清楚一些读者提出的问题,并使用各大IT 公司及相关企业**面试题(2014-2015)替换和补充原内容,以反映自第4 版以来两年多的时间内所发生的变化。 《程序员面试宝典(第5版)》取材于各大公司面试真题(笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试),详细分析了应聘程序员(含网络、测试等)职位的常见考点。《程序员面试宝典(第5版)》不仅对传统的C 系语言考点做了详尽解释,还根据外企出题**特点,新增加了对友元、Static、图形/音频、树、栈、ERP 等问题的深入讲解。*后《程序员面试宝典(第5版)》着力讲述了如何进行英语面试和电话面试,并对求职中签约、毁约的注意事项及
本书由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),本版针对Java 11全面更新。 全书共分12章。 第1章介绍了Java中的流库; 第2章涵盖输入/输出处理,探讨了Java 11中引入的广受欢迎的改进和优化; 第3章介绍了XML,展示如何解析XML文件、生成XML和使用XSL转换; 第4章讲解了网络API,以及怎样连接到服务器、实现自己的服务器、创建HTTP连接,并讨论了新的HTTP客户端; 第5章介绍了数据库编程,重点讲解JDBC,即Java数据库连接API; 第6章涵盖如何使用新的日期和时间库来处理日历及时区; 第7章讨论国际化; 第8章介绍3种处理代码的技术; 第9章讲解从Java 9开始引入的Java平台模块系统,以促进Java平台和核心类库的有序演化; 第10章继续介绍Java安全模型,展示怎样编写类加载器和安全管理器,以及允许使用消息、代码签名、授权和认证及加密
本书是一本讲解Java程序员面试笔试的实用工具书。在写法上,除了讲解如何解答Java程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易地理解和掌握。 本书囊括Java程序员面试笔试过程中的各类知识点。在内容广度上,搜集了近3年来几乎所有IT企业针对Java岗位的笔试面试涉及的知识点,包括但不限于Java核心知识点(容器、多线程和IO等)、Java Web(Struts、MyBatis、Kafka、Spring等)、数据库,所选择知识点均为企业招聘时所考查的知识点。在讲解的深度上,本书由浅入深,详细分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对其进行深度剖析,让读者不仅能够理解每个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容很多是其他同类书籍所没有的。书中根据知识点进行分门别类,结构合理,条理清晰,便
JavaScript是Web开发中重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。 《JavaScript DOM编程艺术(第 2版)》是由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的 之作。 《JavaScript DOM编程艺术(第 2版)》在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批到关重要的JavaScript编程原则和实践,并全面探讨了HTML5以及jQuery等JavaScript库。读者将看到JavaScript、HTML5和CSS如何协作来创建易用的、与标准兼容的Web设计,掌握使用JavaScript和DOM通过客户端动态效果和用户控制的动画来加强Web页面的必 备技术
Java是目前应用非常广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。本书以Java程序性能优化为主线,系统地阐述与其相关的知识点,帮助读者掌握编写高质量Java程序的技巧,让他们感受Java开发中的大智慧,编写出更加优美的程序。 《Java程序性能优化实战》共6章,从软件设计、软件编码、JVM调优及程序故障排除等方面介绍Java程序性能优化的方法。第1章介绍性能的基本概念、木桶原理、Amdahl定律,以及系统调优的步骤和注意事项;第2章从设计层面介绍与性能相关的设计模式及常用的优化组件;第3章从代码层面介绍如何编写高性能的Java程序;第4章介绍并行程序开发,以及如何通过多线程提高系统的性能;第5章立足于JVM 虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能;第6章介绍获取和监控程序及系统性能指标的各种工具,
内容介绍 很多JVM的底层技术细节你是否只了解表面? 面对JVM Crash或性能调优方面的问题时你是否会束手无策? 面对上层Java应用发生的偏离预期的行为是否会不知所措? 这本书以源码分析为基础,从运行时、垃圾回收器、即时编译器3个维度全面、深入解析HotSpot VM的底层实现和工作机制,同时与上层的Java语言和库结合,指导读者解决JVM开发、JVM调优和JVM排错方面遇到的各种问题。 广度与深度兼顾:广度上涵盖Graal VM、CDS、Instrumentation、编译重放、非标准字节码、RTM锁、JIT调试工具、EpsilonGC/ShenandoahGC/ZGC、G1字符串去重等重要知识点;深度上深入解析了C1、C2、G1GC、ObjectMonitor、Mutex、模板解释器等的底层实现。 全书共 11 章,参考 OpenJDK 社区的划分方式来组织内容,分为运行时、即时编译器、垃圾回收器三个部分。 部分(第1~6章) 运行时 首先,从Java生态系统的
拥抱软件开发的未来!《OpenAl API编程实践(Java版)》是Java开发者学习使用ChatGPT和OpenAI API构建智能应用的理想帮手。 本书从基础入手,详细阐述如何以编程方式使用ChatGPT。你将学习ChatGPT和OpenAl API的基础知识,包括身份验证、发送提示、生成响应、在Playground中进行测试以及处理错误等。通过完成实战练习,你将进一步了解不同API功能的实际应用。此外,你将学习如何使用GPT-4、GPT-3.5、Whisper、DALL-E等模型,为自己的AI应用程序注入强大动力。 本书将帮助开发人员认识到,生成式Al工具并不能取代软件开发工作,而是作为辅助工具,来帮助提高开发效率!你将学会利用ChatGPT作为Java Al结对程序员,为Java应用程序提供强大的NLP功能,从而轻松理解各种格式的非结构化文本。最终,你将能逐步应用所学知识,创建能自动处理Slack和Discord消息的智能聊天机器人。 随着人工智能这
《Java Web项目开发案例实战 Spring Boot MyBatis Hibernate Spring Cloud(微课视频版)》一书提供了大量的实战项目案例,这些实战案例业务上涵盖了多个行业应用,技术上结合Spring Boot、Hibernate、MyBatis、MyBatis-Plus、Shiro和Swagger等框架的特点来实现不同的功能,内容上全面阐述了实际项目开发中的各个步骤,包括项目功能设计、数据库设计、框架搭建、具体代码编写和测试,从而帮助广大读者充分了解一个项目如何从零开始,一步步实现一个以Spring Boot为基础框架的完整系统。有一定Java Web开发经验的读者,可以通过本书学习到Spring Boot如何集成各种不同的框架以及每种框架的用法。企业用户可以找到与自己业务相近的实战案例,吸收对自己项目有用的功能,甚至可以直接在案例源码的基础上进行二次开发。 《Java Web项目开发案例实战 Spring Boot MyBatis Hibernate Spring Cloud(微课视