猿java

猿java的博客

Linux操作系统是一个经典的Unix-like系统,它的设计思想和实现复杂而精妙,其主要由用户态(User Space)和内核态(Kernel Space)组成。用户态和内核态是计算机操作系统中的两种工作状态,它们决定了进程对系统资源的访问和控制权限。这篇文章讲我们一起来分析两种状态以及它们的区别。
阅读全文 »

Linux Shell 是一个强大的工具,用于与操作系统进行交互和自动化任务。Shell 脚本是一个或多个命令的序列,可以在 Shell 中执行,用于自动化任务、管理系统、处理文件等。本文我们将详细分析 Linux Shell 和 Shell 脚本。
阅读全文 »

Hystrix 是 Netflix开发的一个用于处理分布式系统中延迟和故障的库,它的主要目标是通过隔离服务之间的访问点,阻止级联故障,并提供故障回退选项,以提高系统的弹性和稳定性。Hystrix 被广泛应用于微服务架构中,以确保单个服务的故障不会导致整个系统的崩溃。这篇文章,我们一起来聊聊它的工作原理。
阅读全文 »

云原生时代,作为技术人员,如果不了解 Docker 和 Kubernetes,那绝对是技术栈上的一个短板。那么,什么是 Docker?什么又是 Kubernetes?它们之间存在怎样的关系? 这篇文章,我将通过理论加代码实战的方式,详细地剖析他们。
阅读全文 »

Go 语言的并发模型主要基于`协程(goroutine)`,与其他编程语言(比如 Java)的线程相比,Go 协程以其轻量、易用和高效的特点吸引了大量开发者。本文,我将将深入分析 goroutine的工作原理及其调度机制。
阅读全文 »

Spring Cloud 是微服务架构中经常使用的一个框架,它提供了一系列工具来帮助开发者构建和管理分布式系统,而服务注册中心又是微服务架构中一个关键组件。那么,Spring Cloud 支持哪些注册中心?这篇文章我们一起来聊一聊。
阅读全文 »

MyBatis 是一款优秀的持久层框架,它通过简化 JDBC操作和提供灵活的 SQL映射方式,使 Java 开发人员能够更高效地进行数据库操作。那么,MyBatis的执行原理是什么?这篇文章我们将深入地分析。
阅读全文 »

MyBatis 是一款优秀的持久层框架,它通过简化 JDBC操作和提供灵活的 SQL映射方式,使 Java 开发人员能够更高效地进行数据库操作。那么,MyBatis的执行原理是什么?这篇文章我们将深入地分析。
阅读全文 »

在 Java编程中,死锁是一种常见的多线程问题,它发生在两个或多个线程彼此等待对方持有的资源时,导致这些线程都无法继续执行。死锁问题的解决和避免是多线程编程中的一个重要课题。这篇文章,我们一起来探讨 Java中死锁的情况及避免方法的详细。
阅读全文 »