自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP协议

简介工作原理HTTP请求

2025-05-13 20:26:47 677

原创 IP协议的特性

简介协议头格式IPv4和IPv6

2025-05-13 16:41:05 407

原创 TCP协议

简介TCP协议格式确认应答(可靠性机制)超时重传(可靠性机制)连接管理(可靠性机制)滑动窗口(效率机制)流量控制(效率机制)阻塞控制(可靠机制)延迟应答(效率机制)捎带应答粘包问题

2025-05-04 22:27:15 1023

原创 UDP报文结构

简介UDP报文结构解析UDP的特点使用 UDP 的注意事项

2025-04-30 21:45:00 1272

原创 UDP数据报和TCP流套接字编程

UDP数据报套接字编程1.DatagramSocket类2.DatagramPacket类3. InetSocketAddress类构建服务端和客户端TCP流套接字编程1. ServerSocket类2.Socket类构建服务端和客户端扩展对话形式简易的字典多线程实现线程池实现

2025-04-29 21:28:02 1386

原创 初识网络原理

1.IP地址2.端口号3.网络中的五元组4.协议分层5.封装和分用6.客户端与服务器

2025-04-22 21:30:07 434

原创 File 类的用法和 InputStream, OutputStream 的用法

FileInputStreamOutputStream总结

2025-04-17 21:20:26 915

原创 IO、存储、硬盘、文件系统相关常识

输入/输出 (I/O)存储硬盘文件操作系统

2025-04-17 19:48:07 550

原创 形成死锁的原因和解决方案

原因解决方案

2025-04-13 20:39:21 365

原创 HashTable,HashMap,ConcurrentHashMap之间的区别

线程安全方面性能方面总结

2025-04-13 20:38:31 168 1

原创 CAS与sychronized优化

CAS优化sychronized优化

2025-04-08 22:30:00 378

原创 锁策略--

乐观锁和悲观锁轻量锁和重量锁自旋锁和挂起等待锁读写锁和互斥锁可重入锁和不可重入锁公平锁和非公平锁

2025-04-01 19:32:23 411

原创 线程池——

线程池概念线程池类型实现线程池

2025-03-26 15:11:24 379

原创 定时器(java)

什么是定时器定时器是一种编程工具,用于特定时间或固定时间间隔执行任务(代码逻辑),其核心功能是管理任务的调度和执行标准库中的定时器Timer 和 TimerTask 类定位:早期的单线程定时器实现,适用于简单场景。核心类:Timer:用于调度任务。TimerTask:抽象类,需继承并实现 run() 定义任务逻辑。

2025-03-25 21:52:40 387

原创 消息队列,阻塞队列的实现

简介核心概念工作流程阻塞队列的实现消息队列的优点

2025-03-17 22:14:25 261

原创 Java单例模式

简介1.饿汉式2.懒汉式单例(非线程安全)3. 懒汉式单例(线程安全,同步方法)4.双重检查锁定(DCL)单例5.静态内部类6.枚举7.总结

2025-03-16 21:35:58 784

原创 多线程(二)

1.线程不安全问题2.synchronized3.volatile4.wait()方法和notify()方法

2025-03-12 00:02:05 842

原创 多线程(一)

1.线程和进程的区别2.创建线程2.1Thread类2.2Runnable接口2.3匿名类创建Thread子类对象创建后台线程3.Thread常⻅⽅法4.中断线程4.1中断标记(Interrupt Flag)4.2调⽤ interrupt() ⽅法5.线程状态

2025-03-07 22:00:00 370

原创 了解计算机是如何运行的

