自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 序列化的几种常见方式

跨语言接口 / HTTP 传输:优先用 JSON(Jackson/Gson)。高性能、大数据量场景:选 Protobuf 或 Kryo。传统企业级应用 / XML 协议:用 JAXB。仅 Java 环境、简单存储:可考虑 Java 原生序列化(但不推荐,性能和兼容性差)。

2025-10-16 23:37:38 643

原创 Linux中cd /××× 和cd ×××/之间的区别

前面的 /:是 “绝对路径” 的标志,决定路径从 “根目录” 还是 “当前目录” 开始查找。末尾的 /:仅为格式提示(强调是目录),对 cd 的跳转行为无实质影响。

2025-09-14 01:17:40 289

原创 Spring 中处理 HTTP 请求参数注解全解析

本文全面解析Spring框架中处理HTTP请求参数的常用注解。@PathVariable用于URL路径变量提取,支持RESTful风格和类型转换;@RequestParam处理查询参数,提供灵活性和默认值设置;@Valid@RequestBody处理请求体数据,支持复杂对象映射和校验;@RequestHeader获取请求头信息;@CookieValue读取Cookie值。开发者应根据数据来源和业务需求,合理选择这些注解来实现高效准确的请求处理。

2025-09-12 03:02:00 1017

原创 为什么后端接口不能直接返回数据库实体?聊聊 Product 到 ProductDetailVo 的转换逻辑

Product 是 “后端的工具人”,负责和数据库打交道;ProductDetailVo 是 “前后端的传话筒”,只负责把前端需要的信息精准传递过去。

2025-09-05 17:42:10 1067

原创 【保姆级教程】CentOS 7 部署 FastDFS 全流程(避坑指南)

本文详细介绍了在CentOS7上部署FastDFS分布式文件系统的完整流程。主要内容包括:环境准备与依赖安装;libfastcommon基础库的版本选择与安装;FastDFS主程序的编译安装及常见报错处理(如函数参数不匹配、函数名修改等);Tracker、Storage和Client的配置指南;服务启动验证与测试方法;以及常见问题解决方案。重点强调了版本兼容性问题,提供了详细的排错步骤和源码修改方法,帮助用户顺利完成部署。

2025-08-14 18:37:22 940

原创 为何:内存数据断电即逝,硬盘数据牢笼长存

内存和硬盘的存储机制存在本质差异:内存(RAM)依赖电容电荷存储临时数据,需要持续供电刷新,断电后电荷迅速流失导致数据丢失;硬盘则通过物理状态永久保存数据,机械硬盘利用磁性材料的磁化方向,固态硬盘通过捕获电子实现数据存储,断电后仍能长期保留。

2025-08-03 11:06:32 1314

原创 什么是总线???

计算机内部一组用于传输数据、地址和控制信号的公共通信线路

2025-08-03 10:50:50 474

原创 List<UserInfo> list = new ArrayList<>();为什么要这样创建数组?

Java中List<UserInfo> list = new ArrayList<>();的标准写法体现了面向接口编程原则,通过接口声明变量降低代码耦合,便于灵活替换实现类(如LinkedList)。

2025-07-22 15:21:09 651

原创 如何用异或交换两个变量的值详解

异或运算交换两个变量的值是一种基于位运算的高效方法,其核心在于利用异或运算的自反性和结合性。

2025-04-27 08:59:07 501

原创 小白刷算法题不知道val、next和prev?用这个指南彻底搞懂!

​val​ 是数据的容器,决定节点「存什么」​next​ 是链表的纽带,决定节点「连到哪」​prev​ 是双向链表的法宝,决定节点「能否回头」

2025-04-21 18:10:30 696

原创 ​JSON:数据交互的轻盈使者​——从基础语法到实战应用

​​JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,由 Douglas Crockford 于 2001 年提出,旨在替代 XML 成为更高效的 Web 数据传输标准。它基于 JavaScript 对象字面量的子集,但独立于编程语言,凭借简洁的语法和跨平台特性,迅速成为现代软件开发的事实标准。​{}[]

2025-04-17 15:09:00 795

原创 IntelliJ IDEA 项目导入后 Java 文件图标显示为红色小写 j 的解决方法

进入 `File → Project Structure → Project` → 确认 `Project SDK` 和 `Language Level` 与项目要求一致。- 重启后,执行 `Build → Clean Project` → 再执行 `Build → Rebuild Project`。- 右键问题 Java 文件 → 选择 `Override File Type` → 选择 `Java`。- 若为 Maven 项目,右键 `pom.xml` → 选择 `Maven → Reimport`。

2025-04-17 14:38:45 2404

原创 Spring 核心注解深度解析:@Autowired、@Repository 与它们的协作关系

