- 博客(37)
- 收藏
- 关注
原创 TCP核心机制
关于TCP的十个重要特性:确认应答,超时重传,连接管理,滑动窗口,流量控制,拥塞控制,延时应答,捎带应答,面向字节流,异常处理
2024-09-13 17:43:10
1551
2
原创 CAS以及synchronized
在上一篇博客中我们介绍到了什么是锁策略,那么现在来讲讲synchronized的基本原理开始是乐观锁,如果锁冲突频繁则转化成悲观锁开始是轻量级锁,如果锁被持有的时间比较长,那么就会转换成重量级锁实现轻量级锁大概率用到的是自旋锁策略是一种不公平锁是一种可重入锁不是读写锁。
2024-07-30 21:52:08
1054
原创 线程池的理解以及实现线程池
我们可以理解成核心线程(corePoolSize)是公司里面的正式员工,非核心线程数(超过corePoolSize的部分)是公司里面的实习生,假设最大空闲时间(KeepAliveTime)为一个月,如果这一个月内正式员工没有任何工作(处于空闲状态),那么这种情况下是不会轻易被裁掉的(销毁),但是如果是实习生连续一个月没有工作,那么这种情况下是会面临被裁掉的风险(销毁)用于节约成本(资源)这将阻止新的任务提交,但允许正在执行的任务完成。一旦线程池创建完成,就可以向线程池提交任务。,则使用空闲线程来执行任务。
2024-07-26 20:12:26
989
原创 线程和进程的区别
进程:进程是系统进行的基本单位,每个进程拥有自己独立的内存空间和系统资源线程:线程是系统进行的基本单位,线程是进程的一部分,一个进程可以包含多个线程,这些线程可以共享父线程的内存空间和资源。
2024-07-21 20:07:10
323
原创 排序算法之冒泡排序
冒泡排序想必大家都不陌生了吧!应该都是大家学习的第一个排序算法吧!那么接下来我为大家简单再介绍一个冒泡排序。在数据不优化的情况下,不管是有序还是无序,都是O(N^2)优化情况下: O(N),上述代码是经过优化的。空间复杂度: O(1)
2024-05-04 20:52:19
322
原创 给定一个链表,求入环的第一个节点
这种情况下,slow已经走完很多圈了,但是fast还没有走到入口点的位置,我们又该如何应对,请看下面的解释。给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回 NULL,最后有力扣题的链接。因为fast一次走两步,slow一次走一步,下面是一个数学问题,把分别对应的路程带入然后化简即可。首先得判断是否成环,如果是环那么在找入口点,如果不是环,那么返回null。但是这里又出现了新的问题,如果环很小我们应该怎么办呢?答:X+NC+(C-Y) //N代表的是圈数。答:X+C+(C-Y)
2024-03-30 14:57:36
329
原创 抽象类和接口
本小节我们将了解,如何将一个类定义为抽象?定义抽象类有什么用?抽象方法的定义格式如下:abstract 返回值类型 方法名称(参数);我们使用关键字new定义抽象类的作用:当定义一个类时,常常需要定义一些成员方法描述类的行为特征,但有时候这些方法的实现方式是无法确定的。例如,前面在定义Animal类时,shout()方法用于描述动物的叫声,但是不同的动物叫声是不同的,因此在shout()方法中无法准确地描述动物的叫声,所以我们就需要用抽象类来满足这种需求,并且抽象类能够实现代码的复用。
2024-03-05 23:53:35
390
原创 详解Java运算符
在Java中运算符可以分为以下:算术运算符(+ - * /)关系运算符(< > == )逻辑运算符,位运算符,移位运算符以及条件运算符等。
2024-02-02 23:57:52
1174
1
原创 关于C语言的编译和链接
语法:int main()int a = 10;return 0;}一般我们都是这样写的int main()return 0;这样所有MAX的地方都被替换成了10#define reg register //为 register这个关键字,创建一个简短的名字可以用这种方法将代码中的register全部替换成reg,不用一个一个单独修改// 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。切记:定义#define的时候,最后最好别加;
2024-01-19 21:18:53
1096
1
原创 结构体内容介绍(内存对齐)
int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2声明了一个名为 p3 的 struct Point 类型变量,并同时赋予了它的 x 成员变量值为 10,y 成员变量值为 20。int data;//结构体嵌套初始化//结构体嵌套初始化。
2024-01-03 00:35:51
1016
1
原创 在C语言中关于整数和浮点数在内存中的存储
整数在内存中通常以二进制格式来表示,有符号整数通常采用补码的方式进行存储对于整数来说,其原码、反码、补码都是相同的,直接将该整数转换成二进制形式存入内存即可不过我们需要注意的是,不同长度的整形类型(char,short,long,longlong等)占用不同的内存空间,且在不同系统上具体的字节数也有可能不同。
2023-12-30 22:12:51
556
1
原创 关于for循环的分数相加减
接下来可以计算计算1/1-1/2+1/3-1/4+......+1/99-1/100的值了。计算1/1-1/2+1/3-1/4+......+1/99-1/100的值,并计算结果。我们可以先把问题简单化,先计算1/1+1/2+......+1/100的结果。写出的代码是这样的。
2023-10-21 23:25:22
166
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人