校招选择题汇总【JavaSE(1)】含答案解析

2024-05-08 18:18

本文主要是介绍校招选择题汇总【JavaSE(1)】含答案解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目1

答案:D

java常见修饰符

权限修饰符:

private :        修饰私有变量

默认修饰符default(不用把default写出来): 比private限制更少,但比protected限制更多

protected:    修饰受保护变量

public :         修饰公有变量

状态修饰符:

final 最终变量(final修饰类,该类不能被继承,final修饰方法,该方法不能被重写,final修饰变量,该变量不能被重新赋值(相当于常量))

static 静态变量(随着类的加载而加载,优先于对象存在,被所有对象所共享,可以通过类名调用)

抽象修饰符:

abstract 抽象类&抽象方法(抽象类不能被实例化,抽象类中不一定有抽象方法,但有抽象方法的类必须定义为抽象类)

题目2

答案A

在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,呼吁很久的String支持也终于被加上了。

在switch语句中,表达式的值不能是null,否则会在运行时抛出NullPointerException。在case子句中也不能使用null,否则会出现编译错误。

同时,case字句的值是不能重复的。对于字符串类型的也一样,但是字符串中可以包含Unicode转义字符。重复值的检查是在Java编译器对Java源代码进行相关的词法转换之后才进行的。也就是说,有些case字句的值虽然在源代码中看起来是不同的,但是经词法转换之后是一样的,就会在成编译错误。比如:“男”和“\u7537”就是一个意思。

題目3

答案:B

c1 = new Cat(10L);
c2 = new Cat(10L);

A c1和c2是两个参数相同的不同对象,c1!=c2,返回false

B c2和c3指向同一个引用,所以c2==c3,返回true

C m与c1是不同类型,不相等,返回false

D c1没有定义equals方法,默认调用Object类的equals方法,返回false

题目4

答案:A

A是静态方法,可以直接用如下形式调用 Test.method(); 

B是普通public方法,必须实例化类,Test test = new Test(); test.method(); 

C是protected方法,用法同B,只是对于其他的外部class,protected就变成private; 

D是抽象方法,必须被子类继承并重写,然后调用的方式同B。 

题目5

答案:D

for(i=1;i<=5;i++) 这样理解就好了,sum是1+2+3+4+5;

题目6

答案:D

数组初始化有三种方式:

  1. 动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
  2. 静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
  3. 默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    public class Test {

     public static void main(String[] args) {

         //动态初始化

         int[] a;//int a[];两者都可以

         a = new int[10];

         a[0] = 0;

         a[1] = 1;

         a[2] = 2;

         //静态初始化

         int[] b = {0, 1, 2};//int b[] = {0, 1, 2};两者都可以

         //默认初始化

         int[] c = new int[10];//int c[] = new int[10];两者都可以

     }

    }

题目7

答案:C

B、D不是线程的方法。

A、线程开启的方法,线程状态从new变成了runnable。下图是线程的状态转换图。

 

题目8

答案:B

this(x),这种形式的调用就ok

题目9

答案:B

JVM是Java Virtual Machine(Java 虚拟机 )的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

简单来看,虚拟机本质就是一个进程。模拟平台操作的一个进程。

题目10

答案:A

构造方法 必须满足以下语法规则:
(1)方法名必须与类名相同;
(2)不要声明返回类型;
(3)不能被static、final、synchronized、abstract和native修饰;
(4)构造方法用final和abstract修饰没有意义。

题目11

答案:D

继承具有传递性,子类可以无条件向上转型!

题目12

答案:B

在接口里面的变量默认都是public static final 的,它们是公共的,静态的,最终的常量.相当于全局常量,可以直接省略修饰符。

实现类可以直接访问接口中的变量

题目13

答案:B

字符用单引号,字符串用双引号,与引号中的内容无关

题目14

答案:A

这道题考的不是知识掌握能力,而是审题!!!!

题目15

答案:A

这题目C选项其实是if(i>10) throw new Exception e("something’swrong!"); 考察的点是是否需要给Exception起名字 而不是楼上那些说题目故意加个e的

题目16

答案:D

1)不论有什么运算,小括号的优先级都是最高的,先计算小括号中的运算,得到x+y +""+25+y

2)任何字符与字符串相加都是字符串,但是是有顺序的,字符串前面的按原来的格式相加,字符串后面的都按字符串相加,得到25+“”+25+5

3)上面的结果按字符串相加得到25255

题目17

答案:E

i++是先取值再加,所以第一个括号里表达式值为5,出了括号后i的值为6