​​@Autowired​ 是 ​动态装配的核心工具,通过灵活的类型匹配机制实现 Bean 自动注入。​​@Repository​ 是 ​数据访问层的标识符,提供异常转换和框架集成支持。

2025-04-08 18:19:17 1035

原创 Maven项目配置路径时正斜杠(/)和反斜杠(\)有区别吗?

在 Maven 配置中,路径分隔符的选择不影响功能,但为保持最佳实践和代码一致性,推荐使用正斜杠(/)。

2025-04-01 16:26:00 386

原创 创建SpringBoot项目报错

创建SpringBoot项目时报错:“Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class无法配置 DataSource:未指定 'url' 属性,并且无法配置嵌入式数据源。原因:无法确定合适的驱动程序类别”

2025-03-27 14:59:46 645

原创 孤儿进程与僵尸进程:Linux进程管理中的“隐形杀手”与“无主孤儿”

孤儿进程与僵尸进程的本质区别在于资源所有权和生命周期管理。

2025-03-16 23:39:59 448

原创 Spring框架:一些基本概念与核心优势解析

它以IoC/AOP为核心,通过模块化设计降低学习成本,用非侵入式理念保障代码质量,最终在效率与灵活性之间找到平衡

2025-03-16 22:37:58 776

原创 ​面向对象与面向过程编程:从概念到实战的深度解析

面向对象与面向过程并非对立,而是互补的编程思想。

2025-03-13 23:57:41 915

原创 Java实例化详解:从概念到实践的全方位解读

实例化是通过类(Class)创建具体对象(Object)的过程。类作为对象的抽象模板,仅定义了属性和方法的框架;而实例化则是将这一框架转化为内存中的实体,使其能够存储数据和执行操作。

2025-03-13 20:49:56 869

原创 Spring依赖注入类型全解析:构建松耦合系统的艺术

80%场景应优先采用构造器注入

2025-03-12 22:30:53 1040

原创 TCP三次握手与四次挥手详解:建立与断开连接的底层逻辑

​建立连接:通过序列号同步和状态确认,确保双方准备就绪。​断开连接:通过全双工关闭和超时机制,避免资源泄漏和数据丢失。这两个过程虽然增加了通信开销,却为互联网数据传输提供了坚实的保障。

2025-03-12 22:12:15 435

原创 《Java三剑客:JDK、JRE、JVM的“塑料友情”》

​开发者:必须装JDK,毕竟连代码都编不了怎么混?​普通用户:装JRE就行,省空间还能避免被开发工具“误伤”​极简主义者:直接用在线JVM(比如Replit),连本地环境都不用装

2025-03-11 23:54:16 703

原创 [特殊字符] Java反射:程序员的“魔法镜子”——深入解析其核心与实战应用

它的核心在于Class类的使用:每个Java类在JVM中都会被加载为一个唯一的Class对象,通过这个对象,我们可以间接访问类的各种信息

2025-03-10 23:13:45 1466

原创 Java中,BIO、NIO和AIO三种模型的区别和适用场景

BIO、NIO、AIO代表了Java I/O模型的演进路径:从简单直观到高效异步,三者各有优劣。简单服务:BIO足够。高并发轻量级:NIO是首选。长连接重负载:AIO或混合方案更优。

2025-03-09 23:44:40 1387

原创 MySQL中的脏读与幻读:概念、影响与解决方案

脏读与幻读的本质是事务隔离性不足导致的并发冲突。通过合理设置隔离级别、使用锁机制或MVCC,可有效解决问题。实际开发中需根据业务需求权衡一致性、性能与复杂度。

2025-03-08 23:52:09 686

原创 MySQL集群:高可用架构的利与弊

MySQL集群(MySQL Cluster)并不是指简单的“多个MySQL服务器”,而是一种基于分布式架构的数据库解决方案。它通过将数据分散存储在多个节点(Node)上,实现数据的冗余和负载均衡。常见的MySQL集群架构包括官方提供的,以及基于主从复制、Galera Cluster或InnoDB Cluster的第三方方案。其核心思想是通过多节点协同工作,确保即使某个节点宕机,系统仍能持续提供服务,同时支持水平扩展以应对高并发场景。

2025-03-08 01:19:45 595

原创 Java集合框架深度解析:List、Set与Map的核心区别与应用指南

List关注顺序与重复性,适合需要索引操作的场景。Set强调唯一性,适合去重与存在性校验。Map专注键值映射,适合快速查找与关联数据管理。

2025-03-07 02:55:14 1878

原创 java的四种内部类详解

