热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java编码问题复习

我最近购买了AnghelLeonard的JavaCodingProblems,因为本书中涉及的主题使我成为一名Java培训师很感兴趣。在这里看到目录后,

我最近购买了Anghel Leonard的Java Coding Problems,因为本书中涉及的主题使我成为一名Java培训师很感兴趣。 在这里看到目录后,我决定购买它。 由于Java的发展非常迅速,因此很难使自己保持最新状态,并且很容易错过Java新功能或没有时间详细研究它们。

我买了很重的平装书。 这本书有800多页。 但是,显然,最重要的是内容。 快速提示:您可以依靠包含1,000多个示例的360多个应用程序。

书籍结构

本书分为13章,涵盖260多个Java 8到Java 13的问题。主要是,作者以精心设计的问题为借口,涵盖了Java 8-12的所有功能。 从诸如Java流或Optional之类的流行功能到诸如Java 11基于嵌套的访问控制(嵌套)之类的较不流行的功能。

章节概述

  • 第1章:字符串,数字和数学
  • 第2章:对象,不变性和开关表达式
  • 第3章:使用日期和时间
  • 第4章:类型推断
  • 第5章:数组,集合和数据结构
  • 第6章:Java I / O路径,文件,缓冲区,扫描和格式化
  • 第7章:Java反射类,接口,构造函数,方法和字段
  • 第8章:函数样式编程-基本原理和设计模式
  • 第9章:函数样式编程-深入研究
  • 第10章:并发–线程池,可调用对象和同步器
  • 第11章:并发–深入探讨
  • 第十二章:可选
  • 第13章:HTTP客户端和WebSocket API

第1章:字符串,数字和数学

本章包括39个涉及字符串,数字和数学运算的问题。 本章从字符串的一系列经典问题开始,例如计算重复项,反转字符串和删除空格。 本章继续讨论数字和数学运算专用的问题,例如,将两个大数字相加,运算溢出,比较两个无符号数,计算除法和模数的下限等等。 每个问题都通过几种解决方案来解决,包括Java 8功能
样式。 此外,本章还介绍了期货在JDK 9、10、11和12中添加的问题。

第2章:对象,不变性和开关表达式

其中包括18个涉及对象,不变性和切换的问题
表达式。 本章从有关处理空引用的几个问题开始。 它继续存在有关检查索引,equals()和hashCode()以及不可变性的问题(例如,编写不可变类以及从不可变类传递/返回可变对象)。 本章的最后一部分介绍克隆对象和JDK 12开关表达式。

第3章:使用日期和时间

本章包括20个涉及日期和时间的问题。 这些问题旨在通过日期,日历,LocalDate,LocalTime,LocalDateTime,ZoneDateTime,OffsetDateTime,OffsetTime,Instant,等等。 到本章末,您将毫无疑问地确定日期和时间以符合应用程序的需求。

第4章:类型推断

本章包括21个涉及JEP 286,Java局部变量类型推断(LVTI)或var类型的问题。 这些问题经过精心设计,以揭示使用var的最佳实践和常见错误。 在本章的最后,您将拥有有关将var投入生产的所有必要知识。

第5章:数组,集合和数据结构

本章包含30个问题,涉及数组,集合和几种数据结构。 目的是为各种应用程序中遇到的一类问题提供解决方案,例如分类,查找,比较,排序,反转,填充,合并,复制,替换等。 提供的解决方案在Java 8-12中实现,它们也可以用作解决其他相关问题的基础。 到本章结束时,您将拥有扎实的知识基础,可用于解决许多涉及数组,集合和数据结构的问题。

第6章:Java I / O路径,文件,缓冲区,扫描和格式化

本章包括20个涉及文件的Java I / O的问题。 从
操作,步行和观看流文件的路径以及用于读取/写入文本和二进制文件的有效方法,我们将介绍任何Java开发人员都必须解决的问题。 借助从本章中学到的技能,您将能够解决涉及Java I / O文件的大多数常见问题。

第7章:Java反射类,接口,构造函数,方法和字段

本章包括涉及Java Reflection API的17个问题。 来自经典主题,例如检查和实例化Java工件(用于
例如,模块,包,类,接口,超类,构造函数,方法,注释,数组等),以合成和桥接结构或基于嵌套的访问控制(JDK 11),本章对Java Reflection API。

第8章:函数样式编程-基本原理和设计模式

本章包括涉及Java函数编程的11个问题。 本章从一个旨在使您完全熟悉功能接口的问题开始。 它继续提供了以Java功能样式解释的GoF设计模式套件。

