Java项目:书评

本文是关于这本书的

Peter Verhas撰写的Java Projects Second Edition

我去年写的 这样一篇文章的目的通常是为了促进这本书的销售。 在这种情况下没有什么不同,但是由于这是我写的书,而且我是撰写评论的人,因此赞美这本书将非常尴尬。 所以我不会,尽管我很喜欢这本书。 我认为,至少在准备就绪时,必须爱自己的产品。 以后您可能会像我对同一本书的上一版所做的那样以不同的方式考虑它,这本来可以做得更好。 但是话又说回来,这就是为什么除了Java同时开发第二版之外,还有第二版的原因,它从Java 9变成了Java11。但是回到以前的想法:完成产品后,您必须爱上您的产品您可以将其丢弃。 如果您不喜欢它,那么没有其他人会喜欢。 同样重要的是,您在工作时也必须喜欢您的工作。 我做到了,我很喜欢创作这本书。

因此,现在我将写这本书的内容,内容和意图。 在本文的后面,我还将讨论我在这本书上的工作方式,一些技术性知识和一些秘密。 (如果我在这里发布它们,它们并不是什么秘密。)但是在此之前,请在此处输入URL,您可以在这里在PACKT或亚马逊等处购买我的书。

  • 亚马孙
  • 苹果浏览器

目标读者和本书的内容

与出版商达成协议后,我想为那些想学习Java但已经具有一定编程经验的人写一本书。 我不想写关于变量,循环,条件构造的简单概念。 我想写一本书,教您Java和一些编程。 我想要一本书,任何刚从uni学习的PHP,Python,C#,C,C ++,Go等程序员都可以阅读和学习一些Java编程,并且他们可以决定是否适合他们。 我想将上一章专门讨论非Java编程主题,例如,如果您以程序员身份开始,那么在您的职业生涯后期会发生什么。 您可以保留程序员,也可以成为架构师,项目经理,devops工程师。 根据机会和兴趣有很多可能性。 发行商方面达成了这个意图,但达成的协议较少,但是他们接受了我的手是敲键盘的手,因此我们做出了让步。 因此,最后一章还涉及一些技术主题,例如Java代理,多语言编程,注释处理,DSL,SDLC等。

书的内容

这本书在500多页中有10章。

  • 第一章

是您入门的方式。 首先,您需要安装Java环境,并且必须熟悉命令行工具。 这有点麻烦,就Java而言,它比其他语言更复杂。 我有一些朋友开始使用本书学习Java并为此而苦苦挣扎(不是因为这本书,而是因为任务的复杂性)。 当您开始学习Java时,此时必须耐心等待,并且必须坚信它会起作用。

  • 第二章

关于支持工具和基本语言元素。 即使这本书是为那些已经可以使用某种编程语言进行编程的人而写的,文本也必须描述语言的基本元素,例如变量,类,方法,类型,表达式,循环等。 您会看到Java多么复杂,因此它已经是

  • 第三章

是我们开始编写比“ Hello,World”更复杂的东西的地方。 该程序是一个排序程序,我们不仅实现简单的气泡排序,还实现快速排序。 在此过程中,我们还涉及诸如泛型,TDD,单元测试,Java模块之类的主题。 这些是最初在后面的章节中计划的高级主题,但是我想减少对语言的解释,而希望对语言进行更多的编程。

  • 第四章

是一个新程序和新主题。 在本章中,我们(我想像我和我一样)开发游戏Mastermind 。 坐在电脑前的用户“隐藏”了引脚,程序发现了隐藏的内容。 同一章讨论了集合,依赖项注入和集成测试。

  • 第五章

是我最自豪的那个。 它是关于并发编程的。 许多书都使用了一个很好扩展的例子。 您在一个处理器上运行它并运行。 您在两个处理器上运行它,它的运行速度是它的两倍。 通常在现实生活中,任务并不是那么独立。 因此,我决定同时制作Mastermind游戏。 这需要一些重构。 老实说:在开始撰写第5章和第4章之前,我还没有意识到。 我决定不重写第4章(尽管那会减少工作量),而是在本章中详细说明了编码决策以及如何重构代码。 这只是本章中有关非常复杂主题的一部分,因此不要指望全面的重构教程。 如果您需要一本关于重构的好书,请阅读Martin Fowler的《重构》一书。

除此之外,本章还详细介绍了大多数并发编程工具:等待,通知,锁定,队列。 本章以引入微基准测试作为结尾,该技术显示了更快的并行程序在许多CPU上的运行速度。

  • 第六章

关于为程序创建一个简单的Web界面。 因为本书的主题是Java,而不是HTML,CSS和JavaScript,所以前端非常简单。 另一方面,本章重点介绍IP,TCP,DNS,HTTP甚至HTTP / 2。 然后继续详细介绍C / S架构,提到JavaServer Pages(必须是必须的),然后我们开发代码来编写运行Jetty的servlet。

  • 第七章

