目录
01---->lastIndexOf(String str, int index)
01---->lastIndexOf(String str, int index)
02---->for循环语句的死循环
03---->构造方法与普通void方法区别
解释一下:
1. 构造方法的特征
• 它具有与类相同的名称;
• 它不含返回值;
• 它不能在方法中用 return 语句返回一个值;
• 当自定义了构造方法后,编译器将不再自动创建不带参数的构造方法 。
• 在构造方法里不含返回值的概念是不同于 “void” 的,在定义构造方法时加了 “void” ,结果这个方法就不再被自动调用了。
2. 构造方法的作用:
当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
04---->线程的五种状态
新建状态:创建一个线程
就绪状态:此线程具备除了时间片外的所有资源
运行状态:抢占到时间片后进入运行期
阻塞状态:由运行状态被阻塞
死亡状态:线程结束
05---->封装的作用及优势(细)
解释一下:
封装可以看到通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制;
使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作
06---->静态方法的调用
07---->有疑问!!!!!!!!
解释: 有疑惑,等待解决!!!!!!!!!!!!!!!
08---->HashMap的细节
解释: ArrayList底层数组, LinkedList是链表 查询前者快, 增删后者快 D一般与泛型一起使用
09----> sleep()与wait()区别
解释一下:
最直接的区别
有线程锁 即使调用了sleep() 线程暂停了,但是不会释放线程锁,其他的也不能使用,一直等待sleep结束,与Scanner 相似
wait() : 调动就释放对象锁,其他可以调用,可以通过notify方法进行调用,使其变成准备就绪状态
10---->线程唤醒notify与notifyAll区别
解释一下:
- wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池中。
- notify():唤醒线程池中一个线程(任意),没有顺序。
- notifyAll():唤醒线程池中的所有线程。
- 线程终端异常
- 调用start()方法也仅仅是到准备就绪状态,并不是立即执行
11---->声明是否合法(基础数据类型)
解释一下: (全方位总结---------->)
12---->链表细节知识点
解释一下:
特别注意: 链表不可以随机访问任一元素,这是顺序表的特点。
介绍链表细节---------------->
链表结构
可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。
在计算机科学中,链表作为一种基础数数据结构可以用来生成其它类型的数据结构。
13---->死循环的写法
for的死循环