自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络的一些基本概念

描述了一个设备在网络上的地址。一般情况下会把IP地址给表示成0-255之间的十进制数字,并且使用三个点进行分隔,点分十进制。

2023-11-27 22:24:17 764 1

原创 FIle,字符流,字节流

static String pathSeparator 依赖于系统的路径分隔符,String 类型的表示static char pathSeparator 依赖于系统的路径分隔符,char 类型的表示签名 说明File(File parent, String child) 根据父目录 + 孩子文件路径,创建一个新的 File 实例File(String pathname) 根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径。

2023-11-20 21:20:26 144 1

原创 IO文件类型

文件是一个广泛的概念,操作系统中,会把很多硬件设备和软件资源抽象成“文件”,统一进行管理。但是大部分情况下,谈到的文件都是指硬盘的文件。文件就相当于是针对硬盘数据的一种抽象。机械硬盘(HDD),适合顺序读写;不适合随机读写。固态硬盘(SDD),比机械硬盘效率高很多。内存vs硬盘1.内存速度快,硬盘速度慢2.内存空间小,硬盘空间大3.内存贵,硬盘便宜4.内存的数据,断电就丢失,硬盘的数据断电还在要以文件的方式操作硬盘一台计算机上有很多的文件,这些文件是通过“文件系统”来进行组织的。

2023-11-20 21:19:01 60 1

原创 线程池的简单介绍

线程的诞生是为了解决进程的创建/销毁太重了,比较慢的问题。但是如果提高创建/销毁线程的频率,线程的开销也难以忽视。这时候我们可以使用线程池。在使用第一个线程时,提前把第二个线程,第三个线程……给创建好,后续如果想要重新创建,就能直接从池子中拿来用了。那么为什么从池子中取比直接创建一个线程要快呢?从池子中取是用户态的操作;创建新线程需要用户和内核态的相互配合;操作系统是由内核和配套的应用程序构成的;2.java标准库中线程池的具体实现。

2023-11-19 21:35:46 50 1

原创 线程安全的原因和大致解决思路

线程安全的本身并不好定义,我们可以认为当某一段代码在多线程环境下运行的结果和在单线程环境下运行的结果是相同的,就说这个线程是安全的。

2023-11-11 19:35:51 34 1

原创 Java线程的几种状态

Thread对象已经有了。start方法还没调用。

2023-10-24 11:28:16 24

原创 Thread 的类的基本用法

不过一个值得注意的点是,利用sleep方法休眠线程1000毫秒,并不一定就是正正好好的1000毫秒,由于还存在调度的开销,可能会多那么个几毫秒。//Thread.currentThread()-->获取当前线程的实例(Thread),实际上结果就是经常用的t。//isInterrupted(),Thread内部的一个标志位,可以用来判断线程是否要结束。//让主线程等待t线程执行结束,一旦调用join,主线程就会进入阻塞状态。System.out.println("线程执行时执行的代码");

2023-10-19 22:13:10 32 1

原创 进程和线程的区别与联系

在这里我们要注意到的是,进程向CPU申请内存时是会产生极大的调遣时间的,倘若每一个任务的每一个细节都要利用进程来执行,系统的效率将会被极大地降低。而这时我们将进程和线程分工一下,进程就是专门负责进行资源的申请和分配,同一个进程中的线程共享进程所申请的资源,把任务细分给每一个线程来执行。这时候进程中有什么新的任务,就可以直接再生成一个线程来解决,而不必再向CPU申请资源。为了完成某个任务,工厂负责人需要首先申请一个空间来建造工厂,配备各种设施,接着就是雇佣工人来完成具体的任务。,是操作系统结构的基础。

2023-10-09 21:35:19 23 1

原创 进程的调度

运行态就是指正在CPU上运行的进程所除的状态,如果进程的运行过程一切正常,没有遇到其他的阻碍,这个进程就将运行结束。当一个进程A在等待另一个进程B运行结束后才能执行,那么进程B在运行结束之前,进程A就处于就绪态,等待着系统的调用。进程从CPU离开之前,会保存现场,保存当前CPU中个寄存器的状态但内存中,等下次进程回到CPU上时,就可以通过寄存器,回复回去。通过优先级机制,对不同的进程,分配了不同权重的资源。如图所示,图中的每一行都是一个进程,而每一个进程都有一个不同于其他的PID,用于辨识进程。

2023-09-30 20:19:42 32

原创 JAVA SE 专栏——类和对象

简单来说,类就是描述事物的一个集合,一个模版,比如说我们要描述一个人,我们需要描述他的身份,年龄,身高,体重等,还有他的行为。可以看到,通过调用传参,我们将“大黄”传给了name,但是成员方法中的形参代表的是狗的名字,但是这里却用了a,这样的操作显然降低了代码的可读性,那我们不如将a替换成name。在java中,被static修饰的 成员方法称为静态成员方法,是类所有,并不属于某个对象。2.不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中;现在我们利用上面的类,实例化一个对象。

2023-05-14 17:09:10 76

原创 C摘要之关键字

C语言提供了丰富的关键字,这些关键字都是语言本身预设好的,用户是不可以自己创造关键字的,所以在定义变量时,要避免变量名与关键字相同。我们对比如下两段代码,可以看到的是,被const修饰的变量无法被改变。其中,大部分关键字都是我们很熟悉的,如while,void,return 等,这里就不多赘述了,我们挑选部分讲解。static修饰局部变量改变了变量的生命周期,让局部变量出了作用域依然存在,到程序结束,生命周期才结束。常量指针指向的值不能被改变,但是指针本身是可以改变的,指针也可以指向其他的地址。

2023-04-15 00:07:17 57

原创 C摘要之转义字符

常见的转义字符

2023-04-10 22:21:52 71

原创 自定义类型-结构体

现在我们定义一个结构体变量struct stuint age;}stu1,stu2;int main()//定义一个结构体变量:struct stu是一个类型,data1是一个变量//此处将data2进行了初始化,按照结构体的类型,依次输入相应数据return 0;另外,我们也可以在定义结构体后立即进行初始化,相关代码如下struct stuint age;在定义完结构体变量后我们就可以进行赋值了struct stuint age;int main()//进行赋值。

2023-03-21 22:16:34 82

原创 strtok函数的模拟实现

本篇文章属于C语言初阶内容,请各位读者选择阅读。

2023-03-17 20:36:34 191

原创 位操作符交换两个数

位操作符交换两个数

2023-03-05 22:39:04 60

原创 原码,反码,补码--浮点数的存储

原码,反码,补码--浮点数的存储的简单说明

2023-02-25 17:42:05 935

原创 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

2023-02-07 22:59:13 241

原创 简要三子棋

三子棋的代码思路

2023-02-06 19:43:01 54

原创 一个编程菜鸟对未来编程学习的看法

一个编程菜鸟对未来编程学习的看法

2022-12-02 10:51:22 216 4

空空如也

空空如也

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

TA关注的人

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