使用一个新程序,在这里我们使用Spring MVC,Servlet过滤器,AOP审计日志来开发REST程序,甚至讨论动态代理的工作方式。

  • 第八章

扩展程序并触及Java中的注释,反射,函数式编程和脚本等主题。

  • 第九章

是最后的编码章节。 在这里,我们使用反应式界面创建一个“会计”应用程序。 这是一个尴尬的例子,但当时我找不到更好的东西。 不过,本章将描述反应式编程的原理以及如何在Java中使用新的反应式接口。

  • 第十章

是最后一章,所以它是最密集的。 它讨论了所有开发人员都应该知道但几乎所有开发人员都不会使用的主题。 您可能永远不会创建Java代理或注释接口。 但是您应该知道它们是什么,这就是为什么在这里对其进行描述。 关于多语言编程,还有几句话会越来越普遍。 本章的大部分内容是关于企业环境中编程的工作方式。

动机

我的动机是创建一本编程书籍,使它比Java的当前版本更好。 一本书可以教任何人阅读一些编程知识,并帮助他们开始成为更好的程序员。 也许我对许多求职面试者感到沮丧,这些求职者虽然在某些非常重要的领域没有头绪,但仍然认为自己是高级开发人员,这也是一个激励因素。

技术性

一开始,我嘲笑我会告诉你一些秘密。 他们来了。

Packt希望我使用Microsoft Word或基于WordPress的在线所见即所得编辑器来编写这本书。 WordPress具有标记编辑的可能性,但是已被关闭。 我要求他们打开它,但被拒绝了。 因此,当我创建本书的第一版时,我决定使用Microsoft Word。 结果是灾难性的。 从实际来源复制的代码样本在编辑过程中重新设置为编辑者手中的格式。 某些格式更改使代码难以阅读。 其中的某些更改是完全错误的,例如删除单词int和变量名n之间的所有空格,结果为intn

当我开始第二版时,我决定破解该系统。 到那时,我已经开始使用Python进行一些练习,并且创建了Pyama项目,该项目可以从源目录中获取代码片段,并将其插入覆盖旧版本的Markdown文件中。 我还创建了一个脚本,将特殊的WordPress风格HTML转换为Markdown并返回。 Packt将我的书的第一版转换为这种WordPress格式。

当我使用WYSIWYG编辑器打开一章时,按F12键进入调试模式,并使用WYSIWYG表单上的“ edit HTML”复制HTML并将其粘贴到文本文件中。 我将输入HTML转换为Markdown,并开发了Markdown版本。 我喜欢以编辑标记的方式工作,同时可以看到渲染的页面。 准备好一章后,我将其转换回HTML,并使用相同的调试工具再次粘贴了代码。 有效。 Packt不知道。

摘要

我相信我写了一本书,可以用来专业地学习编程,也可以用来学习Java11。正如我在第一章开头所写的那样:

就像穿过森林中的一条小路一样。 您可以将注意力集中在道路的碎石上,但这毫无意义。 取而代之的是,您可以欣赏周围的景色,树木,鸟类和周围的环境,这会更加有趣。 这本书很相似,因为我不会只专注于语言。 我会不时地介绍一些接近道路的主题,并为您提供一些概述和指导,以帮助您在完成本书后可以走得更远。 我不仅会教您这种语言,还会讲一些算法,面向对象的编程原理,围绕Java开发的工具以及专业人员的工作方式。 这将与我们将遵循的编码示例混合在一起。

翻译自: https://www.javacodegeeks.com/2019/08/java-projects-book-review.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号延长器常见故障问题及解决方案汇总

延长器是用来延长信号的器件,通常用于长距离直连线材无法满足传输要求的情况,一般是为了确保信号长距离无衰减的传输而设计,因此多是有源的。我们在使用信号延长器的过程中难免会遇到各种各样的故障问题,那么我们该如何解决呢&…

一文读懂视频监控系统全过程内容

视频监控系统由实时控制系统、监视系统及管理信息系统组成。视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。接下来就由飞畅科技来为大家详细介绍下视频监控系统的全过程&#…

以太网识别标准及接线标准、接线方法详解

以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。为了使网络系统中的软硬件设备不受生产厂家和型号等不同的限制,制定了各种各样的标准来保证他们之间的相互通,以太网标准就是其中之一,IEEE组织…

Spring Framework中的作用域代理

Spring框架提供了Spring bean的作用域。 我们可以使用spring范围控制插入Spring bean的各种依赖关系和配置值。 Spring支持以下六个范围。 在基于Web的应用程序中可以使用六个中的四个: 范围 描述 辛格尔顿 它是Spring框架中的默认范围。 对于每个Spring IOC容…

中继器、集线器、网桥、网关产品介绍

在了解通信原理之前,我们首先要对通信常用的设备进行熟悉,计算机网络体系中,有几样通信设备或者说网络名词出现的频率相当高,它们是:中继器、集线器、网桥、交换机、路由器和网关。其实,弄清楚这几个计算机…

串口转换器的工作方式及通讯模式介绍