1.冯诺依曼体系(Von Neumann Architecture)2.CPU 基本⼯作流程2.1 指阶段(Fetch)2.2解码阶段(Decode)2.3执行阶段(Execute)2.4 写回阶段(Write Back)3.什么是进程/任务(Process/Task)3.1概念:3.2一个进程/任务通常包含以下几个部分:3.3进程/任务的特点:3.4进程/任务与线程 (Thread) 的区别:4.CPU 分配⸺进程调度(Process Scheduling)5.内存分配⸺内存管理(

2025-03-03 21:40:50 1154

原创 初阶MySQL(两万字全面解析)

1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型2.(二)表的操作1查看指定库中所有表2.创建表3.查看表结构和查看表的创建语句4.修改表5.删除表2.(三)总代码3.增删改查(CRUD)操作3.1CRUD简介3.2Create(创建)2.1单行数据全列插入2.2 单行数据指定插入

2025-02-28 21:23:29 915

原创 MySQL事务

MySQL系列:1.了解事务2.自动/手动创建事务3.使用事务3.1查看存储引擎3.2 语法3.3开始一个事务后进行回滚3.4设置保存点4.事务的隔离性和隔离级别4.1什么是隔离性4.2 隔离级别4.3查看和设置隔离级别5.不同隔离级别存在的问题5.1 READ UNCOMMITTED - 读未提交与脏读5.2 READ COMMITTED - 读已提交与不可重复读5.3REPEATABLE READ - 可重复读与幻读5.4SERIALIZABLE - 串⾏化6.不同隔离

2025-02-25 00:16:52 1265

原创 MySQL索引

MySQL系列:1.了解索引2.以B+树为索引数据结构的原因2.1 Hash 索引2.2二叉搜索树 (BST) 索引2.3数据结构: N 叉树(例如 B 树)2.4数据结构: B+ 树2.5为什么 B+ 树是数据库索引的首选3.MySQL页3.1使用页的原因3. 2页的结构概览3.3页文件头和页文件尾3.4页主体3.5 页目录:3.6数据页头4.索引分类4.1 主键索引(Primary Key Index)4.2 普通索引(Secondary Index / Non-Uni

2025-02-20 21:53:05 890

原创 MySQL视图

MySQL系列:1. 视图的核心概念2. 视图的用途3.创建视图4.修改数据5.删除视图6. 视图的优点

2025-02-16 23:38:16 438

原创 SQL联合查询

MySQL系列:1.内连接2.外连接3.自连接4.子查询5.合并查询6.插入查询

2025-02-14 22:10:27 982

原创 数据库设计

MySQL系列:第一范式第二范式第三范式数据库设计过程(一)、实例之间的关系(二)、数据库设计过程(三)、实体-关系图(ER 图)(四)、代码实现:

2025-02-11 19:17:31 1418

原创 数据库约束

MySQL系列:1.了解数据库约束2.NOT NULL 非空约束3. DEFAULT 默认值约束4.UNIQUE 唯一约束5.PRIMARY KEY 主键约束6.FOREIGN KEY 外键约束7.CHECK 约束

2025-02-10 02:45:00 520

原创 增删改查(CRUD)操作(总)

MySQL系列:1.CRUD简介2.Create(创建)2.1单行数据全列插入2.2 单行数据指定插入2.3 多⾏数据指定列插⼊3.Retrieve(读取)3.1 Select查询3.1.1 全列查询3.1.2 指定列查询3.1.3 查询字段为表达式(都是临时表不会对原有表数据产生影响)3.1.4为查询结果指定别名3.1.5查询结果去重3.2 where 条件查询比较运算符:逻辑运算符:3.2.1 where 基础查询3.2.2where 范围查询3.2.3 where

2025-02-08 21:49:45 1082

原创 增删改查(CRUD)操作~后续

MySQL系列:1.截断表2.插入查询结果3.聚合函数4.Group by 分组查询5.内置函数5.1日期函数5.2字符串处理函数5.3数字函数5.4 其他常⽤函数:

2025-02-07 19:52:29 1074

原创 增删改查(CRUD)操作

1.CRUD简介2.Create(创建)2.1单行数据全列插入2.2 单行数据指定插入2.3 多⾏数据指定列插⼊3.Retrieve(读取)3.1 Select查询3.1.1 全列查询3.1.2 指定列查询3.1.3 查询字段为表达式(都是临时表不会对原有表数据产生影响)3.1.4为查询结果指定别名3.1.5查询结果去重3.2 where 条件查询比较运算符:逻辑运算符:3.2.1 where 基础查询3.2.2where 范围查询3.2.3 where 模糊查询3.2.

2025-02-01 22:04:52 1876

原创 MySQL常用数据类型和表的操作

(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型(二)表的操作1查看指定库中所有表2.创建表3.查看表结构和查看表的创建语句4.修改表5.删除表(三)总代码

2025-01-27 21:40:16 1372

原创 初识MySQL

1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型2.(二)表的操作1查看指定库中所有表2.创建表3.查看表结构和查看表的创建语句4.修改表5.删除表2.(三)总代码3.增删改查(CRUD)操作3.1CRUD简介3.2Create(创建)2.1单行数据全列插入2.2 单行数据指定插入

2025-01-25 21:21:35 1237

原创 哈希桶(开散列)

前言实现插入put方法实现get方法实现泛型类哈希桶

2025-01-21 21:33:40 525

原创 二叉搜索树(TreeMap&TreeSet)

1.概念2.二叉搜索树的底层代码实现(1)首先构建二叉树(2)实现插入功能;(3)实现查找(4)删除(重点)3.TreeMap

2025-01-20 00:00:00 869

原创 七大排序算法

排序的概念及引用1.插入排序2.希尔排序(缩小增量排序)3.选择排序4.堆排序5.冒泡排序6.快速排序7.归并排序8.代码排序部分的测试9.代码加效果大致测试时间(仅供参考)

2025-01-16 22:36:23 4848 2

原创 最长回文字串的多种解法(java)

了解回文字符串的多种解法

2025-01-11 20:04:47 476

原创 预处理详解

宏和函数的对比

2024-10-01 23:09:05 1501 1

原创 动态内存管理

1. 为什么要有动态内存分配2.malloc3.free4.calloc5.realloc6.经典题型。

2024-09-23 00:00:28 1949

原创 自定义类型:联合和枚举

像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。我们可以使⽤ #define 定义常量,为什么⾮要使⽤枚举?{}中的内容是枚举类型的可能取值,也叫 枚举常量。⼀周的星期⼀到星期⽇是有限的7天,可以⼀⼀列举。1.3利用联合体判断大小端。枚举顾名思义就是⼀⼀列举。以联合体也叫:共⽤体。把可能的取值⼀⼀列举。

2024-09-19 21:10:23 599

原创 自定义类型:结构体

结构体传参的时候,尽量传结构体的地址。函数传参的时候,参数是需要压栈,会有时间和空间上的系统开销。如果传递⼀个结构体对象的时候,结构体过⼤,参数压栈的的系统开销⽐较⼤,所以会导致性能的下降。

2024-09-16 23:40:57 1156

原创 浮点数在内存中的储存

常⻅的浮点数:3.14159、1E10等,浮点数家族包括: float、double、long double 类型。浮点数表⽰的范围: float.h 中定义

2024-09-11 20:18:37 1433 1

空空如也

空空如也

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

TA关注的人

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