自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程的状态

此时当调用start之后,main线程会进入sleep(200),以此来确保t线程在sleep(1000)之中,所以此时t线程的状态就是TIME_WATING;以上就是线程的六种状态,其中4,5,6是一类阻塞状态,而第六种状态是针对等待的线程,而不是被等待的线程。此处调用start之后,t线程就一直在CPU上运行,因为有个while循环,所以会是RUNNABLE;此处,是main线程等待t线程,所以对于main线程来说,main线程的状态是WATING。此处t.getState()就会是NEW;

2024-09-23 21:46:21 257

原创 Java中多线程的终止

这是因为在执行t.interrput()时,t线程还在sleep当中,此时t.interrput()不仅会设置标志位,还会将sleep给唤醒,而sleep被唤醒之后,又会清空刚才设置的标志位,抛出Runntime异常,又因为这个异常并未被catch,所以会出现上述情况,正确的做法是将 原来的throw删掉,直接写上return/break就好了。在Java中终止线程是一个比较温柔的过程,是让线程中的run方法执行完,被终止线程自己决定要不要终止,没有其他线程的干扰。先要获取到线程的引用。

2024-09-23 20:38:05 341

原创 Java多线程的代码实现

/创建出的线程需要执行的逻辑。//创建出的线程需要执行的逻辑。//创建出的线程需要执行的逻辑。//真正在系统内核创建线程。//创建出的线程需要执行的逻辑。//真正在系统内核创建线程。//真正在系统内核创建线程。

2024-09-16 10:48:13 433

原创 Java中多线程start和run的区别

start调用方法后,start方法内部会调用java本地方法,真正的启动线程,并执行run方法中的代码 ,run方法执行完之后进入销毁阶段。run方法是一个类中的普通方法,主动调用和调用普通方法一样,会顺序执行一次。start方法的作用是真正的申请系统线程,去创建一个线程。run方法的作用是描述线程具体要执行的任务。

2024-09-16 10:19:09 250

原创 【Java】多线程

现代CPU都是多核心CPU,为了更好的利用这些核心,我们引入了多进程编程,也就是 ‘并发编程’,但是由于进程的创建和销毁的开销太大,会消耗太多的时间和空间,一旦需求场景要求频繁的创建和销毁进程,这时候开销就会特别明显,为了解决开销比较大的问题,发明了 ‘线程’,线程可以理解成是更轻量的进程,也能解决并发编程的问题,但是线程的创建和销毁的开销更低,因此,多线程成了当下主流的并发编程方式。同样和进程一样,如果多个线程在一个进程之中,每个线程都会有自己的状态,优先级,上下文,记账信息。

2024-09-15 08:53:42 371

原创 CPU进程的调度

这个时候操作系统就会对进程进行调度,进程调度的关键就是 ‘分时复用’ ,对于单核cpu来说,这个时刻CPU运行进程1,然后下一个时刻,CPU运行进程2,然后再下一个时刻,CPU运行进程3.........由于CPU的运算速度非常快,所以肉眼是观察不到的,站在宏观(人)的角度来看,这样的过程可以看作是同时执行,所以可以叫做 ‘并发执行’。上述调度的过程都是由系统内核完成的,但是程序员在写代码的时候是会收到影响的,所以作为一个程序员还是要了解这个过程的。谁先来,谁后来,谁多,谁少的问题。

2024-09-13 20:11:26 254

原创 数据库的索引

2):它的叶子节点是全集,并且用类似于链表的结构连接,这样就非常便于范围查询(如果查询从4到9的整数集,只需要找到4和9的叶子节点,然后从4开始往后遍历到9就好);3):B+树所有的查询都是要落到叶子节点上完成的,任何一次查询,经历的硬盘IO次数和比较次数都差不多,这样就使得查询开销非常稳定;目的是为了加快查询的速度,就像书的目录一样,会消耗纸张,索引会消耗额外的硬盘空间,还可能会影响到增删改的效率,3):删除索引 (危险操作,只能删自己创建的索引,不能删自动生成的索引)数据库的索引类似于书的目录,

2024-08-23 14:59:36 144

原创 MySQL中的数据表操作

以下操作的前提,都是在选中数据库的操作之后进行的,use 数据库名;① 查看当前数据库中,有哪些表 这里是我提前创建了这些列,不然都是Empty set;② 创建表 ③ 查看表的详细信息这里的详细信息指的是数据表中的列, 和相应列的类型........ ④ 删除表

2024-08-03 11:26:07 154 1

原创 MySQL中的数据库操作

① 展示数据库: ② 创建数据库: ③ 选中数据库: ④ 删除数据库: if not exists 和 if exists 可以穿插在这些语句中间:

2024-08-03 11:01:59 224

原创 MySQL中的模糊匹配Like

select * from student where name like '_ _林';select * from student where name like '张%';例如:查找student表中名字为三个个字,且结尾为林的同学。例如:查找student表中姓张的,且名字为两个字的同学。例如:查找student表中姓张的同学。例如:查找英文名字中带有A的同学。

2024-08-03 10:26:50 243

原创 【Java】计数排序

计数排序要知道数据的范围,适合用于集中在某一集合的数据。1:计数排序是非基于比较的排序。时间复杂度:O(n +范围);//1.先找出数据的范围。空间复杂度:O(范围);

2024-05-28 00:23:05 157