串口转换器能让您在配有RS-232的系统上使用RS-422及RS-485。它透明地将RS-232信号转成隔离的RS-422或RS-485信号。对此,您无需改变PC机任何的硬件或软件就能让您利用标准的PC硬件,来轻松构建一个工业级的长距离通信系统;基于TCP/IP和RS-485/4…

java8根据某个id删选_Java 8可选:如何使用它

java8根据某个id删选Java 8带有新的Optional类型,类似于其他语言中可用的类型。 这篇文章将介绍这种新类型的使用方式,即主要用途。 什么是可选类型? 可选的是新容器类型,如果有可用值,则该容器类型将包装单个值。 因…

Java中的瞬态关键字及其使用

最近,我在一个朋友的一个研究项目中遇到了十字架,他们正在学习Java编程的基础知识,一些忘记的敏感信息打印在文本文件中,并记住了Java中的瞬时关键字。 Java中的瞬时关键字在安全性方面起着重要作用,并且在上述类似的…

RS-232/E1协议转换器产品介绍

RS-232/E1协议转换器是我公司自主研发生产的高性能产品,它将透明E1转换为V.35或者RS232的异步数据接口的接口转换设备,本设备V.35接口可以连接DCE或DTE两种工作方式的设备,RS232接口只支持异步RS232数据,可支持的最高异步速率为11…

java ee cdi_Java EE CDI限定词:快速浏览

java ee cdi在上下文和依赖注入(CDI)中, 限定符是类型安全和松散耦合的主体。 为什么? 没有CDI,我们将以类似于下面的方式注入Java EE组件 注意:这实际上不会编译,只是假设的代码片段 例子1 …

什么是串口协议转换器?串口转换器有哪些特点?

串口转换器是为RS-232/485/422到TCP/IP之间完成数据转换的通讯接口转换器。通过作为服务器端,提供RS-232/485/422终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能,RS-232/485/422转网络的解决方案,可以让串口设备立即…

485转232转换器产品介绍及性能参数介绍

配有不同标准串行接口的计算机、外部设备或智能仪器之间进行远程数据通信,需要进行标准串行接口的相互转换。485转换器将单端的RS-232信号转换为平衡差分的RS-485或RS-422信号。RS-485、RS-422自动识别功能,使用更加简单。接下来我们就来为大家详细介绍下…

什么是RS232/RS485转换器?

485转以太网提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩展串口设…

apache jmx_用于JMX访问的Apache Ant任务

apache jmx我想从Ant任务中调用JMX操作。 但是,找到可用的蚂蚁任务库及其用法非常棘手。 因此,让我分享我的经验,使他人更轻松。 JMX操作的Ant任务 我决定遵循Tomcat文档,并使用与tomcat一起分发的ant任务。 仅作记录用途&#…

E1协议转换器使用中常见故障问题及处理方法总结

E1协议转换器也叫接口转换器,是实现数据通信网以太网接口与光纤通信传送网E1接口连接时进行两种接口转换的设备。广泛应用在传输站E1接口与网络交换机相连时的接口转换中。现飞畅科技小编对其使用过程中常见故障及解决方法进行归纳,希望对大家在应用此类…

使JavaDoc保持最新状态的工具

在许多项目中,文档不是最新的。 更改代码后,很容易忘记更改文档。 原因是可以理解的。 在代码中进行更改,然后调试,然后希望在测试中进行更改(或者,如果您使用的是更多TDD,则以相反的顺序进行更…

RS485转换器常见问题总结

通讯转换器主要应用于支持RS485通讯总线结构的工业控制自动化系统,其中包括一卡通、门禁系统、消费系统、考勤系统、、监控、楼宇对讲、停车场系统、自助银行系统、公共汽车收费系统、公路收费站系统等等。但是,我们在使用485转换器的过程中难免会遇到各…

hd-sdi转hdmi转换器产品规格参数及接口定义详解

hd-sdi转hdmi转换器可方便的将HD-SDI 信号转为HDMI 信号,同时会将SDI所带音频信号分离转换后嵌入到HDMI 信号中,以实现声音及图像同步传输。专为电视台、平安城市、公安交警、高速公路、应急指挥中心的高清视频显示等环境提供项目解决方案。接下来就由飞…

singleton设计模式_Java Singleton设计模式

singleton设计模式它是Java中最简单的设计模式之一。 如果有人问我哪种设计模式好,那么我会很自豪地说Singleton。 但是,当他们深入询问单身人士的概念时,我感到很困惑。 真的单身是那么困难吗? 确实不是,但是它有…

HD-SDI转HDMI转换器工作原理及功能介绍

高清HD-SDI转HDMI转换器是一款专用于单路高清数字分量串行接口(HD-SDI和3G-SDI)信号转换为HDMI信号的设备。该设备集成SDI接收器及HDMI调制器,可方便的将HD-SDI信号转为HDMI信号,同时会将SDI所带音频信号分离转换后嵌入到HDMI信号中,以实现声…