摘要:
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给出的,他也以发明快速排序算法而闻名。在本文中,我们分析了这个众所周知的问题并编 阅读全文