原创 【Java】String,Integer,Character之间的相互转换

一:String 和 Integer1:String 转 Integer2:Integer 转 String 二:String 和 Character1:String 转 Character2:character 转 String三:Character 和 Integer1:Character 转 Integer

2024-05-13 20:35:46 407

原创 【JavaSE】在java中生成随机数的用法和表面理解

但是种子只是提供一个算法,每次运行程序时随机数并没有改变,实际随机数的范围还是通过nextInt()来控制,控制方法和效果和上文形同,如果想要改变随机数则要改变种子数。这里其实就是在new Random的括号里加了一个int类型的数,这就叫种子。这里有一个用法就是如果要生成[1 , 6]之间的随机数,可以。方法一:(不带种子的)

2024-04-23 20:58:21 204

原创 【JavaSE】内部类

这里就是直接创建了一个匿名对象,通过it来访问test,这里还发生了动态绑定。匿名内部类与接口有关,是在“实例化接口”的过程中创建的匿名对象,及。然后就可以通过inner来访问InnerClass里面的成员了。此时的date1访问的就是外部类的date1,及打印1。此时的访问也是外部类的date1,及打印1。不能被public,static等修饰。a:如何实例化内部类: 可以通过。定义在类的内部,方法的外部,如。只能在所定义的方法体内部使用。这两行代码来实例化,定义在外部类的方法内。

2024-04-16 17:50:22 280 1

原创 【JavaSE】Java中方法的重载

【代码】【JavaSE】Java中方法的重载。

2024-03-31 21:02:45 134 1

原创 【JavaSE】Java中的数据类型及其转换和其特殊情况

只能是小字节数据转换成大字节数据。例:int类型转long类型。

2024-03-16 20:55:51 284 1

原创 【C语言】有关自定义函数中数组传参问题【冒泡程序】

/输入数据 符合题目要求在main函数中。//函数的返回类型是void,sz为数组元素个数。

2023-12-14 19:39:53 438 1

原创 【C语言】有关计算十五位数加法的创新型方法

然后就是将字符转换成你想输入的数字。最后就是每位数的进一。

2023-12-10 20:30:36 421 1

原创 【C语言】有关scanf,printf,gets,puts,getchar,putchar函数输出输入字符串时的表层区别

/正常输入就好,不用空格隔开 ,一次只会读取一个字符。//正常输入就好,不用空格隔开 ,一次只会读取一个字符。//创建字符数组ch。//创建字符数组ch。//创建字符数组ch。//创建字符数组ch。//创建字符数组ch。//创建字符数组ch。//创建字符数组ch。

2023-12-10 15:47:12 587 1

原创 【C语言】有关变长数组的运用

例如:创建一个变长数组sum,数组sum的数据个数由自己输入。正确编程:A(形式参数在数组创建前被输入数据)另外变长数组在VS2022上是编译不了的。其实从上面两个代码来看变长数组不用初始化。,并且数组的形式参数要在数组创建的语句。这样数组sum就能存放n个整型数。B(形式参数在数组创建前被赋值)这样数组sum也能存放n个整型数。以此类推,二维变长数组也如此。

2023-12-09 21:34:09 679

原创 【C语言】斐波那契数列

【代码】【C语言】斐波那契数列。

2023-12-04 19:57:32 548

原创 【C语言】循环结构求水仙花数

【代码】【C语言】循环结构求水仙花数。

2023-12-04 18:58:45 710

原创 【Keil5]用cror和crol函数实现流水灯

那么以此类推,crol函数右移也是一样的。用cror函数实现流水灯的代码。

2023-12-03 10:21:21 3893 2

原创 【C语言】在C语言编写中遇到Run-Time Check Failure #2问题

我们要存入自己输入的十个字符,但由于。小伙伴们在编写C语言程序时会遇到。

2023-11-29 22:59:57 620 1

原创 【Keil5】在keil5中将第二个项目的代码转换成HEX文件后找不到了?

1.我们用Keil5创建了一个实现一个LED灯亮的代码并把它转换成了HEX文件(这里就叫LED1吧),在Proteus8中能找到。

2023-11-25 20:16:50 3785

原创 [keil5]中点亮一个LED灯并在仿真中实现[Proteus8]【AT89C51】

前言:这里先讲Proteus8的用法。

2023-11-24 21:35:50 1051 1

原创 在 keil5中点亮一个LED灯,流水灯(AT89c51)

1.打开keil5 2. 创建新项目3.自己取一个文件名并保存(小编就叫LED3)3.在search里搜索AT89c51并点击OK4.这里选YES5.点击target前的加号6.右击source group后在点击Add new item to Group7.选择C File,文件名一般为main,然后点击OK8.写代码,这里先让一个LED灯亮,编写完要点击左上角第二个地方编译, - 0 Error(s), 0 Warning(s)就成功了,如果失败了就重写,然后点击左上角第四个重新编译流水灯

2023-11-24 10:03:58 5638 2

原创 在C语言中编写有关时间的输出程序时补0的问题

很多小伙伴们在编写有关时间输出问题时总被0给困扰,计算程序已经写的非常好,但最后输出时不标准;但很多人总是在秒上少一个0,例如11:10:2;最后输出正确的是 11:10:02;这里就是对%d的运用,

2023-11-23 12:42:19 765

空空如也

空空如也

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

TA关注的人

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