第9章:函数样式编程-深入研究

本章包括22个涉及Java函数编程的问题。 在这里,我们集中讨论涉及流(例如,过滤器和映射)中流遇到的经典操作的几个问题,并讨论无限流,空安全流和默认方法。 全面的问题列表涵盖了分组,分区和收集器,包括JDK 12 teeing()收集器和编写自定义收集器的问题。 另外,takeWhile(),dropWhile()组成函数,谓词和比较器,测试和调试lambda,
还讨论了其他很酷的主题。

第10章:并发–线程池,可调用对象和同步器

本章包括14个涉及Java并发的问题。 本章从关于线程生命周期和对象/类级锁定的几个基本问​​题开始。 继续讲到有关Java中线程池的一系列问题,包括JDK 8工作窃取线程池。
之后,我们遇到了一些有关“可致电和未来”的问题。 接下来,我们为Java同步器带来一些问题(例如,屏障,信号量和交换器)。 在本章的最后,您应该熟悉Java并发的主要坐标,并准备继续进行一系列高级问题。

第11章:并发–深入探讨

本章包括13个涉及Java并发的问题。 本章介绍了有关fork / join框架,CompletableFuture,ReentrantLock,ReentrantReadWriteLock,StampedLock,原子变量,任务取消,可中断方法,线程本地锁和死锁的问题。 完成本章将确保获得任何Java开发人员所需的大量并发知识。

第十二章:可选

本章包含24个问题,这些问题旨在为使用Optional制定一些规则。 本节中提出的问题和解决方案基于Brian Goetz(Java的语言架构师)的定义-可选的目的是为库方法返回类型提供一种受限的机制,该机制需要一种明确的方法来表示无结果,并使用null极有可能导致错误。 但是在有规则的地方也有例外。 因此,不能得出结论,应不惜一切代价遵守(或避免)此处介绍的规则(或惯例)。 像往常一样,解决方案取决于问题。

第13章:HTTP客户端和WebSocket API

本章包含20个问题,旨在涵盖HTTP客户端和Webocket API。 还记得HttpUrlConnection吗? 好吧,JDK 11附带了HTTP客户端API,作为HttpUrlConnection的重塑。 HTTP客户端API易于使用,并支持HTTP / 2(默认)和HTTP / 1.1。 对于
向后兼容,当服务器不支持HTTP / 2时,HTTP客户端API将自动从HTTP / 2降级到HTTP 1.1。 此外,HTTP客户端API支持同步和异步编程模型,并依赖于流来传输数据(响应流)。 它还支持实时Web应用程序中使用的WebSocket协议,以低消息开销提供客户端-服务器通信。

我喜欢什么?

  • 除了非凡的技术内容,我还喜欢三件事:
  • 我在一本书中找到了所有这些信息。 从Internet和其他资源中收集所有这些东西将花费大量时间。
  • 很实用。 每个页面上都有代码。
  • 准备现代Java采访非常有用。 我的学生大多数都是2-4年的Java开发人员,他们正在寻找可以使他们掌握Java功能最新知识的培训,但他们也希望为面试做准备。 这本书的编码挑战涵盖了这两种需求。

我不喜欢什么?

  • 本书中并未列出所有代码。 您必须在GitHub上扫描仅本书中提到的示例。
  • 有些缺乏图表。 在某些地方,图片很有用,但缺少图片。

最后的话

我从5个开始就以4.8分获得了这本书。

我强烈推荐它作为Java 8-13主题的参考书。

您可以在Amazon , Packt , O'Reilly等处找到它。







From: https://hackernoon.com/java-coding-problems-review-t44832m0



推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Istio是一个用来连接、管理和保护微服务的开放平台。Istio提供一种简单的方式来为已部署的服务建 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • webui之常用js操作(webui界面是什么)
    本文目录一览:1、web前端开发需要掌握的几个必备技术 ... [详细]
  • iwanttowriteasimpleAppforme(Android).Forthisitisnecessarythattheservercansenddat ... [详细]
  • 把酒言欢话聊天,基于Vue3.0+Tornado6.1+Redis发布订阅(pubsub)模式打造异步非阻塞(aioredis)实时(websocket)通信聊天系统
    原文转载自「刘悦的技术博客」https:v3u.cna_id_202“表达欲”是人类成长史上的强大“源动力”,恩格斯早就直截了当地指出,处在蒙昧时代即 ... [详细]
author-avatar
mobiledu2502913627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有