作者:爱塔居
专栏:笔试强训
作者简介:大三学生,希望和大家一起进步!
1.下列关于ThreadLocal的描述中,错误的是()
A.ThreadLocal采用线程隔离的方式存放数据,可以避免多线程之间出现数据访问冲突
B.ThreadLocal提供了set方法,能够以当前线程为key来存放数据。
C.ThreadLocal提供了get方法,能够以当前线程为key来获取数据。
D.ThreadLocal提供了delete方法,能够以当前线程为key删除数据。
ThreadLocal高频面试题_黎杜的博客-CSDN博客
ThreadLocal
,即线程本地变量。如果你创建了一个ThreadLocal
变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是在操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了并发场景下的线程安全问题。
2.TCP释放连接第二次挥手时ACK(),第三次挥手时ACK()?
A.不存在,不存在
B.不存在,值是1
C.值是1,值是1
D.值是1,不存在
TCP连接的建立与释放(三次握手与四次挥手)_duanduan_l的博客-CSDN博客
3.下面有关JVM内存·,说法错误的是?()
A.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的
B.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等,是线程隔离的
C.方法区用于存储JVM加载的类信息、常量、静态变量、即使编译器编译后的代码等数据,是线程隔离的
D.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
方法区和Java堆一样,是被所有线程共享的区间,不是线程隔离的。
墙裂推荐看这篇:一文搞懂JVM内存结构_jvm 内存结构_涛声依旧叭的博客-CSDN博客
4.下面不是面对对象的基本原则的是?
A.单一职责原则(Single-Resposibility Principle)
B.开发封闭原则(Open-Closed principle)
C.抽象类原则(Abstract-Class principle)
D.依赖倒置原则(Dependecy-Inversion Principle)
E.接口隔离原则(Interface-Segregation Principle)
面向对象设计七大原则_面向对象设计的七大原则_Mark_Tsy的博客-CSDN博客
七大原则:
1.单一职责原则
2.依赖倒置原则
3.接口隔离原则
4.组合/聚合复用原则
5.迪米特原则
6.里氏替换原则
7.开闭原则
5. 以下选项中,对Java关于内存回收的说法正确的是()
A 程序员必须创建一个线程来释放内存
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存对象
6. 以下说法错误的是()
A 数组是一个对象
B 数组不是一种原生类
C 数组的大小可以任意改变
D 在Java中,数组存储在堆中连续内存空间里
原生类有:int,double,boolean,float,byte,short,long,char。数组不属于原生类。
数组的大小定义后就是固定的,不会扩容。
数组是通过关键字new出来的。通过关键字new出来的,通常存储在堆中连续内存空间。
7 关于Java的异常处理机制的叙述哪些正确?
A 如果程序发生错误及捕捉到异常情况了,才会执行finally部分
B 其他选项都不正确
C 当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序
D catch部分捕捉到异常情况时,才会执行finally部分
finally部分,无论有没有捕捉到异常,都会执行。
8. 如何跳出Array的forEach循环?()
A break
B return true
C return false
D 以上都不是
forEach一般是应用在方法中的,返回值可能是int Stirng 当然也有可能是boolean。虽然通过return能跳出forEach循环,但是return出来的返回值并非是我们想要的。
9.如下Java语句
double x= 3.0;
int y=5;
x/=--y;
执行后, x的值是()
A 3
B 0.6
C 0.4
D 0.75
--优先级比/=高
9.下列代码运行后输出结果为()
public class Test1 {
static int cnt = 6;
static {
cnt += 9;
}
public static void main(String[] args) {
System.out.println("cnt =" + cnt);
}
static {
cnt /= 3;
}
}
A cnt=5
B cnt=2
C cnt=3
D cnt=6
先执行静态代码块,6+9=15,15%3=5
10. JUnit主要用来完成什么
A 发送HTTP请求
B 建立TCP连接
C 集成测试
D 单元测试
JUnit主要用来帮助开发人员进行Java的单元测试,其设计非常小巧,但功能却非常强大。