D.Test.n
答案:
D
解析:
答案:D
A:编译不成功,因为float浮点类型默认是double类型 所以float f=1.0f;(必须加上f 强调定义的是float)此处是精度由高(double)向低(float)转型所以会报错 但是若是float f=1;这里是默认类型是Int 类型 精度由低(int)向高转型(float)不丢失精度不会报错。
B:this的使用时针对在方法内部使局部变量等值于实例变量而使用的一个关键字,此处的n是静态变量而非实例变量 所以this的调用会出错(试想一下,static本来是全类中可以使用的,是全局的,你非得this去调用,这不是区分局部变量和实例变量的分水线吗?但是此处是全局的,不需要区分)
C:m是实例变量,什么是实例变量:就是需要new 一个对象出来才能使用的,这里直接用类名就调用了,jvm怎么知道m是谁?
D:类变量可以通过类直接调用
10.在try的括号里面有return一个值,那在哪里执行finally里的代码?
A.不执行finally代码
B.return前执行
C.return后执行
答案:
B
解析:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
11.多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为 ()?
A.同步
B.异步
C.只读
D.只写
答案:
A
解析:
答案:A
对该数据加锁,放在同步代码块中
synchronize(){
}
12.下列关于计算机系统和Java编程语言的说法,正确的是()
A.计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B.Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C.在程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释。
D.Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
答案:
C
解析:
软件分为系统软件和应用软件
A.监视器
B.虚拟机
C.多个CPU
D.异步调用
答案:
A
解析:
同步的两种方式:同步块和同步方法
对于同步来说都是使用synchronized方法
每一个对象都有一个监视器,或者叫做锁。
14.变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF;变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000。则a+b的结果用10进制表示为多少?
A.1
B.-1
C.263+262+…+22+21+2^0
D.–(263+262+…+22+21+2^0)
答案:
B
解析:
0x7FFFFFFFFFFFFFFF + 0x8000000000000000 = 0xFFFFFFFFFFFFFFFF 转为源码 = -1
A.volatile,synchronized
都可以修改变量,方法以及代码块
B.volatile,synchronized 在多线程中都会存在阻塞问题
C.volatile能保证数据的可见性,但不能完全保证数据的原子性,synchronized即保证了数据的可见性也保证了原子性
D.volatile解决的是变量在多个线程之间的可见性、原子性,而sychroized解决的是多个线程之间访问资源的同步性
答案:
C
解析:
关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且只能修改变量,而synchronized可以修饰方法,以及代码块。
多线程访问volatile不会发生阻塞,而synchronized会出现阻塞
volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性,也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步
关键字volatile解决的下变量在多线程之间的可见性;而synchronized解决的是多线程之间资源同步问题
16.Which keyword can protect a class in a package from accessibility by the classes outside the package but not package inside ?
A.private
B.protected
C.final
D.don’t use any keyword at all (make it default) ?
答案:
D
解析:
略
A.不管是post还是get方法提交过来的连接,都会在service中处理
B.doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的
C.service()是在javax.servlet.Servlet接口中定义的
D.service判断请求类型,决定是调用doGet还是doPost方法
答案:
B
解析:
doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的
18.如果希望监听TCP端口9000,服务器端应该怎样创建socket?
A.new Socket(“localhost”,9000);
B.new ServerSocket(9000);
C.new Socket(9000);
D.new ServerSocket(“localhost”,9000);
答案:
B
解析:
ServerSocket (int port)
Creates a server socket, bound to the specified port.
Socket(InetAddress address, int port)
Creates a stream socket and connects it to the specified port number at the specified IP address.
A.isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/
;
B.isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/
;
C.isIDCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/
;
D.isIDCard=/^[1-9]\d{5}[1-9]\d{3}((9\d)|(1[9-2]))(([0|1|2]\d)|3[9-1])\d{4}$/
;
答案:
AC
解析:
略,关于正则表达式的内容,可关注我个人微信公众号查看相关文章
A.sleep()
B.wait()
C.join()
D.yield()
答案:
BC
解析:
1.sleep()方法
在指定时间内让当前正在执行的线程暂停执行,但不会释放“锁标志”。不推荐使用。
sleep()使当前线程进入阻塞状态,在指定时间内不会执行。
2.wait()方法
在其他线程调用对象的notify或notifyAll方法前,导致当前线程等待。线程会释放掉它所占有的“锁标志”,从而使别的线程有机会抢占该锁。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
笔者已经把面试题和答案整理成了面试专题文档
记、源码讲义、实战项目、讲解视频**
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-Rw8oi9LP-1711052945775)]
最后
笔者已经把面试题和答案整理成了面试专题文档
[外链图片转存中…(img-wc6BHHsu-1711052945776)]
[外链图片转存中…(img-V8UF3mkk-1711052945776)]
[外链图片转存中…(img-Z879bLBn-1711052945777)]
[外链图片转存中…(img-w2QvimGL-1711052945777)]
[外链图片转存中…(img-bFBNHfDT-1711052945777)]
[外链图片转存中…(img-Ektkj7yG-1711052945778)]