摘要:
1. 概述 在本教程中,我们将研究卷积神经网络背后的理论及其架构。 我们将首先讨论通常使用卷积神经网络 (CNN) 执行的任务和特征提取问题。然后,我们将讨论为什么需要CNN,以及为什么传统的前馈神经网络是不够的。 然后,我们将在矩阵运算的上下文中讨论卷积的操作。这将使我们很好地理解卷积神经网络的运 阅读全文
摘要:
1. 简介 在本教程中,我们将简要定义两个模棱两可的术语,进程和线程。之后,我们将看看它们之间的差异。 2. 定义 进程是程序的执行。它包括程序本身、数据、资源(如文件)和执行信息(如操作系统保存的进程关系信息)。操作系统允许用户通过系统调用创建、计划和终止进程。 线程是一个半进程。它有自己的堆栈并 阅读全文
摘要:
1. 简介 在本教程中,我们将介绍计算机科学的两种处理技术。特别是,我们将介绍多线程和超线程技术,讨论它们的不同方法,突出它们的优点和缺点,并讨论它们最常见的用法。 2. 多线程 在计算机系统中,处理器执行称为线程的轻量级指令集。为了提高整体系统性能、响应能力和吞吐量,可以在不同的内核上同时执行多个 阅读全文
摘要:
1. 简介 区块链基本上是一个记录数据的系统,有可能彻底改变我们对数据管理和金融交易的思考方式。 在本教程中,我们将介绍区块链技术,分析其工作原理,并讨论其优势、劣势和潜在用途。 2. 什么是区块链? 通常,区块链是一种链形式的数据结构,由动态数据记录序列组成,称为使用加密技术连接和加密的块。前一个 阅读全文
摘要:
1. 概述 在本教程中,我们将回顾两种模式:依赖项注入和服务定位器。他们以不同的方式解决相同的问题,并且经常使用可以应用于两者的术语。目标是找出它们的本质区别以及每种方法的优缺点。 2. 示例 假设我们有一组带有依赖项的类。让我们概述一下初始布局: 该图仅显示类之间的依赖关系。但是,它没有解释这些类 阅读全文
摘要:
1. 简介 在本教程中,我们将了解什么是反模式。反模式是无效问题的常见解决方案,导致的问题多于解决的问题。本文将解释反模式,常见反模式的几个类别和示例,以及识别和避免它们的一些技巧。 2. 定义 Andrew Koenig在1995年的论文“Patterns and Antipatterns”中对反 阅读全文
摘要:
1. 简介 设计模式可用作软件开发的地图。这些模式建议如何有效地应对反复出现的编程挑战。通过这种方式,模式足够通用,可以适应几个不同的编程项目,从而在异构上下文中解决相同的问题。 然而,反模式是软件开发中常见的实践,在实践中并不真正有效。因此,反模式非但没有改进最终软件,反而使软件开发和维护变得更加 阅读全文
摘要:
1. 概述 在本教程中,我们将通过一个实际示例详细讨论功能分解。 此外,我们将探讨这种方法的优缺点。 2. 简介 功能分解是一种系统设计和分析方法,涉及将复杂系统分解为更小、更易于管理的组件。此外,我们使用特定的功能和关系来分解复杂的系统。 这是一个将系统分解为组成部分、识别功能并定义它们如何相互作 阅读全文
摘要:
1. 简介 在本教程中,我们将研究高可用性和容错之间的异同。随着计算机网络的扩展和云计算的出现,网络服务在全球范围内流行起来。目前,网络化服务已融入日常生活,随时随地都需要。 由于这种普及,提供商必须保持通过网络提供的服务持续可供客户使用。为此,这些提供商创建了最低服务可用性协议,并采用允许和恢复故 阅读全文
摘要:
1. 概述 在本教程中,我们将研究软件多样性。首先,我们将了解导致软件多样性的动机。最后,我们将研究什么是软件多样性以及如何工作。 2. 了解动机 通常,如果开发人员需要实现解决特定问题的软件,他们会召集团队,分析需求,选择编程工具,并创建一个解决问题的软件程序。 前面描述的方案是在市场上发布新软件 阅读全文
摘要:
1. 简介 我们可以将计算机科学视为通过计算解决现实世界问题的艺术。因此,计算机科学家或广义上的软件开发人员的相关能力之一是将现实世界抽象为能够解决特定问题的计算模型。 反过来,抽象模型是基于与开发中软件的利益相关者一起定义的一系列需求构建的。这些需求定义了输入和输出之间的所需关系,确定了最终产品质 阅读全文
摘要:
. 简介 如今,应用程序同时为数百万甚至数亿用户提供服务的情况并不少见。此类应用程序需要大量内存。但是,管理所有这些内存可能很容易影响应用程序性能。 为了解决这个问题,Java 11引入了Z垃圾收集器(ZGC)作为实验性垃圾收集器(GC)实现。 在本教程中,我们将看到ZGC 如何设法在数 TB 的堆 阅读全文
摘要:
1. 概述 在本快速教程中,我们将演示不同JVM 垃圾回收 (GC) 实现的基础知识。然后,我们将学习如何在应用程序中启用特定类型的垃圾回收。 若想深入学习相关内容请自行查阅内容 Java字节码-Java快速进阶教程 什么是 Java 编译器-Java快速进阶教程 什么是 Java 中的 JVM-J 阅读全文
摘要:
1. 简介 计算机系统同时执行多个程序。这使我们能够实现更好的吞吐量和用户体验。运行多个程序的概念由操作系统中的进程实现。 在本教程中,我们将讨论进程控制块 (PCB) 的概念,其中包含进程运行的有用信息。 2. 进程概念 进程是正在执行的程序。例如,我们可以编写一个 Java 应用程序并将其保存到 阅读全文
摘要:
1. 概述 在本教程中,我们将通过实际示例探讨如何预防、避免、检测和忽略死锁。 2. 死锁简介 在进程共享资源的几乎任何情况下都可能发生死锁。它可以发生在任何计算环境中,但它在分布式系统中很普遍,其中多个进程在不同的资源上运行。 在此情况下,一个进程可能正在等待另一个进程已持有的资源。死锁类似于先有 阅读全文
摘要:
1. 简介 为了以最佳方式运行应用程序,JVM 将内存分为堆栈内存和堆内存。每当我们声明新的变量和对象,调用新方法,声明字符串或执行类似的操作时,JVM都会从堆栈内存或堆空间为这些操作指定内存。 在本教程中,我们将研究这些内存模型。首先,我们将探讨它们的主要功能。然后,我们将了解它们如何存储在RAM 阅读全文
摘要:
1. 概述 在本教程中,我们将讨论操作系统中进程的生命周期。 2. 什么是进程? 在操作系统中,进程是当前正在执行的计算机程序的实例。因此,具有活动状态的计算机程序是一个进程。例如,用户正在打开 Web 浏览器进行 Web 冲浪或使用某些音乐播放器应用程序播放音乐。 当我们想要同时运行多个进程时,这 阅读全文
摘要:
1. 简介 哲学家用餐问题是用于描述多线程环境中的同步问题并说明解决这些问题的技术的经典问题之一。Dijkstra首先提出了这个问题,并提出了关于访问磁带驱动器外围设备的计算机的问题。 目前的公式是由Tony Hoare给出的,他也以发明快速排序算法而闻名。在本文中,我们分析了这个众所周知的问题并编 阅读全文