《JAVA软件工程师》理论考试【一】
- 同步方法和同步代码块的区别是什么?
- 首先同步方法和同步代码块都有锁,同步方法需要创建一个任意对象,并且要把对象放入同步代码块中的参数中
- 同步方代码块定义,只需要把共享的代码放入run方法中的同步代码块中即可,(需要创建任意对象),同步方法定义使用,需要把共享的代码单独拿出来,放入方法中,在run方法中调用即可。
- 虽然他们都有锁,但是同步代码块的锁是创建的一个任意对象,而同步方法的锁是this
- 概括的解释下线程的几种状态。
新建状态,受阻塞,运行状态,休眠状态,等待状态(&唤醒),死亡状态
新建状态,在开启线程的时候,CPU可能会抢占受阻塞,然后再运行,再运行的时候如果遇到休眠状态,在休眠状态的同时可能会受阻塞,其他线程运行,自动休眠后如果某条线程抢到CPU,那么就开始运行,运行结束后,进入死亡状态结束,在运行时线程也可能收到阻塞,等待状态,在等待的时候,也可能收到阻塞,唤醒后线程运行
- 创建线程有几种不同的方式?你喜欢哪一种?为什么?
创建线程有三种方式,继承,实现接口(Runnable)&collect(需要用到线程池)
我最喜欢实现Runnable接口的方式
原因:(1)首先实现Runnable接口的方式,避免了单继承的局限性
(2)把线程任务单独分离了出来,把线程任务和线程对象进行了解耦
4. List、Map、Set 三个接口,存取元素时,各有什么特点?
List:在存储元素时,可以存储重复的元素,有序集合(存储时候是什么顺序,取值时就是什么顺序)有索引,取元素时,因为有索引,可以使用普通for循环遍历,还可以使用增强for和迭代器
Map:(1)是一个双列集合,一个元素有两个值(key&value)
- key值和value值数据类型可以相同,也可以不同
- Key值不能重复,value值可以重复
- 遍历,可以用keySet,返回key值,也可以用entitySet,返回key值和value值,这两种方法都可用迭代器和增强for进行遍历
Set:(1)没有索引,不能用普通for循环遍历
- 不可以存储重复元素
- 遍历:可以使用增强for,也可以使用迭代器
- Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
用equals方法区分
因为==比较的是内存地址,而equals方法是比较具体的值
- Set 和 List的区别?
Set:没有索引(不可用普通for循环遍历),不可以存储重复元素
List:有索引(可以用普通for循环遍历),可以存储重复元素
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
数组:必须指定数组长度,不可随意改变值,有索引,可以使用普通for循环和增强for遍历
ArrayList:底层是数组,不用指定数组长度,可以修改值,可以使用普通for循环和增强for遍历,便于查询,也可以删除某个元素
当查询数据频繁时,数据较多时,用ArrayList集合,
当数据较少时,并且不修改和删除时,用数组
通常用arrayList集合,便于操作
- JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try 块中可以抛出异常吗?
Throws:是在遇到异常时,抛出异常
Throw:在指定内容中,手动设置抛出异常
Try:可能会发生异常的代码块
Catch:处理异常并打印,记录日志
Finally:无论有没有异常,都会执行的代码,通常用于资源的释放,不可单独使用
可以
- 如何将数值型字符转换为数字?如何将数字转换为字符?如何取小数点前两位并四舍五入?
用intvalue方法就可以装换为数字
在数字后面加双引号即可
Math.round():此方法时将数字进行四舍五入
- 什么是线程同步 如何实现线程同步?
当一个线程在进入run方法时,就会带着锁进入,(其他线程在进入时,没有锁时不能进入的)然后运行,运行完后归还锁,下一条线程拿着锁继续运行
创建一个任意对象,然后用sytuehdfaly代码块,参数写任意对象
- CSS中class和id的区别是?
Class:在同一网页中可以使用多次
Id:在同一网页只能使用一次
- 写出以下 html 标签的含义:input form style table b img
Input:是单标签,表单的标签
Table:是表格的意思
Img:是图片
Style:内联样式
- 列出HTML里的input标签的type属性有那些值?(最少5个)
Text:文本框
Password:密码框
Button:普通按钮
Reset:重置按钮
Radio:单选框
标签:同步,JAVA,工程师,代码,遍历,线程,方法,可以,考试 From: https://blog.csdn.net/2301_76592091/article/details/144185322