++i 是先加再取值,所以第二个括号里表达式的值相当于6+1之后取值为7,出了括号后i的值为7

i--是先取值再减,所以第三个括号里表达式值为7,出了括号后i的值为6

--i是先减再取值,所以第四个括号里表达式的值相当于6-1之后取值为5,出了括号后i的值为5

综上s=5+7+7+5=24,答案为E

题目18

答案:D

同步是害怕在操作过程的时候被其他线程也进行读取操作,一旦是原子性的操作就不会发生这种情况。

因为一步到位的操作,其他线程不可能在中间干涉。另外三项都有读取、操作两个步骤,而X=1则是原子性操作。

题目19

答案:B

考察值传递和引用传递。对于值传递,拷贝的值用完之后就会被释放,对原值没有任何影响,但是对于引用传递,拷贝的是对象的引用,和原值指向的同一块地址,即操作的是同一个对象,所以操作之间会相互影响

所以对于String str是值传递,操作之间互不影响,原值保持不变。而ch是数组,拷贝的是对象的引用,值发生了改变,因此选择B

题目20

答案:B

java丢弃了指针。

java的立即回收不是程序结束后回收垃圾,在程序过程中就会,如对象呗赋值NULL,该对象就成为可回收对象。

题目21

答案:A

forward和redirect是最常问的两个问题

forward,服务器获取跳转页面内容传给用户,用户地址栏不变

redirect,是服务器向用户发送转向的地址,redirect后地址栏变成新的地址

因此这个题是A

题目22

答案:B

 

private

default

protected

public

同一个类中

同一个包中

 

子类中

 

 

全局范围内

 

 

 

( 1 )对于外部类而言,它也可以使用访问控制符修饰,但外部类只能有两种访问控制级别: public 和默认。因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此 private 和 protected 访问控制符对外部类没有意义。

( 2 )内部类的上一级程序单元是外部类,它具有 4 个作用域:同一个类( private )、同一个包( protected )和任何位置( public )。

( 3 ) 因为局部成员的作用域是所在方法,其他程序单元永远不可能访问另一个方法中的局部变量,所以所有的局部成员都不能使用访问控制修饰符修饰。

题目23

答案:A

short类型转为byte类型出错

a1*a2结果为int类型,转为byte类型出错

题目24

答案:C

枚举类有三个实例,故调用三次构造方法,打印三次It is a account type

题目25

答案:B

执行obj.wait();时已释放了锁,所以t2可以再次获得锁,然后发消息通知t1执行,但这时t2还没有释放锁,所以肯定是执行t2,然后释放锁,之后t1才有机会执行。

题目26

答案:ABCD

 
1、加载JDBC驱动程序:
2、提供JDBC连接的URL   
3、创建数据库的连接   
4、创建一个Statement   
5、执行SQL语句   
6、处理结果   
7关闭JDBC对象    

题目27

答案:CD

简单记忆线程安全的集合类: 喂!SHE!  喂是指  vector,S是指 stack, H是指    hashtable,E是指:Eenumeration

题目28

答案:CDE

1

2

3

4

Integer a = 1000, b = 1000; 

System.out.println(a == b);//1 false

Integer c = 100, d = 100; 

System.out.println(c == d);//2 true


Integer a = 1000  它的内部就是这样的:   Integer i = Integer.valueOf(100);

而valueOf方法内部会去取缓存(默认范围 [-128, 127]) ,不会创建新对象。

题目29

答案:CD

A错,调用Base这个构造方法应该这样  new Base(a,b)
B错,和C相比应该是分号不是逗号,帅的一塌糊涂
C正常赋值操作
D调用本类的构造方法

题目30

答案:ABD

1、自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁

2、阻塞锁 被阻塞的线程,不会争夺锁。

3、可重入锁 多次进入改锁的域

4、读写锁

5、互斥锁 锁本身就是互斥的

6、悲观锁 不相信,这里会是安全的,必须全部上锁

7、乐观锁 相信,这里是安全的。

8、公平锁 有优先级的锁

9、非公平锁 无优先级的锁

10、偏向锁 无竞争不锁,有竞争挂起,转为轻量锁

11、对象锁 锁住对象

12、线程锁

13、锁粗化 多锁变成一个,自己处理

14、轻量级锁 CAS 实现

15、锁消除 偏向锁就是锁消除的一种

16、锁膨胀 jvm实现,锁粗化

17、信号量 使用阻塞锁 实现的一种策略

18、排它锁:X锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

这篇关于校招选择题汇总【JavaSE(1)】含答案解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/971067

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2