自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【网络原理】震惊~~ 这是我见过最详细的TCP和UDP讲解

UDP协议和TCP协议详解,包含的TCP协议相关机制的详细概述.

2024-04-26 16:21:36 642 5

原创 【网络编程】TCP流套接字编程(TCP实现回显服务器)

TCP实现回显服务器的详细过程

2024-04-20 21:01:35 669 23

原创 【网络编程】UDP实现回显服务器

网络编程的基本概念DatagramSocket和DatagramPacket的基本用法,用UDP实现一个回显服务器和一个简单的英译汉服务器.

2024-04-16 15:36:01 841 5

原创 【网络初识】网络相关概念详解

TCP/IP五层网络协议,网络通信的五元组,封装和分用的详解

2024-04-12 14:48:45 942 6

原创 【文件IO】JavaIO详解

文件IO的基础知识

2024-04-09 20:00:51 732 4

原创 【多线程】多线程下使用集合类

多线程下使用ArrayList/队列/哈希表

2024-04-08 22:05:08 802 1

原创 【多线程】Callable详解

先看看Callable接口的源码:Callable是一个函数式接口,此时就可以用lambda表达式更简洁地使用它。Callable是个泛型接口,只有一个方法call,该方法返回类型就是传递进来的V类型。call方法还支持抛出异常.

2024-04-07 11:47:05 892 3

原创 【多线程】震惊~这是我见过最详细的ReentrantLock的讲解

,

2024-04-04 10:24:29 245 4

原创 【Java】CAS详解

CAS和ABA问题的详细解析

2024-04-02 21:18:06 660 5

原创 【多线程】震惊!这是我见过的最详细的十二种锁策略和synchronized加锁中的优化的讲解

十二种锁策略的详细讲解,synchronized加锁过程中的优化

2024-03-31 14:29:52 809 5

原创 【多线程】震惊!这是我见过最详细的线程池的讲解

线程池的基本理解,以及线程池数目的设定,以及构造方法的解析

2024-03-27 11:44:10 888 3

原创 【多线程】如何实现一个定时器

如何自主实现一个定时器的功能.

2024-03-26 15:33:15 309 1

原创 【多线程】如何实现一个阻塞队列

如何实现一个阻塞队列,进一步理解wait和notify..

2024-03-23 15:45:41 397 8

原创 【多线程】实现单例模式的五种方式

实现单例模式的五种方法,饿汉模式,懒汉模式,双重校验锁,静态内部类,枚举

2024-03-22 11:09:41 700 4

原创 【多线程】线程安全问题出现的原因以及解决方法

线程安全问题出现的原因以及解决方法

2024-03-19 15:41:13 710 3

原创 【多线程】多线程的六种线程状态以及转化

多线程的六种线程状态以及转化

2024-03-18 20:59:06 750 4

原创 【多线程】Thread类的基本用法~~线程创建,休眠,等待,中断

Thread类创建线程的五种方式,以及Sleep清空标志位的详细原因以及解决方法.

2024-03-13 21:29:11 355 3

原创 总结进程和线程的区别和联系

进程包含线程,每个线程也是一个独立的执行流,可以执行一些代码,并且单独参与到cpu的调度中进程和进程之间不会相互影响,但同一个进程中的某个线程出现异常,可能会影响到其他线程,导致整个进程都异常终止.线程并不是越多越好,要能够适度,如果线程过多,一方面调度开销的成本会变大,另一方面造成线程安全的风险也会增大.进程是资源分配的基本单位,线程是资源调度的基本单位.

2024-03-08 09:37:39 330 2

原创 学生成绩管理系统(C语言)

一、实现思路1、定义STU结构体,存储学生的基本信息和成绩。2、编写各个函数实现不同的功能,包括输入学生成绩、计算总分和平均分、排序、查找、统计分数段、输出到文件等。3、在主函数中编写程序逻辑,按用户选择调用不同的函数,实现学生成绩管理系统的各项功能。4、运行程序,查看输出结果或将结果存储到文件中,实现数据的长期保存和管理。二、代码的实现在开始之前需要创建三个文件:test.c — 用来构建学生成绩管理系统的整体逻辑student.h — 用来存放函数所需要的头文件和声明。

2023-06-10 21:42:34 3565 2

原创 指针 --- 进阶

四。数组传参和指针传参。

2023-06-08 17:59:21 72

原创 C语言如何输入一个字符串?

​​​​​​​用scanf输入字符串这里要注意的一点是:在函数中,后面的参数必须是一个地址,如输入一个整形变量:,都需要进行取地址操作但是数组名就已经是地址了,所以直接用数组名即可,不用进行取地址如果我们输入一个连续的字符串如:,这段代码会正常运行然而,如果输入一个非连续,也就是中间有空格的字符串时,代码只会打印出第一个空格以前的内容,这是因为在键盘与函数中,存在一个输入缓冲区,从键盘输入的内容会存放到这个缓冲区中。而并不会读取走空格,它只能读取走字符以及字符串。例如当从键盘输入字符串(注意与之间是有一个

2023-05-17 23:05:10 3669 2

原创 C语言实现连珠棋(三子棋)

玩家下棋就是把二维数组的指定行列元素替换为‘*’就好了,当然,我们要注意我们输入的行列数不能超过棋盘的行列数,和二维数组指定元素没有被占有。判断输赢的思想也比较简单,把所有可能赢的结果遍历一遍就好了,如果遍历过程中有出现连续的五颗棋子相同就代表有一方获胜,否则就平局。我们把棋盘看成一个二维数组,其中ROW为棋盘的行数,COL为棋盘的列数,它们两个规定了棋盘的大小。因为电脑下棋是随机的,所以我们需要两个随机数在分别取模棋盘行数和列数代表电脑下下棋的坐标。初始化棋盘和打印棋盘。初始化棋盘和打印棋盘。

2023-05-14 23:13:49 87 1

原创 邻接矩阵存储图的深度优先遍历

int Nv;/* 顶点数 */int Ne;/* 边数 *//* 邻接矩阵 *//* 以邻接矩阵存储的图类型 */函数DFS应从第V个顶点出发递归地深度优先遍历图Graph,遍历时用裁判定义的函数Visit访问每个顶点。当访问邻接点时,要求按序号递增的顺序。题目保证V是图中的合法顶点。

2023-04-25 19:26:18 391 1

原创 【无标题】C语言实现堆排序

有序性:任意结点的关键字是其子树所有结点的最大值(最小值),其中,所有父亲大于等于孩子的称为“大顶堆”’或者“最大堆”,所有父亲小于等于孩子的称为“小顶堆”或者“最小堆”。如果建小堆,那么我们就需要把堆顶取出,然后让剩下的元素再建堆,但从图中我们就可以看出,左右子树已经乱了,就得再去循环建成小堆,但这样堆排序的效率就大大降低了。每次建完大堆后,把堆顶与堆尾交换,这样最大值就排好了,把它从堆里取出,继续建大堆,再交换堆顶堆尾,次大值就排好了,取出次大值,再建堆……因此,排升序的时候,我们要建大堆。

2023-04-22 22:22:55 55 2

原创 判断素数的方法

题目如下:用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。一开始没看明白题目意思,以为只需要满足不是2或者3的倍数就可以了,然后发现出错了,后来才发现搞错掉了。

2023-04-18 18:05:31 236 2

空空如也

空空如也

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

TA关注的人

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