- 博客(35)
- 收藏
- 关注
原创 线程安全问题
本篇文章主要介绍了sychronized加锁操作,死锁的成因,死锁的解决,内存可见性问题以及内存可见的解决方案,最后介绍了wait和notify的运用。
2024-07-22 09:22:53
767
原创 链表与模拟LinkedList的实现
ArrayList底层使用数组来存储元素由于其底层是一段连续空间,当在ArrayList任意位置插入或者删除元素时,就需要将后序元素整体往前或者往后 搬移,时间复杂度为O(n),。因此ArrayList不适合做任意位置插入和删除比较多的场景。因此:java 集合中又引入了LinkedList,即链表结构。
2024-04-26 21:22:53
1208
20
原创 Java抽象类
1.一个方法可以被修饰为abstract,此时代表这个方法可以不进行实现。此时被称为抽象方法!2.如果一个类当中 包含抽象方法,此时这个类必须是抽象类。没有抽象方法,这个类也可以被写为抽象类!问题:什么情况下 一个类 可以被定义为抽象类?答:当不能描述具体的一个对象的时候3.抽象类当中 定义的成员 和普通类没有区别。4.抽象类不可以被实例化问题:抽象类 不可以被实例化 那么 存在的意义是什么?答:为了被继承5.当一个普通类继承这个抽象类之后,必须重写抽象类当中的抽象方法!
2024-04-20 10:48:10
748
10
原创 Java 继承
Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是 现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑。比如:狗和猫,它们都是一个动物。
2024-04-10 16:55:54
470
18
原创 深⼊理解指针5
回调函数就是⼀个通过函数指针调⽤的函数。如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。回调函数不是由该函数的实现⽅直接调⽤,⽽是在特定的事件或条 件发⽣时由另外的⼀⽅调⽤的,⽤于对该事件或条件进⾏响应。我们可以把调⽤的函数的地址以参数的形式 传递过去,使⽤函数指针接收,函数指针指向什么函数就调⽤什么函数,这⾥其实使⽤的就是回调函 数的功能。
2024-03-27 17:59:01
479
16
原创 C语言中static关键字的解释与用法
结论:static修饰局部变量改变了变量的⽣命周期,⽣命周期改变的本质是改变了变量的存储类型,本 来⼀个局部变量是存储在内存的栈区的,但是被 static 修饰后存储到了静态区。存储在静态区的变量和全局变量是⼀样的,⽣命周期就和程序的⽣命周期⼀样了,只有程序结束,变量才销毁,内存才回收。中,我们从输出结果来看,i的值有累加的效果,其实 test函数中的i创建好后,出函数的时候是 不会销毁的,重新进⼊函数也就不会重新创建变量,直接上次累积的数值继续计算。2. 全局变量的⽣命周期是:整个程序的⽣命周期。
2024-02-03 15:05:53
362
2
原创 【一维数组】交换数组:将数组A中的内容和数组B中的内容进行交换。(数组一样大)
【一维数组】交换数组:将数组A中的内容和数组B中的内容进行交换。(数组一样大)
2024-02-01 11:01:33
213
1
原创 【一维数组】输入10个整数,要求按输入时的逆序把这10个数打印出来。逆序输出,就是按照输入相反的顺序打印这10个数
【代码】【一维数组】输入10个整数,要求按输入时的逆序把这10个数打印出来。逆序输出,就是按照输入相反的顺序打印这10个数。
2024-02-01 09:56:58
249
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人