本书从问题入手,使用100多个创意编程范例,试图在深入理解原理的基础上,通过自造 轮子 帮助读者提升代码编写功底和工程实现能力。全书分为12章,内容包括Java入门、分形图像处理、数据结构、网络通信、动态装载、多线程、Raft协议、分布式编程和ZooKeeper框架等,由浅入深实现 美颜相机 迷你通信会议 迷你Web服务器 迷你Raft 等项目。本书针对每一个范例,首先给出代码实现和重要知识点,然后提出任务以使读者发挥创意,提升代码编写技能。 本书由浅入深,有趣有料,适合想提升代码编写水平的大学生、求职者、编程爱好者阅读,也适合有1~2年开发经验的程序员参考,还可以作为各类培训班的培训教材。
内容简介本书是Java并发编程领域公认的标准性著作,第1版自2015年出版以来,累计印刷23次,销售超过10万册,全网读者评论超过40000条,口碑爆棚。第2版在第1版的良好基础上,与时具进,反映了Java技术的最新发展;去芜存菁:处理了广大读者反馈的问题;博采众长:吸收了行业专家的宝贵建议;厚积薄发,融入了作者近8年在Java并发编程方面积累的新技术和新经验。新增和修订的内容超过50%,无论是理论、方法还是实践,都有了大幅度的提升。本书从并发编程的底层实现机制入手,围绕JDK源码、JVM、CPU等多角度详细介绍了设计Java并发程序的框架、原理、核心技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,利用Java平台的基础并发功能快速地构建大规模的并发应用。本书具体包含如下核心内容:?Java并发编程的
本书聚焦Java高并发编程基础知识,介绍Java多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等并发编程方面的核心原理和实战知识。 本书共10章。第1、2章剖析多线程、线程池的核心原理和实战应用,揭秘线程安全问题和Java内置锁的核心原理。第3、4章讲解CAS原理与JUC原子类、JMM的核心原理,揭秘CAS操作的弊端和两类规避措施,以及Java内存可见性和volatile关键字的底层知识。第5章讲解JUC显式锁的原理和各种显式锁的使用。第6章阐述JUC高并发的基础设施 AQS抽象同步器的核心原理。第7章介绍JUC容器类。第8~10章介绍常见的Java高并发设计模式的原理和使用。 本书既可以作为Java工程师、架构师的编程参考书,又可以作为参加互联网大厂面试、笔试的人员的学习参考书。
《Java官方入门教程(第9版 Java 17)》针对Java SE 17做了全面细致的更新,将引导你轻松学习最新的核心Java编程技能。《Java官方入门教程(第9版 Java 17)》由畅销编程书作者Herbert Schildt撰写,开篇讲述基础知识,内容涉及如何创建、编译和运行Java程序。此后浓墨重彩地描述构成Java语言核心的关键字、语法和结构。本书还涵盖Java的一些更高级特性,如多线程编程、泛型、lambda表达式、模块、记录、密封类和Swing。另外,还介绍了Java的交互式编程工具JShell。本书通俗易懂、简明扼要、详略得当,成为全球数百万读者的选择。
本书从操作系统底层的IO原理入手讲解Java高并发核心编程知识,同时提供高性能开发的实战案例,是一本Java高并发编程的基础原理和实战图书。 本书共15章。第1~4章为高并发基础,浅显易懂地剖析高并发IO的底层原理,图文并茂地介绍Java异步回调模式,细致地讲解Reactor高性能模式。这些原理方面的基础知识非常重要,会为读者打下坚实的基础,也是日常开发Java后台应用时解决实际问题的金钥匙。第5~8章为Netty的原理和实战,是本书的重中之重,主要介绍高性能通信框架Netty、Netty的重要组件、单体IM的实战设计和模块实现。第9~12章从TCP、HTTP入手,介绍客户端与服务端、服务端与服务端之间的高性能HTTP通信和WebSocket通信。第13~15章对ZooKeeper、Curator API、Redis、Jedis API的使用进行详尽的说明,以提升读者设计和开发高并发、可扩展系统的能力。 本书兼具基础知识和实战
本书从动态代理模式、Reactor模式、三大限流策略等知识入手,深入浅出地剖析Spring Cloud Nginx系统架构的核心原理以及Web高并发开发技术。全书从基础设计模式和基础原理出发,理论与实战相结合,系统、详尽地介绍Spring Cloud Nginx高并发核心编程。 本书共10章。前6章剖析Feign高并发RPC的底层原理,解析Hystrix高性能配置的核心选项,阐述Hystrix滑动窗口的核心原理;后4章介绍Nginx的核心原理及其配置,并结合秒杀场景实现Spring Cloud秒杀、Spring Cloud Nginx Lua秒杀,为广大Java开发者提供一个全面学习高并发开发的实战案例。这些知识会为广大Java工程师解决后台开发中遇到的高并发、高性能问题打下坚实的技术基础。
OpenCV作为一个应用广泛的开源计算机视觉库,正在受到越来越多的关注。目前OpenCV的各类教程基本上以Python和C 为主,基于Java的OpenCV书籍则少之又少,本书旨在弥补这一空白。 本书共13章,前4章是基础部分,包括OpenCV概述和安装配置、数字图像基础及图像基础操作等内容;第5到11章则包括了图像的几何变换、图像平滑、形态学操作、直方图、边缘检测与轮廓、霍夫变换、特征点检测和匹配等进阶内容;第12~13章属于提高内容,主要介绍机器学习和视频跟踪技术。 本书以通俗易懂的语言,图文并茂的讲解力图使初学者能够快速高效入门。本书面向的读者是包括高校学生在内的各类初学者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
《Java Web项目开发全程实录(第2版)》精选8 个热门项目,涉及Servlet、SSM 框架和Spring Boot 框架三大Java Web 重点应用方向,实用性非常强。具体项目包含:明日科技门户网、购好物网络商城、员工信息管理系统、好生活个人账本、嗨乐影评平台、电瓶车品牌信息管理系统、寻物启事网站和明日之星物业管理系统。本书从软件工程的角度出发,按照项目开发的顺序,系统、全面地讲解每一个项目的开发实现过程。在体例上,每章一个项目,统一采用 开发背景 系统设计 技术准备 数据库设计/公共模块实现/各功能模块实现 项目运行 源码下载 的形式完整呈现项目,给读者明确的成就感,可以让读者快速积累实际项目经验与技巧,早日实现就业目标。
全书分为17章,分别讲解了基本数据类型、枚举和数组、运算符、表达式和语句、类、对象和接口、面向对象的几个基本原则、重要的设计模式、常用实用类、Java Swing图形用户界面、对话框、Java输入/输出流、泛型与集合框架、JDBC数据库操作、Java多线程机制、Java网络基础以及Java Applet等内容。 本书适合作为高等院校计算机专业Java语言程序设计以及面向对象语言课程的教材。
《Java Web入门很轻松:微课超值版》是针对零基础读者编写的Java Web入门教材,侧重实战,结合流行、有趣的热点案例,详细地介绍了Java Web开发中的各项技术。全书分为17章,内容包括搭建Java Web开发环境、Web服务器的搭建、HTML与CSS网页开发基础、JavaScript脚本语言、JSP基础语法、JSP内置对象、JavaBean组件、Servlet技术、过滤器与监听器技术、Java Web中的数据库开发、表达式语言EL、XML技术、JSTL技术、Ajax技术的应用、Struts2框架的应用、Hibernate框架的应用。为了提高读者的项目开发能力,第17章以热点项目 银行业务管理系统 为例进一步讲述Java Web在实际项目中的应用。 《Java Web入门很轻松:微课超值版》提供了大量案例和完整的项目案例,不仅帮助初学者快速入门,还帮助其积累项目开发经验。读者通过微信扫码可以快速查看对应案例的视频操作,随时解决学习中的困
现在,Java开发可谓如日中天,并且Java安全开发是Java开发领域中的一个重要内容,每个Java开发人员都必须掌握。市面中的绝大多数密码学书籍都是针对C或C 的,本书重点介绍Java自带加解密函数的相关技术,以及密码学领域重要的开源库OpenSSL在Java开发中的应用。 本书共8章,主要内容包括密码学和Java概述、搭建Java密码开发环境、对称密码算法原理、利用JCA\JCE对称加解密、杂凑函数和HMAC、密码学中常见的编码格式、非对称算法RSA的加解密、数字签名技术等。本书内容非常详细,学习坡度非常平滑,循序渐进,就算没有密码学基础,也能从零开始到全面掌握。 本书面向的读者是Java开发人员、企业内转行计算机信息安全的工作人员、已有信息安全基础并想了解Java加解密新特性的人员。本书也可作为高等院校和培训机构计算机及相关专业师生的教学参考书。
《Java系统分析与架构设计》面向软件工程项目实战,内容按照软件项目的生命周期展开,分别为软件项目需求分析、软件项目架构设计(开发架构模式为主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 《Java系统分析与架构设计》共7章,第1章以大型企业项目 中国石油物资采购管理信息系统 为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为 软件架构设计 ,讲解架构设计五视图、Java EE架构模式、微服务架构模式、Dubbo 3架构模式、MOM架构模式等内容,同时结合大型分布式项目 电影院综合票务管理平台 进行详细的架构设计示范;第3章为 项目模块设计 ,讲解UML类图、UML时序图设计方法,同时结合项目 新闻系统 与 物流管理系统 进行模块设
本书通过图文结合、通俗易懂的讲解方式帮助大家完成多线程并发编程从入门到实践的飞跃。全书分为三部分,*部分Java 并发编程基础篇主要讲解Java 并发编程的基础知识、线程有关的知识和并发编程中的其他相关概念,这些知识在高级篇都会有所使用,掌握了本篇的内容,就为高级篇奠定了基础;第二部分Java 并发编程高级篇讲解了Java 并发包中核心组件的实现原理,让读者知其然,也要知其所以然,熟练掌握了本篇内容,对我们在日常开发高并发、高流量的系统时会大有裨益;第三部分的内容主要是Java并发编程实践,讲解并发组件的使用方法,以及在使用过程中容易遇到的问题和解决方法。
本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。本书涵盖23种传统的设计模式、11种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了15种反模式。作者讲解这些模式的时候不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。本书的特点在于把Java这种成熟的编程语言以及该语言最近新增的特性与各种设计模式结合起来,告诉读者怎样充分发挥Java的特性与优势,从而更好地实现设计模式,避免陷入空谈概念而无法落实的境地。
本书是一本讲解Java程序员面试笔试的实用工具书。在写法上,除了讲解如何解答Java程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易地理解和掌握。 本书囊括Java程序员面试笔试过程中的各类知识点。在内容广度上,搜集了近3年来几乎所有IT企业针对Java岗位的笔试面试涉及的知识点,包括但不限于Java核心知识点(容器、多线程和IO等)、Java Web(Struts、MyBatis、Kafka、Spring等)、数据库,所选择知识点均为企业招聘时所考查的知识点。在讲解的深度上,本书由浅入深,详细分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对其进行深度剖析,让读者不仅能够理解每个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容很多是其他同类书籍所没有的。书中根据知识点进行分门别类,结构合理,条理清晰,便
本书由该技术的创立人所写,是权威的Java虚拟机参考资料。书中完备、准确而又详尽地描述了Java虚拟机。它完整地讲述了由JavaSE8所引入的新特性,例如对包含默认实现代码的接口方法所做的调用,以及为支持类型注解及方法参数注解而对class文件格式所做的扩展。此书也阐明了class文件中各属性的含义,以及字节码验证的规则。
本书从入门学习者的角度出发,通过通俗易懂的语言、丰富典型的实例,循序渐进地使读者在实践中学习Java编程知识,并提升自己的实际开发能力。全书共有17章,具体内容包括初识Java、Java语言基础、运算符与流程控制、面向对象基础、继承与多态、接口、异常处理、常用类、JSP基本语法、JSP内置对象、Servlet技术、过滤器和监听器、Struts2框架、Hibernate技术、Spring框架、Spring与Struts2、Hibernate框架的整合和Spring与SpringMVC、MyBatis框架的整合。书中的大部分知识都结合具体实例进行介绍,涉及的程序代码也大多给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
本书从整个Java后端研发的视角,通过大量的案例分析日常开发过程中可能遇到的150多个坑点及其解决方案,并讨论一些best实践。这些坑点涵盖编码(不仅涉及Java语法层面,还涉及多线程、连接池、数据库索引、事务、日志、Spring框架等层面)、系统设计、代码安全等方面。本书在剖析这些坑点时还会讲解排查思路和相关工具的使用,让读者不仅能了解常见的坑点,还能具备一定的问题分析能力,以便日后自行排查更多的坑点。
Java是目前应用非常广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。本书以Java程序性能优化为主线,系统地阐述与其相关的知识点,帮助读者掌握编写高质量Java程序的技巧,让他们感受Java开发中的大智慧,编写出更加优美的程序。 《Java程序性能优化实战》共6章,从软件设计、软件编码、JVM调优及程序故障排除等方面介绍Java程序性能优化的方法。第1章介绍性能的基本概念、木桶原理、Amdahl定律,以及系统调优的步骤和注意事项;第2章从设计层面介绍与性能相关的设计模式及常用的优化组件;第3章从代码层面介绍如何编写高性能的Java程序;第4章介绍并行程序开发,以及如何通过多线程提高系统的性能;第5章立足于JVM 虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能;第6章介绍获取和监控程序及系统性能指标的各种工具,
本书主要介绍基于Java的并行程序设计基础、思路、方法和实战。首先,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。其次,进一步详细介绍了JDK中对并行程序的强大支持,帮助读者可以快速、稳健地进行并行程序开发。再次,详细讨论了有关"锁 的优化和提高并行程序性能级别的方法和思路。第四,介绍了并行的基本设计模式以及Java 8、9、10对并行程序的支持和改进。第五,介绍了高并发框架Akka的使用方法。第六,详细介绍了并行程序的调试方法。后分析Jetty代码并给出一些其在高并发优化方面的举例。《实战java高并发程序设计》第1~2版得到了读者的认可,而今Java 版本一直在变化,新的技术也有迭代,本书更要与时俱进,进行一些深层技术的更新,如GC一些优化方式等等。
内容介绍 很多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生态系统的
本书将教会读者如何在Java库的帮助下执行语言分析,同时不断地从结果中获得见解。首先介绍NLP及其各种概念是如何工作的,然后探索Java中用于NLP的重要工具和库,如CoreNLP、OpenNLP、Neuroph、Mallet等。之后,读者将开始对不同的输入和任务执行NLP,例如标记、模型训练、部分语音、解析树等。读者会学习到统计机器翻译、摘要、对话系统、复杂搜索、有监督和无监督的NLP,以及其他内容。在本书的*后,读者也会学习到更多关于NLP、神经网络和其他各种Java中用于增强NLP应用程序性能的训练模型。
Java语言是近二十年来*为流行的通用面向对象程序设计语言,当今程序几乎都采用图形用户界面(GUI)。本书以NetBeans IDE为开发工具,以Java语言基础知识和基本语法、Java GUI程序的可视化设计方法、*的Java SE 8和Java SE 9及Java SE 10等版本类库中有关的实用类的使用为主要内容,介绍Java面向对象程序设计方法及应用型Java GUI程序设计方法。 全书所有例题和习题都采用GUI,将Java语言的基本知识和语言机制与图形用户界面的设计方法有机结合起来,读者在学习Java语言的同时就能学会主流GUI程序的设计方法。本书从实用出发,强调利用现有类库和组件设计解决实际问题的程序,采用优秀的开发环境NetBeans IDE以及可视化Java GUI设计方法,以降低学习难度,提高学习效率。通过学习本书,读者可以较为轻松地掌握Java语言,快速具备完整的图形用户界面程序的设计开发能力。