本书是与《Java OpenCV高效入门》配套的案例集。全书共15章,第1章是OpenCV简介及开发环境的搭建,第2~15章是14个实用项目(专题),包括魔方图案识别、答题卡评分、围棋盘面识别、停车场车位检测、车道线检测、汉字识别、OCR文字识别、车牌定位与识别、硬币识别、零件检测、银行卡卡号识别、全景拼接、二维码识别、机器学习等内容。书中的项目均有相当的难度,需要综合运用OpenCV的各种算法实现。 本书面向的读者是包括高校学生在内的各类OpenCV学习者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,*后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合有Java基础的程序开发人员阅读。 本书涵盖的内容包括: 并发性与线程安全性的基本概念 构建以及组合各种线程安全类的技术 使用java.util.concurrent包中的各种并发构建基础模块 性能优
内容简介本书是Java并发编程领域公认的标准性著作,第1版自2015年出版以来,累计印刷23次,销售超过10万册,全网读者评论超过40000条,口碑爆棚。第2版在第1版的良好基础上,与时具进,反映了Java技术的最新发展;去芜存菁:处理了广大读者反馈的问题;博采众长:吸收了行业专家的宝贵建议;厚积薄发,融入了作者近8年在Java并发编程方面积累的新技术和新经验。新增和修订的内容超过50%,无论是理论、方法还是实践,都有了大幅度的提升。本书从并发编程的底层实现机制入手,围绕JDK源码、JVM、CPU等多角度详细介绍了设计Java并发程序的框架、原理、核心技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,利用Java平台的基础并发功能快速地构建大规模的并发应用。本书具体包含如下核心内容:?Java并发编程的
OpenCV作为一个应用广泛的开源计算机视觉库,正在受到越来越多的关注。目前OpenCV的各类教程基本上以Python和C 为主,基于Java的OpenCV书籍则少之又少,本书旨在弥补这一空白。 本书共13章,前4章是基础部分,包括OpenCV概述和安装配置、数字图像基础及图像基础操作等内容;第5到11章则包括了图像的几何变换、图像平滑、形态学操作、直方图、边缘检测与轮廓、霍夫变换、特征点检测和匹配等进阶内容;第12~13章属于提高内容,主要介绍机器学习和视频跟踪技术。 本书以通俗易懂的语言,图文并茂的讲解力图使初学者能够快速高效入门。本书面向的读者是包括高校学生在内的各类初学者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
本书涵盖了完整的对高级UI特性、企业编程、网络、安全和Java强大的模块系统等内容的讨论。
本书提供了300个完整的Java案例,从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心和动态规划等; 从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。本书针对经典算法,基于相关的数据结构,将问题描述、问题示例、代码实现及运行结果相结合进行讲解,逻辑清晰,内容丰富,可作为程序开发人员及其他IT从业者学习和提升算法能力的参考书,也可作为高校计算机相关专业的教材。
本书将Scratch作为一门程序设计语言看待,通过大量数学和算法方面的编程案例,为广大中小学生提供了一本编程进阶的参考教材。本书根据案例类型分为12章,共有100个妙趣横生的编程案例,涵盖数字黑洞、数学游戏、古算趣题、逻辑推理、玩扑克学算法、分形图等数学内容。本书*的特点是案例丰富多彩,让人脑洞大开,是广大中小学生在受过Scratch编程入门教育之后进一步提高编程能力的编程宝典。通过阅读本书,将使读者更加热爱编程,更加热爱数学和算法,为广大中小学生打开一片新的数学编程天地。本书不是零起点教材,适合已经过Scratch入门教育的广大中小学生、编程爱好者和参加中小学信息学竞赛的学生作为参考读物,也适合少儿编程培训机构作为课程设计的参考读物。
本书讲述Apache Flink大数据框架的原理,以及如果将Apache Flink应用于大数据的实时流处理、批处理、批流一体分析等各个场景。通过原理深入学习和实践示例、案例的学习应用,使读者了解并掌握Apache Flink流处理的框架的基本原理和技能,接近理论与实践的距离。 全书共分为8章,主要内容包括Flink架构与集群安装、Flink开发环境准备(基于IntelliJ IDEA和Maven)、开发Flink实时数据处理程序、Flink流数据分析、时间和水印概念、窗口操作、状态和容错、侧输出流、Flink流连接器、Flink流处理案例、开发Flink批数据处理程序、使用Table API进行数据处理、Flink on YARN、基于Flink构建批流一体数仓、基于Flink和Iceberg数据湖构建实时数仓。本书源码全部在Apache Flink 1.13.2上调试成功,所有示例和案例均提供Scala语言和Java语言两套API的实现(第8章除外),供读者参考。 本书系统讲解了Apach
《Java系统分析与架构设计》面向软件工程项目实战,内容按照软件项目的生命周期展开,分别为软件项目需求分析、软件项目架构设计(开发架构模式为主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 《Java系统分析与架构设计》共7章,第1章以大型企业项目 中国石油物资采购管理信息系统 为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为 软件架构设计 ,讲解架构设计五视图、Java EE架构模式、微服务架构模式、Dubbo 3架构模式、MOM架构模式等内容,同时结合大型分布式项目 电影院综合票务管理平台 进行详细的架构设计示范;第3章为 项目模块设计 ,讲解UML类图、UML时序图设计方法,同时结合项目 新闻系统 与 物流管理系统 进行模块设
现代软件规模大、实时性要求高,所以掌握提升处理和响应速度的多线程技术势在必行。本书涵盖多线程编程的核心库、方法、原理,透彻讲解了高并发的本质与应对方法,帮助读者解决高并发环境下的业务瓶颈。 ●本书具体内容如下。 第1章讲解Java多线程的基础知识,包括Thread类的核心API的使用。 第2章讲解在多线程中通过synchronized关键字对并发访问进行控制的方法,为读者学习同步知识打好坚实的基础。 第3章介绍线程间通信,以在多线程中进行数据传递。 第4章介绍并发访问时的同步处理实现,包括读写锁(Lock对象)等相关技术点。 第5章剖析定时器Timer类的内部原理。定时器在Android开发中会有深入应用,是很重要的技术点。 第6章介绍单例模式下多线程的全面解决方案。 第7章对前面遗漏的知识点进行补充,使多线程的知识体系更加完整,尽量做到不出现
本书从JVM和Java API两个方面,深入地介绍了Java 8和Java 11等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何通过JVM的配置方式影响程序的性能;接着从即时编译、垃圾回收、堆内存与原生内存实践、线程与同步的性能等方面,分析了常见的优化方向及其特性。第2版专注于更加成熟的Java 8和Java 11,主要的更新内容涉及G1垃圾回收器和Java飞行记录器,以及Java在容器化环境下的性能变化。
本书是高校教师多年开发经验的结晶之作,书中深入浅出地讲解使用Greenfoot编程软件进行Java游戏开发,帮助读者快速掌握游戏设计的基本原理和方法,同时提高Java语言的编程能力。本书内容分为五篇:*篇介绍Greenfoot编程基础,包含Greenfoot简介和Greenfoot游戏设计原理;第二篇介绍益智类游戏设计,包含记忆翻牌游戏、拼图游戏、扫雷游戏;第三篇介绍休闲类游戏设计,包含弹钢琴游戏、贪食蛇游戏、打砖块游戏;第四篇介绍飞行类游戏设计,包含太空生存游戏、星球大战游戏、飞扬的小鸟游戏;第五篇介绍棋牌类游戏设计,包含黑白棋游戏、接龙纸牌游戏、中国象棋游戏。本书内容安排合理,架构清晰,注重理论与实践相结合,既适合作为零基础Java游戏开发初学者的教程,也可作为本科院校及大专院校的教材,还可供职业技术学校和各类游戏培训机构使用。
本书由拥有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安全模型,展示怎样编写类加载器和安全管理器,以及允许使用消息、代码签名、授权和认证及加密
《JavaWeb从入门到项目实践(超值版)》采用 基础知识 核心应用 核心技术 高级应用 项目实践 结构和 从入门到项目实践 的学习模式进行讲解。《JavaWeb从入门到项目实践(超值版)》共5篇22章,讲解了Java Web开发环境及服务器的搭建,HTML和CSS的基础知识,Web工程结构,JDBC基础,Java与数据库,Servlet基础,Filter开发,Listener开发,JSP基础语法,JSP元素,JavaBean技术,JSP标签,DAO和MVC设计模式,Spring应用,MyBatis应用,JDBC应用开发,Servlet应用开发,Servlet和JSP应用开发,Spring整合MyBatis应用开发等。在项目实践篇详细介绍了在线健身管理系统、银行日常业务管理系统开发,全面展示了项目开发的全过程。《JavaWeb从入门到项目实践(超值版)》的目的是多角度、全方位地帮助读者快速掌握软件开发技能,构建从高校到社会的就职桥梁,让有志于从事软件开发行业的读者轻松
《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语言程序设计基础、面向对象程序设计、图形用户界面设计、异常处理、多线程设计、图形图像处理及Applet小程序设计等。在讲解过程中,始终强调以面向对象的思想来分析问题与解决问题。本书案例设计巧妙,讲解细致透彻,步骤清晰翔实,方便读者自学,每章均配备习题。习题参考答案请扫目录页二维码。
本书针对Spring Boot 2.0以上版本,采用 知识点 实例 的形式编写。 通过 58个基于知识的实例 2个综合性的项目 ,深入地讲解Spring Boot的技术原理、知识点和具体应用。把晦涩难懂的理论用实例展现出来,使得读者对知识的理解变得非常容易,同时也立即学会如何使用它。 要成为一本有温度的书,只做到上面这些还远远不够。 所以,本书 (1)花费大量的力气对比讲解多种同类技术的知识、使用和区别,读者可以根据自己的喜欢进行技术选型; (2)讲解了时下流行的接口架构风格RESTFUL、用来实现高并发的Redis、用来实现系统间通信的中间件RabbitMQ。 (3)*后两章融合了本书所讲知识点,讲解了两个常用又实用的实战项目。 本书适合所有对Spring Boot感兴趣的读者阅读。
本书向读者展示Java语言中更加智能化的编码实例。书中首先介绍面向对象编程(OOP)和函数式编程(FP)范式,然后描述常用设计模式的经典使用方法,并解释如何利用函数式编程特性改变经典的设计模式。读者将学习混合使用OOP和FP的实现方式,然后学习响应式编程模型——一种为了编写更好的代码而将OOP和FP结合使用的方法。之后,本书将介绍从MVC架构向微服务和无服务器架构转变的发展趋势,*后介绍Java新版本的功能特性及其实践。通过本书的学习,读者可以有效地解决开发应用程序过程中的常见问题,能够轻松地应对各种规模项目的扩展和维护。
本手册的愿景是码出高效,码出质量。它结合作者的开发经验和架构历程,提炼阿里巴巴集团技术团队的集体编程经验和软件设计智慧,浓缩成为立体的编程规范和*实践。众所周知,现代软件行业的高速发展对开发工程师的综合素质要求越来越高,因为不仅是编程相关的知识点,其他维度的知识点也会影响软件的*终交付质量,比如,数据库的表结构和索引设计缺陷可能带来软件的架构缺陷或性能风险;单元测试的失位导致系统集成测试困难;没有鉴权的漏洞代码易被黑客攻击等。所以,本手册以开发工程师为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度,每个条目下提供相应的扩展解释和说明、正例和反例,全面、立体、形象地帮助开发工程师成长,有助于团队代码规约文化的形成。积小流成大海,积
《名师讲坛 Java微服务架构实战(SpringBoot SpringCloud Docker RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,本书还重点分析了OAuth统一认证服务的应用。
本书主要包含四个部分: 第①部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。 第②部分引入了ClassLoader,这是因为ClassLoader与线程不无关系,我们可以通过synchronized关键字,或者Lock等显式锁的方式在代码的编写阶段对共享资源进行数据一致性保护,那么一个Class在完成初始化的整个过程到*后在方法区(JDK8 以后在元数据空间)其数据结构是怎样确保数据一致性的呢?这就需要对ClassLoader有一个比较全面的认识和了解。 第③部分详细、深入地介绍volatile关键字的语义,volatile关键字在Java中非常重要,可以说它奠定了Java核心并发包的高效运行,在这一部分中,我们通过实例展示了如何使用volatile关键字以及非常详细地介绍了Java内存模型等知识。 第④部分,站
本书从入门学习者的角度出发,通过通俗易懂的语言、丰富典型的实例,循序渐进地使读者在实践中学习Java编程知识,并提升自己的实际开发能力。全书共有17章,具体内容包括初识Java、Java语言基础、运算符与流程控制、面向对象基础、继承与多态、接口、异常处理、常用类、JSP基本语法、JSP内置对象、Servlet技术、过滤器和监听器、Struts2框架、Hibernate技术、Spring框架、Spring与Struts2、Hibernate框架的整合和Spring与SpringMVC、MyBatis框架的整合。书中的大部分知识都结合具体实例进行介绍,涉及的程序代码也大多给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
《深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)》是《Java工程师成神之路》系列的本,主要聚焦于Java开发者的Java核心基础知识。全书共23章,主要内容包括面向对象、基础数据类型、自动拆装箱、字符串、集合类、反射、序列化、枚举、I/O、动态代理、注解、泛型、时间处理、编码方式、语法糖、BigDecimal、常用工具库及Java新版本特性等,比较全面地覆盖了Java开发者日常工作中用到的大部分基础知识。 有道无术,术尚可求,有术无道,止于术 。本系列更加注重对Java之 道 的学习,即对原理的解读。对于很多语法概念及使用方式的介绍并不是本书的重点。所以,有一定编程语言常识或者写过Java代码的读者阅读起来会更加容易。 《深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)》既适合读者进行体系化的学习,也适合读者查缺补漏,