自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 List中Add()与AddAll()的区别

当存在两个集合List1和List2的时候:List1.Add(List2)是将List2集合这个整体作为一个整体元素添加到List1中;而List1.AddAll(List2)是将List2这个集合中的每一个元素都作为一个独立的个体元素添加到List1中;

2022-12-14 21:43:35 541 1

原创 网络编程套接字socket

一.网络编程文章分以下几个部分:网络编程socket套接字UDP数据报套接字编程TCP流套接字编程一.网络编程。

2022-12-12 21:33:18 558

原创 synchronized(使用方法+内部原理+死锁)

造成死锁的原因是:第一把锁能够加锁成功,但是在对第二把锁进行加锁的时候,因为锁已经被占用了,所以会产生阻塞等待,要等待第一把锁解锁之后,第二把锁才能加锁成功。在初始使用的时候,是乐观锁/轻量级锁/自旋锁,如果竞争不激烈,就处于上述状态不变,如果竞争激烈,synchronized会自动升级为悲观锁/重量级锁/挂起等待锁。在使用synchronized关键字的时候,不必关心这个锁对象究竟是谁,是哪种形态,只是关心两个线程是否锁的是同一个对象,锁同一个对象就会产生锁竞争,锁的不是同一个对象就不会产生锁竞争。

2022-11-17 09:39:38 2314

原创 进程与线程(基础版上)

针对进程1和进程2来说,两个进程能访问的内存空间都是0x0~0xFFFF这一段,如果进程不小心访问了更大的内存空间,在MMU映射的时候,MMU就能及时发现,从而避免对物理内存产生影响。所以,创建进程势必要占用内存空间,线程占用的内存空间上会有各种区域,有的区域用来放指令,有的区域用来放数据,还有的数据用来维护进程运行状态。在并发执行的过程中,一个进程在CPU上执行了一会之后,要切换给别的进程,就要对当前的进程进行一个存档的操作,下次再轮到它执行的时候,就直接读档,恢复之前的进程状态,继续往下执行。

2022-11-10 22:16:40 140

原创 深入理解计算机系统—计算机系统漫游1.1

从今天开始,就要每天给自己加点餐了~从今天开始,会慢吞吞的开始啃《深入理解计算机系统》这本书了~从今天开始,每天的输入内容都会在C站上进行分享、输出了~每天的内容不多,日积月累下来,希望我的读者和我都会有一个大的突破~计算机系统是由硬件和系统软件组成的,硬件和软件二者相互配合、共同工作来运行应用程序。当今技术迭代非常快,计算机系统的具体实现方式也随着时间不断发生改变。但是系统内在的概念却并没有改变。所有的计算机系统都有相似的硬件和软件组件,它们执行着相似的功能。1.1 信息就是.

2022-05-12 21:22:38 203

原创 java实现猜数字小游戏(简单+详细)

java语言实现一个简单的猜数字小游戏~

2022-04-28 14:59:57 7508 3

原创 C语言动态内存管理(详解版)

文章重点:1.为什么存在动态内存分配。 2.动态内存函数的使用(malloc、free、calloc、realloc)。 3.常见的动态内存错误。 4.举例几个经典的笔试题。 5.柔性数组的概念。6.使用C语言动态内存管理来实现通讯录小程序。 1.为什么存在动态内存分配??? ...

2022-04-15 16:38:31 2050 2

原创 C语言中关键字const、typedef

const:const是C语言的一个关键字,是用来定义常量的。const是常属性的意思,当一个变量被const修饰之后,其值不能再被改变了,但它仍然是一个变量,只不过有了常属性。我们如何才能验证这一点呢?我们知道,在C99标准中规定了在指定数组大小的时候可以使用变量来进行初始化,但当我们在不支持C99标准的VS2022下使用变量来初始化数组的大小时,编译器会报错,这就说明了:一个变量虽然被const修饰,但其仍然是一个变量,只不过具有了常属性,再被修饰之后就不能再次被修改了。下面我们来介绍关键字co

2022-04-04 17:09:55 1477 3

原创 指针笔试题详解

本次文章将讲述几道关于指针的笔试题,每道题都以画图的形式为主,这样会方便我们更加细致的理解。在看问题之前我们要先区分在指针中一个最关键的概念:数组名的意义:1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。2.&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。3.除此之外所有的数组名都表示首元素的地址。笔试题1:在这道题中 &a 代表整个数组a的地址,将其赋给指针变量ptr中,ptr本应该是一个数组指针,却被强制类型转换为

2022-03-20 15:47:00 457 1

原创 求一个整数在内存中存储的二进制序列中1的个数的三种思路

先将代码敲出来方法一:#include<stdio.h>int main(){ int n = 0; scanf("%d", &n); int i = 0; int count = 0; for (i = 0; i <= 31; i++) { if (1 & (n >> i)) count++; } printf("%d", count); return 0;}也是最常规的一种方法,将这个整数的二进制序列按位与上1

2022-03-07 22:06:04 421 2

原创 数据在内存中的存储

文章重点:1.数据类型详细介绍 2.整形在内存中的存储 3.大小端字节序介绍及判断(将会在下一节文章中介绍浮点型在内存中的存储)1.数据类型的详细介绍:c语言中基本的内置类型有:char:字符数据类型 short:短整型 int:整形 long:长整型 long long:更长的整形 float:单精度浮点数 double:双精度浮点数如果想要知道它们所占存储空间的大小,可以在编译器上运行如下代码:其中sizeof是一个操作符,是用来计算操作数的类型长度,并且是以字节为单位的。.

2022-03-06 10:20:26 631 1

空空如也

空空如也

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

TA关注的人

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