- 博客(22)
- 收藏
- 关注
原创 linux常用命令及其用例
这些命令是 Linux 操作的基础,熟练掌握后能大幅提升工作效率。根据具体需求,还可以通过。:查看进程动态(htop 需安装):移动 / 重命名文件 / 目录。:查看文件内容(适合小文件):分页查看文件(适合大文件):创建空文件或更新文件时间。:查看文件开头 / 结尾。:查看文件 / 目录大小。:打包 / 解压(常用与。:查看 / 修改主机名。:以管理员权限执行命令。查看更详细的参数说明。:删除文件 / 目录。:复制文件 / 目录。:创建 / 删除用户。:处理 zip 文件。
2025-11-18 18:58:27
382
原创 Java主要库及其核心接口与实现类
在 Java 中,标准库(JDK)包含众多核心库,这些库通过接口定义规范,再由具体的实现类提供功能。这些库构成了 Java 的核心功能,实际开发中需根据场景选择合适的实现类(如线程安全选。
2025-11-13 14:08:57
1058
原创 java.io介绍
Java 的 I/O(Input/Output,输入 / 输出)是用于处理设备间数据传输的核心机制,比如文件读写、网络通信、内存数据交互等。Java 提供了丰富的 I/O 类库,主要分为等,其设计基于 “流(Stream)” 的概念 —— 数据像水流一样按顺序传输。
2025-11-13 14:01:26
638
原创 IP与子网掩码
IP 地址是 32 位二进制数(IPv4),用于唯一标识互联网中设备的逻辑地址,通常以 “点分十进制” 表示(将 32 位拆分为 4 个 8 位字节,每个字节转十进制,范围 0-255)。子网掩码是 32 位二进制数,仅用于配合 IP 地址,明确 “哪些位是网络位,哪些位是主机位”,同样以点分十进制表示。
2025-11-08 16:06:16
646
原创 二叉树分类
二叉树的核心分类可按和划分,核心结论是:结构上分为完全 / 满 / 斜树等,值规律上分为搜索树 / 平衡树等,不同类型对应不同应用场景。
2025-11-08 15:22:19
896
原创 java代码运行顺序
类加载(静态):父类静态 → 子类静态(仅一次)。实例化(非静态):父类实例 → 父类构造 → 子类实例 → 子类构造(每次 new 都执行)。同一级别(如父类静态成员、子类实例成员)按代码出现顺序执行。记住:“静态先于非静态,父类先于子类,变量和代码块按顺序,构造方法最后执行”。
2025-10-31 14:59:08
347
原创 可重复读隔离级别下是怎么发生幻读的,如何避免
同一事务内,两次执行相同的范围查询(如),第二次查询结果比第一次多了(或少了)其他事务插入(或删除)的新数据,这种 “凭空出现 / 消失” 的现象就是幻读。
2025-10-26 14:29:53
1213
原创 代码设计模式
举例:日志工具类,全局只需要一个实例来统一记录日志,避免多实例导致的日志混乱。定义对象间的一对多依赖,当一个对象变化时,所有依赖它的对象自动更新。为对象提供代理类,控制对原对象的访问(如权限校验、延迟加载)。举例:做菜的步骤(备菜→烹饪→装盘),父类定义流程,子类实现具体菜的做法。举例:构建一个包含多种配置的电脑对象(CPU、内存、硬盘等)。这些模式的核心是解决特定场景下的代码复用、扩展性和可读性问题,实际开发中常结合多种模式使用。将一个类的接口转换为客户端期望的另一个接口,解决兼容性问题。
2025-10-22 16:03:08
441
原创 Scanner类的常见方法和用法
类用于从各种输入源(如键盘、文件、字符串等)读取数据,是处理输入的常用工具类。可以灵活处理各种输入场景,是 Java 入门阶段处理输入的核心工具。默认分隔符是空白字符(空格、回车、制表符等),可通过。会留下回车符),需先调用。可能会读取到空行(因为。
2025-10-22 15:34:14
507
原创 深拷贝与浅拷贝
浅拷贝:只复制对象本身和基本类型,引用类型成员共享引用,效率高但独立性差。深拷贝:完全复制所有成员(包括引用类型的深层数据),独立性强但实现复杂(需递归处理)。选择依据:若对象包含可变的引用类型成员且需要独立修改,用深拷贝;否则可用浅拷贝。
2025-10-21 15:45:20
386
原创 非静态内部类和静态内部类的区别?
假设外部类为Outer// 外部类非静态变量// 外部类静态变量// 非静态内部类(成员内部类)// 可直接访问外部类的非静态和静态成员System.out.println("访问外部类非静态变量:" + nonStaticVar);System.out.println("访问外部类静态变量:" + staticVar);// 静态内部类(嵌套类)// 只能访问外部类的静态成员System.out.println("访问外部类静态变量:" + staticVar);
2025-10-21 15:26:09
386
原创 为什么说重载是编译时多态,重写是运行时多态
重载:由参数列表区分,编译时即可确定调用哪个方法,属于 “编译时多态”。重写:由对象实际类型决定,运行时才能确定调用哪个方法,属于 “运行时多态”。这种区别本质上是编译期静态绑定与运行期动态绑定的体现。
2025-10-21 15:05:08
469
原创 零拷贝技术详解
零拷贝的核心是减少 CPU 参与的数据拷贝,尤其是用户态与内核态之间的冗余复制。mmap适合需要用户态处理数据的大文件场景;sendfile(尤其是结合分散 / 聚集)是静态文件网络传输的最优选择;splice适用于任意两个文件描述符的内核态数据传输。通过零拷贝,系统可显著降低 CPU 使用率和内存带宽消耗,在高并发、大数据场景下性能提升尤为明显(通常可提升 30% 以上的吞吐量)。
2025-10-19 21:15:12
1576
原创 详解select/poll/epoll
特性selectpoll文件描述符上限受FD_SETSIZE(1024)无(仅受系统限制)无(仅受系统限制)用户态拷贝每次调用拷贝整个集合每次调用拷贝整个数组仅epoll_ctl时拷贝就绪检查效率O (n)(遍历整个集合)O (n)(遍历整个数组)O (1)(直接返回就绪列表)触发模式水平触发水平触发水平触发 / 边缘触发跨平台好(Windows/Linux)一般(无 Windows 原生)差(仅 Linux)适用场景低并发、简单场景中等并发高并发(如服务器)
2025-10-19 20:59:20
852
原创 什么是Mysql的两次写,过程是怎样的
当 InnoDB 向磁盘写入一个数据页时,可能出现 “部分写失效”:即数据页只写入了部分(如 4KB)就发生断电,导致该数据页损坏,且无法通过 redo log 恢复(因为 redo log 记录的是页的物理修改,依赖原始页的完整性)。总结:两次写是 InnoDB 针对 “部分写” 问题设计的防御机制,通过 “先备份、再写入” 的两步操作,结合 redo log 实现了数据页的安全恢复,是保障事务持久性的重要组件。当 InnoDB 需要刷新脏页(内存中的数据页)到磁盘时,先将脏页数据复制到内存中的。
2025-10-18 15:45:52
377
2
原创 Spring是如何解决循环依赖问题的
Spring 默认仅解决单例 Bean + setter / 字段注入的循环依赖,核心是 “三级缓存” 提前暴露未完全初始化的 Bean。无法解决的场景(构造器注入、多例 Bean),优先通过 “改注入方式”“调整 Bean 作用域” 解决,避免过度依赖复杂配置。
2025-10-17 13:52:14
786
原创 什么叫运行时,什么叫编译时,常见的异常有哪些
编译时:检查 “代码写得对不对”(语法、类型规则),生成可执行文件。运行时:执行 “代码做了什么”(动态逻辑、内存操作),真正完成程序功能。在 Java 等编程语言中,异常分为运行时异常(Runtime Exception)和编译时异常(Checked Exception,受检异常)运行时异常:编译器不强制要求处理(可捕获也可不捕获),通常由代码逻辑错误导致,发生在程序运行阶段。
2025-10-17 13:32:02
526
原创 springboot中Spring AOP的作用及其简单示例
Spring AOP 在 Spring Boot 中的核心价值是解耦,通过切面集中处理通用功能,让业务代码更纯净。日志记录(请求参数、执行时间);权限校验(方法级权限控制);异常统一处理;事务管理(Spring 声明式事务底层基于 AOP);缓存增强(如方法结果缓存)。使用时需注意:AOP 是基于动态代理实现的,默认对接口用 JDK 代理,对类用 CGLIB 代理,且只能增强 Spring 容器管理的 bean。
2025-10-16 15:43:22
759
原创 如何判断一个排序算法的稳定性及其时间复杂度
判断一个排序算法的稳定性在于在经过排序后的是否会保留,例如(3(A),2(B),3(C),1(D)),如果排序后顺序是(1(D),2(B),,3(A),3(C)),说明是稳定的 ,如果是(1(D),2(B),3(C),3(A)),相对位置改变,说明是不稳定的。排序算法的原理在于相邻元素之间进行比较,如果第一个元素大于第二个元素的话,才会发生交换,相等的两个元素是不会发生交换的,所以冒泡排序是稳定的。时间复杂度分为三种情况,最坏情况、最好情况和平均情况。O(n²)当序列完全完全逆序(如。
2025-10-14 17:00:30
762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