随笔分类 - 后端
摘要:本文对《Java核心技术 I》中开发者容易忽视和重要的知识点进行总结,不包含一般开发者都知道内容。大标题后括号的数字代表书中对应的章节。 一、Java的基本程序设计结构(3) 1. 整数表示 可以为数字字面量加上下划线,这些下划线只是为了让人更易读。Java编译器会去除这些下划线。 int n =
阅读全文
摘要:一、Netty基本内容 1.什么是netty? Netty是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。 异步的: 事件驱动:基于 Java NIO(Non-blocking I/O)的 Selector 实现的。 Netty 的核心设计目标是: 高性能:
阅读全文
摘要:一、JVM 主要功能 1. 什么是 jvm? JVM(Java Virtual Machine):负责运行 Java 程序的核心组件。它将 Java 字节码(.class 文件)解释或编译为机器代码,并提供内存管理、垃圾回收和线程管理等功能。 JRE (Java Runtime Environmen
阅读全文
摘要:一、NIO Java NIO(New I/O,新的输入输出)是 Java 1.4 引入的一套 I/O 库,相比传统的 IO(字节流和字符流),它主要用于处理高效的、非阻塞的 I/O 操作,特别是在需要处理大规模数据或高并发的场景中表现突出。Java NIO 提供了非阻塞模式、内存映射文件、缓冲区等一
阅读全文
摘要:Spring Cloud 是一套基于 Spring Boot 的框架集合,用于构建分布式微服务架构。它提供了一系列工具和库,帮助开发者更轻松地管理分布式系统中的关键问题,比如服务注册与发现、负载均衡、分布式配置管理、熔断与降级、链路追踪等。 下图展示了微服务架构中每个主要功能模块的常用解决方案。 一
阅读全文
摘要:Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发,后来成为 Apache 项目。Kafka 主要用于高吞吐量、低延迟的实时数据流处理,常用于日志收集、实时分析、消息传递等场景。 一、理论知识 1. Kafka 的基本概念 生产者(Producer) 是负责将消息
阅读全文
摘要:Shell 编程详细指南 什么是 Shell? Shell 是用户与操作系统内核之间的接口,允许用户通过命令行输入来控制操作系统。它充当命令解释器,读取用户输入的命令并执行相应的操作。Shell 提供了强大的脚本编程能力,可以自动化许多任务。常见的 Shell 有 Bash(Bourne Again
阅读全文
摘要:Path、Paths 和 Files 是 Java NIO(New I/O)文件处理系统中的核心组件,它们提供了比传统 java.io.File 更加灵活和高效的文件操作方式。 1. 概述 随着 Java 7 引入 NIO.2(即 Java New I/O 2),文件处理得到了显著改进。Path、P
阅读全文
摘要:Spring Security 是一个强大且可扩展的框架,用于保护 Java 应用程序,尤其是基于 Spring 的应用。它提供了身份验证(验证用户身份)、授权(管理用户权限)和防护机制(如 CSRF 保护和防止会话劫持)等功能。 Spring Security 允许开发者通过灵活的配置实现安全控制
阅读全文
摘要:Spring 框架既可以从 广义 和 狭义 两个角度理解,下面讲解这两个层面的概念: (本文主要讲解的是狭义上的spring,广义上的简单概括) 1、spring 的含义 1. 广义上的 Spring 从广义上讲,Spring 是一个涵盖多个模块的企业级应用开发框架,它提供了从基础架构到复杂企业应用
阅读全文
摘要:在前后端分离模式下,Spring MVC 的作用主要集中在处理后端的业务逻辑和 API 接口,而不再直接管理视图部分。也就是说,Spring MVC 的重点是如何处理客户端的请求并返回数据(通常以 JSON 或 XML 格式),而视图渲染交给前端框架(如 Vue.js、React 等)来完成。 下面
阅读全文
摘要:MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。 1. 基础概念 数据库 (Database): 数据库是存储数据的
阅读全文
摘要:介绍: MyBatis-Plus 是基于 MyBatis 框架的一个增强工具,主要目的是简化 MyBatis 的开发过程,提供更加简洁、方便的 CRUD 操作。它是在保留 MyBatis 强大功能的基础上,通过封装和优化一些常见操作来提高开发效率。 MyBatis-Plus 提供了许多开箱即用的功能
阅读全文
摘要:介绍 Redis 是一个开源的内存数据库,它支持多种数据结构,并且常用于高速缓存、会话管理、消息队列等场景。Redis 的全称是 Remote Dictionary Server,是一种 key-value(键值对)存储系统,能够以极高的性能处理大量数据的读写操作。 Redis 的主要特点: 基于内
阅读全文
摘要:先序: 学习编程语言要先学个轮廓,刚开始只用学核心的部分,一些细节、不常用的内容先放着,现用现查即可;把常用的东西弄熟练了在慢慢补充。 1、 安装 Python 解释器 为什么需要安装 Python Python 语言本身是由解释器执行的,因此你需要在你的计算机上安装 Python 解释器。这个解释
阅读全文
摘要:先序: 学习编程语言要先学个轮廓,刚开始只用学核心的部分,一些细节、不常用的内容先放着,现用现查即可;把常用的东西弄熟练了在慢慢补充。 1. Java 概述 Java 是一种面向对象的编程语言,由 Sun Microsystems(现在的 Oracle)在 1995 年推出。Java 程序可以在任何
阅读全文
摘要:1、用户操作 阿里云默认是 root 用户,我们一般要自己创建一个用户,然后给该用户 sudo 权限 添加用户 sudo adduser newUserName 赋予sudo权限 sudo usermod -aG sudo newUserName 删除用户 sudo deluser --remove
阅读全文
摘要:1、Docker 基本概念 什么是 Docker? Docker 是一个开源的容器化平台,允许开发者封装他们的应用程序及其所有依赖项到一个标准化的单元中,这个单元被称为“容器”。容器可以在任何支持 Docker 的环境中运行,从而确保应用程序的可移植性和一致性。 Docker 的优势 一致性和可移植
阅读全文
摘要:1、Linux文件系统概述 Linux文件系统是指操作系统用来控制文件如何存储和检索的结构和逻辑。 文件系统结构 根目录: / Linux文件系统从根目录(/)开始,这是所有文件和目录的起点。 目录结构: Linux使用层次化目录结构,每个目录包含文件和子目录。 挂载点: 各种文件系统通过挂载点(m
阅读全文
摘要:tmux tmux(Terminal Multiplexer)是一个终端复用器,它允许你在一个单一终端窗口内运行和管理多个终端会话。通过tmux,我们可以创建、访问和控制多个终端窗口,并在这些窗口之间自由切换。这对于远程工作、管理多个任务和长期运行的任务非常有用。 1、安装 tmux 在 Ubunt
阅读全文