自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tcp协议

Tcp协议段格式源端口:数据是从哪里来的 目的端口:数据到哪里去 4位TCP报头长度: 表示该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头部最大长度是15 * 4 = 60; 6位标志位: URG: 紧急指针是否有效 ACK: 确认号是否有效 PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走 RST: 对方要求重新建立连接; 我们把携带RST标识的称为复位报文段 SYN: 请求建立连接; 我们把携带SYN标识的称为同步报文段 FIN: 通知对方.

2022-03-31 19:45:11 2150 1

原创 java.util.concurrent 包下的常见类

1.semephoresemephore是什么?swmwphore,它是一个信号量,可以当作一个计数器进行理解,它可以描述可用资源的个数。更加直观的理解就是它限制通过的线程量,比如它 只允许4个线程通过,可是有八个线程,那么他就会先获取四个线程,然后这四个线程运行完后,释放线程,然后再获取剩下的四个线程,运行后释放。这就跟锁差不多,锁只是只允许单线程通过,但是semephore是可以让用户自己设置的。如果设置为1,那么就称为二元信号量。这时候就基本跟锁的作用是一样的了。semephore的用法?

2022-03-16 16:38:51 540

原创 Callable接口的使用

1.Callable是什么,可以干什么用?Callable是一个创建线程时使用的一个接口,那它是干什么的呢?它和Runnable可以说是兄弟两,Runnable在创建多线程的时候是没有返回值的,但是Callable它是带有返回值的。我们一般想要有返回值的多线程的时候就可以使用Callable。2.用Runnable创建有返回值的多线程我们知道用Runnable创建多线程的时候是没有返回值的,但是我们可以创建一个专门用于返回的元素,从而把值就可以返回回去了。static class resu

2022-03-16 15:19:30 1167

原创 常见的锁策略

1.乐观锁和悲观锁乐观锁:它这个锁和名字一样都是比较乐观的,一直假设没有冲突,有冲突也就简单处理一下冲突,在修改的时候会检查一下有没有人进行修改过,这一般都是用版本号机制和CAS算法进行实现的。这和单纯的互斥锁来说,这个锁更加轻量一点。悲观锁:这个锁和乐观锁恰恰相反,它对人生比较悲观,认为别人会修改自己的东西,所以,在每次修改东西的时候都会上锁,防止有人修改它的东西,这个锁的效率比较低。应用场景:乐观锁一般应用在线程的冲突比较少,也就是说读操作比较多,写操作比较小。悲观锁则和它是相反的,一般应用

2022-03-15 18:24:09 649 1

原创 单例模式.

什么是单例模式呢?单例模式是一种非常常见的设计模式。在目前的学习中有非常经典的两种设计模式——饿汉模式,懒汉模式。1.饿汉模式class singalton{ private singalton(){} private static singalton instance=new singalton(); public static singalton getsingalton(){ return instance; }}public class

2022-03-06 14:44:51 211

原创 momcoy和mommove实现

1.mommovea为目标地址,b为源地址,n为移动距离void* my_memmove(void* a,const void* b,int n) { assert(a!=NULL && b!=NULL); void* tmp = a; if (a <= b || (char*)a >= ((char*)b + n)) { while (n--) { *(char*)a = *(c

2022-02-21 00:21:54 499

原创 七大排序算法

1.插入排序思想:拿一个元素和它相邻前面的元素相比较,如果比这个元素小,那么就不动,如果比它大那么就交换位置。利用这种思想,我们先拿第二个元素与第一个元素相比较,比较完后,前两个就是有序的,然后再拿第三个与前两个相比,前三个就是有序的,以此类推,一直到arr.lenth的元素与前arr'.lenth-1个元素相比较。那么前arr.lenth的元素都是有序的。代码如下:public static void sort1(int []arr){ int i = 1;

2021-12-28 16:40:57 257

原创 c语言——潘多拉魔盒的钥匙

自我介绍我是一名大三非科班的学生,目前已经对c语言有了一个系统性的了解,目前对这个方面的前景非常看好,而且自己对编程也是非常感兴趣。希望自己好好学习技术。目标我的编程目标就是能在这个行业慢慢成长,一直坚持学习,成长为行业大牛。路线现在网络上的资源是非常多的,在学习编程的路上我应该还有很长的路要走,所以我目前的打算是先学习c再学习java然后再抽时间把计算机的专业理论知识学习下。学习时长我每周花费的学习时间会至少在20个小时上,希望自己一直不要放弃。目标公司我自己的目标公司

2021-10-16 19:58:12 145

原创 c语言实现三子棋

如果我们要用c语言实现三子棋,我们首先要考虑一下游戏的界面,其次我们需要想一下游戏的思路。1.实现游戏界面2.游戏的思路整体思路需要实现三子棋,我们首先需要考虑棋盘是用什么做。我们可以写一个数组来作为棋盘。①我们需要把数组进行初始化,要给我们下棋的地方进行清空:②我们应该把棋盘打印出来,并且加上轮廓③该玩家开始下棋了④电脑开始下棋⑤判断棋盘是否满⑥判断输赢在每次进行③④过程中我们都要再进行一次⑤⑥过程的检验...

2021-09-08 09:23:56 56

空空如也

空空如也

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

TA关注的人

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