类型静态成员访问外部类非静态成员实例化方式应用场景静态内部类✔️❌外部类名.静态内部类名独立关联外部类的工具类成员内部类❌(final除外)✔️外部类实例.new 成员内部类()需频繁访问外部类实例的场景局部内部类❌✔️(final或有效final方法内直接实例化仅在方法内使用的辅助类匿名内部类❌❌(需通过继承/实现间接访问)new 父类/接口(){...}一次性实现接口或继承类。

2025-03-07 02:16:13 499

原创 c语言中预处理指令的两种形式的区别

两种形式的核心区别在于文件搜索路径和适用场景。尖括号形式专用于系统头文件,双引号形式适用于自定义文件,合理选择可提升代码可维护性。

2025-03-06 19:12:37 205

原创 在使用Spring时配置ApplicationContext的作用

是 Spring 框件的“中枢神经”,贯穿整个应用生命周期,简化了开发复杂度。合理使用它可以实现松耦合、可维护的代码架构。

2025-03-06 19:08:16 614

原创 数据库中连接名和数据库名之间的区别

总结:连接名是应用程序管理数据库连接的“通道标识”,而数据库名是数据库自身的“身份标识”

2025-03-02 12:10:01 345

原创 java单例模式(懒汉模式和饿汉模式)

单例模式就是采取一定的方法,保证在整个软件系统中,对某个类只能存在一个对象实例,并且该对象只提供一个取得其对象实例的方法。

2024-10-06 03:36:53 844

原创 封装、继承和多态

定义:为了更好的解决代码复用的问题,当多个类存在相同的的属性和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类只需要通过extends来声明继承父类即可,继承的本质就是建立一个查找关系。3,当创建子类对象时,不管使用子类的那个构造器,默认情况下总会去调用父类的无参构造器,如果父类未提供无参构造器,则需要在子类的构造器中用super去指定使用父类的那个构造器来完成父类的初始化工作,否则编译不会通过。1,子类继承的私有属性和方法的访问需要通过父类提供的公共的方法去访问。

2024-10-01 21:39:52 373

原创 Java中重写和重载的区别

定义:子类有一个方法和父类的某个方法的名称、返回类型(相同或是父类的子类)、参数都相同。定义:Java中允许同一个类中多个同名方法的存在,但是要求形参列表不一致(同名不同参,参数类型、个数、顺序至少有一样不同)。重写和重载的区别

2024-09-20 18:06:39 264

原创 用EasyX+c写简单的图书管理系统

利用c语言+Easy x图形库来编写简单的图书管理系统,实用性不大,就是玩。

2022-07-11 15:21:25 2980 6

原创 c语言写简单的图书管理系统

利用链表和指针进行简单的图书管理系统的编程。简单的效果图如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>//菜单void menu()//定义菜单函数 { printf("--------------------------图书管理系统--------------------------\n"); printf.

2022-05-15 21:52:38 846

原创 c语言+Easy X图形库实现飞机大战,源码加素材

最近学习c语言,看了Mooc上童晶老师的课,用c和Easy x图形库写了一个简单的飞机大战,练练手,第一次写出完整的,虽然还有好多功能没有实现,但是也是有点成就感的,大家看看就好,不喜勿喷!!注:我是用vs2019写的,素材好像传不上,需要的私。简单效果图如下:#include<graphics.h>#include <conio.h>#include <windows.h>#include <stdio.h>#include..

2022-05-03 23:17:30 5378 8

原创 VMware虚拟机如何联网详解

目录一、打开配置文件二、修改连接模式三、编辑网络连接四、重启网卡或直接重启虚拟机一、打开配置文件二、修改连接模式三、编辑网络连接四、重启网卡或直接重启虚拟机

2022-03-27 20:05:36 34039 2

原创 c语言的基础概念和简单语法

第一章:了解C语言及一些基本概念1、所谓程序,就是计算机能够识别和执行的指令。2、机器语言,计算机工作基于二进制,从根本上讲,计算机只能识别和接受由0和1组成的指令。3、计算机能直接识别和接受的二进制代码称为机器指令。4、机器指令的集合就是该计算机的机器语言。符号语言是为了克服机器语言的一些缺点,符号语言就是用一些英文字母和数字表示一个指令。5、汇编语言:汇编程序软件把符号语言的指令转换为机器指令,一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为“代真”或者“汇编”,因

2022-03-10 17:17:23 2515

原创 C语言的运算符和结合性表

优先级 运算符 含义 要求运算对象的个数 结合方向 1 () 圆括号 自左至右 [ ] 下标运算符 - > 指向结构体成员运算符 . 结构体成员运算符 2 ! 逻辑非运算符 1(单目运算符) 自右向左 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 * 指针运算符.

2022-02-03 21:08:55 741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除