Special Exercise-04 Programming Language-03JAVA-03

1.
java 中哪个关键字可以对对象加互斥锁?

A
transient
B
synchronized
C
serialize
D
static
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2017
2.
关于异常处理机制的叙述正确的是()
A
catch部分捕捉到异常情况时,才会执行finally部分
Btry区段的程序发生异常时,才会执行finally部分
Ctry区段不论程序是否发生错误及捕捉到异常情况,都会执行finally部分
D
以上都是
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:2015JavaJava工程师
3.
映射 (Map) 的key和value都不可重复。(    )


A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
4.
关于AOP错误的是?
A
AOP将散落在系统中的“方面”代码集中实现
B
AOP有助于提高系统可维护性
C
AOP已经表现出将要替代面向对象的趋势
D
AOP是一种设计模式,Spring提供了一种实现
正确答案:C
参考答案:AOPOOP都是一套方法论,也可以说成设计模式、思维方式、理论规则等等。 AOP不能替代OOPOOP是obejct abstraction,而AOP是concern abstraction,前者主要是对对象的抽象,诸如抽象出某类业务对象的公用接口、报表业务对象的逻辑封装,更注重于某些共同对象共有行为的抽象,如报表模块中专门需要报表业务逻辑的封装,其他模块中需要其他的逻辑抽象 ,而AOP则是对分散在各个模块中的共同行为的抽象,即关注点抽象。一些系统级的问题或者思考起来总与业务无关又多处存在的功能,可使用AOP,如异常信息处理机制统一将自定义的异常信息写入响应流进而到前台展示、行为日志记录用户操作过的方法等,这些东西用OOP来做,就是一个良好的接口、各处调用,但有时候会发现太多模块调用的逻辑大都一致、并且与核心业务无大关系,可以独立开来,让处理核心业务的人专注于核心业务的处理,关注分离了,自然代码更独立、更易调试分析、更具好维护。 核心业务还是要OOP来发挥作用,与AOP的侧重点不一样,前者有种纵向抽象的感觉,后者则是横向抽象的感觉, AOP只是OOP的补充,无替代关系。
知识点:JavaSpring
5.
如下Java语句 double x=2.0; int y=4; x/=++y; 执行后,x的值是()

A
0.5
B
2.5
C
0.4
D
2.0
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
6.以下语句输出的结果是()

insert image description here

A
233
B
223
C
221
D
222
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
7.
不考虑反射,String类型变量所指向内存空间中的内容是不能被改变的 。 ( )



A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
8.
静态内部类不可以直接访问外围类的非静态数据,而非静态内部类可以直接访问外围类的数据,包括私有数据。( )


A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
9.
已知有下列Test类的说明,在该类的main方法的横线处,则下列哪个语句是正确的?()
public class Test
{
    
    
private float f = 1.0f;
int m = 12;
static int n = 1;
public static void main (String args[])
{
    
    
Test t = new Test();
————————
}
}
A
t.f = 1;
B
this.n = 1;
C
Test.m = 1;
D
Test.f = 1;
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
10.
下列说法正确的是()
A
在类方法中可用this来调用本类的类方法
B
在类方法中调用本类的类方法时可直接调用
C
在类方法中只能调用本类中的类方法
D
在类方法中绝对不能调用实例方法
正确答案:B
参考答案:在类方法中不能有this关键字,,直接调用类方法即可,A错误,B正确,在类方法中可以通过创建实例对象调用类的实例方法,C\D错误
知识点:Java
11.
JDK8之前版本,HashMap的数据结构是怎样的?
A
数组
B
链表
C
数组+链表/红黑树
D
二叉树
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、数组、链表、Java工程师、安卓工程师、测试工程师、2019、测试开发工程师
12.
子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
A
父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块
B
父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
C
父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
D
父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
正确答案:C
参考答案:正确的执行顺序是:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数 也就是说非静态初始化块的执行顺序要在构造函数之前。 class SuperClass{
    
     private static String STR = "Super Class Static Variable"; static{
    
     System.out.println("Super Class Static Block:"+STR); } public SuperClass() {
    
     System.out.println("Super Class Constructor Method"); } {
    
     System.out.println("Super Class Block"); } } public class ObjectInit extends SuperClass{
    
     private static String STR = "Class Static Variable"; static{
    
     System.out.println("Class Static Block:"+STR); } public ObjectInit() {
    
     System.out.println("Constructor Method"); } {
    
     System.out.println("Class Block"); } public static void main(String[] args) {
    
     @SuppressWarnings("unused") ObjectInit a =new ObjectInit(); } } 执行完之后可以看到顺序如下: Super Class Static Block:Super Class Static Variable Class Static Block:Class Static Variable Super Class Block Super Class Constructor Method Class Block Constructor Method
知识点:Java
13.
JVM内存不包含如下哪个部分( )
A
Stacks
B
PC寄存器
C
Heap
D
Heap Frame
正确答案:D
官方解析:
知识点:JavaJava工程师、2019
14.
关于protected 修饰的成员变量,以下说法正确的是
A
可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问
B
只能被该类本身和该类的所有的子类访问
C
只能被该类自身所访问
D
只能被同一个包中的类访问
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
15.
Java的跨平台特性是指它的源代码可以在多个平台运行。()
A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
16.
下面的程序输出的结果是( )
public class A implements B{
    
    
    public static void main(String args[]){
    
    
        int i;
        A a1=new  A();
        i =a1.k;
        System.out.println("i="+i);
    }
}
interface B{
    
    
    int k=10}



A
i=0
B
i=10
C
程序有编译错误
D
i=true
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
17.
关于 Socket 通信编程,以下描述正确的是:( )

A
客户端通过new ServerSocket()创建TCP连接对象
B
客户端通过TCP连接对象调用accept()方法创建通信的Socket对象
C
客户端通过new Socket()方法创建通信的Socket对象
D
服务器端通过new ServerSocket()创建通信的Socket对象
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
18.
下列有关Servlet的生命周期,说法不正确的是?
A
在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
BServlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
C
在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
D
destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
正确答案:A
参考答案:答案:A 创建Servlet的实例是由Servlet容器来完成的,且创建Servlet实例是在初始化方法init()之前
知识点:Java
19.
关于ASCII码和ANSI码,以下说法不正确的是()
A
标准ASCII只使用7个bit
B
在简体中文的Windows系统中,ANSI就是GB2312
C
ASCII码是ANSI码的子集
D
ASCII码都是可打印字符
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaC语言
20.
下面哪种情况会导致持久区jvm堆内存溢出?
A
循环上万次的字符串处理
B
在一段代码内申请上百M甚至上G的内存
C
使用CGLib技术直接操作字节码运行,生成大量的动态类
D
不断创建对象
正确答案:C
官方解析:
 Java中堆内存分为两部分,分别是permantspace和heap space。permantspace(持久区)主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。持久代溢出通常由于持久代设置过小,动态加载了大量Java类,因此C选项正确。

heap space分为年轻代和年老代, 年老代常见的内存溢出原因有循环上万次的字符串处理、在一段代码内申请上百M甚至上G的内存和创建成千上万的对象,也就是题目中的ABD选项。

知识点:Java
21.
判断对错。在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。
AB
错
正确答案:B
参考答案:B 错 java多态有两种情况:重载和覆写 在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法; 在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法
知识点:Java
22.
下面有关JAVA异常类的描述,说法错误的是?
A
异常的继承结构:基类为ThrowableErrorException继承ThrowableRuntimeExceptionIOException等继承Exception
BRuntimeException一般是外部错误(Error),其一般被 try{
    
    }catch语句块所捕获
C
Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
D
RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被 try{
    
    }catch语句块所捕获
正确答案:D
官方解析: D选项,RuntimeException并不必须被捕获。不管异常代表的是可预见的异常条件还是编程错误,如果用try{
    
    }catch语句捕获它,会让程序在已经出现错误的情况下继续执行下去,也就是说我们不会及时的察觉到程序出现的问题。如果我们不去处理RuntimeException,让程序在测试阶段把异常传播给外界,这时系统打印出来的调用堆栈路径可以帮助我们更快的找出并修改错误,避免出现更大的损失。
知识点:Java
23.执行以下程序,最终输出可能是:

insert image description here

*代表空格
A
010 2123012 3434
B
01201 340124 2334
C
0012314 01223344**
D
12345 12345 12345
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
24.
以下哪个类包含方法flush()?()

A
InputStream
B
OutputStream
C
AB 选项都包含
D
AB 选项都不包含
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2020
25.
对于文件的描述正确的是( )

A
文本文件是以“.txt”为后缀名的文件,其他后缀名的文件是二进制文件。
B
File类是Java中对文件进行读写操作的基本类。
C
无论文本文件还是二进制文件,读到文件末尾都会抛出EOFException异常。
D
Java中对于文本文件和二进制文件,都可以当作二进制文件进行操作。
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
26.
Consider the following code:
Integer s=new Integer(9);
Integer t=new Integer(9);
Long u=new Long(9);
Which test would return true?
A
(s==u)
B
(s==t)
C
(s.equals(t))
D
(s.equals(9))
E
(s.equals(new Integer(9))
正确答案:CDE
参考答案:(s==u) ,因为, s 是 Integer 类型, u 是 Long 类型,两个不同类型的引用不能进行 == 比较。   (s==t) , s 是指向一个 9 的引用,而 t 也是一个指向 9 的引用,虽然都是指向 9 ,但却是指向不同的 9 ,即是两个不同的引用。因此 == 比较返回的是假。   (s.equals(t))Integer 的 equals 方法如下:     public boolean equals(Object obj) {
    
             if (obj instanceof Integer) {
    
                 return value == ((Integer)obj).intValue();         }         return false ; }Integer 的实例且 value 值也相等的情况下返回真,其他返回假。 在这里, s 和 t 都是 Integer 类型且值都为 9 ,因此结果为真。   (s.equals(9)) , 在进行 equals 比较之前,会对 9 调用 Integer.valueOf 方法,进行自动装箱 , 由于 IntegerCache 中已经存在 9 ,所以,直接返回其引用,引用相同, equals 就自然相同了。所以结果为真。   (s.equals( new Integer(9)) ,直接创建了一个新的 Integer 实例,但且值也为 9 ,所以,满足条件,返回真。
知识点:Java
27.
What is Static Method in Java()
A
It is a method which belongs to the class and not to the object(instance)
B
A static method can access only static data. It can not access non-static data (instance variables)
C
A static method can call only other static methods and can not call a non-static method from it.
D
A static method can not be accessed directly by the class name and doesn’t need any object
正确答案:ABC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、C++工程师、iOS工程师、安卓工程师、运维工程师、算法工程师、PHP工程师、2019、信息技术岗、区块链
28.
HashtableHashMap 的区别是:
A
Hashtable 是一个哈希表,该类继承了 AbstractMap,实现了 Map 接口
B
HashMap 是内部基于哈希表实现,该类继承AbstractMap,实现Map接口
C
Hashtable 线程安全的,而 HashMap 是线程不安全的
D
Properties 类 继承了 Hashtable 类,而 Hashtable 类则继承DictionaryE
HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
正确答案:BCDE
参考答案:选BCDEHashtable: (1Hashtable 是一个散列表,它存储的内容是键值对(key-value)映射。 (2Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null。 (3HashTable直接使用对象的hashCode。 HashMap: (1)由数组+链表组成的,基于哈希表的Map实现,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。 (2)不是线程安全的,HashMap可以接受为null的键(key)和值(value)。 (3HashMap重新计算hash值 Hashtable,HashMap,Properties继承关系如下: public class Hashtable<K,V> extends Dictionary<K,V>     implements Map<K,V>, Cloneable, java.io.Serializable public class HashMap<K,V>extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable java.lang.Objecct java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties 
知识点:Java、哈希
29.
下面关于变量及其范围的陈述哪些是不正确的()
A
实例变量是类的成员变量
B
实例变量用关键字static声明
C
在方法中定义的局部变量在该方法被执行时创建
D
局部变量在使用前必须被初始化
正确答案:BC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
30.
下面有关 Java ThreadLocal 说法正确的有?
A
ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
B
线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
CThread类中有一个Map,用于存储每一个线程的变量的副本。
D
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式
正确答案:ABCD
官方解析:ThreadLocal类用于创建一个线程本地变量
在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值就是变量的副本,ThreadLocal为每一个使用该变量的线程都提供了一个变量值的副本,每一个线程都可以独立地改变自己的副本,是线程隔离的。通过ThreadLocalget()方法可以获取该线程变量的本地副本,在get方法之前要先set,否则就要重写initialValue()方法。
ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式。一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。
知识点:Java、操作系统
1.
Continue语句跳出整个循环.
A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++JavaJava工程师、2017
2.
在程序代码中写的注释太多,会使编译后的程序尺寸变大。
A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++JavaC语言
3.
下列程序段的输出结果是:( )
public void complicatedexpression_r(){
    
    
    int x=20, y=30;
    boolean b;
    b = x > 50 && y > 60 || x > 50 && y < -60 || x < -50 && y > 60 || x < -50 && y < -60;
    System.out.println(b);
}


A
true
B
false
C
1
D
0
正确答案:B
参考答案:答:此题考查运算符优先级。 题中符号的优先级排序是:'>''<''&&''||'。 即 b=(x>50&&y>60)||(x>50&&y<-60)||(x<-50&&y>60)||(x<-50&&y<-60); x>50结果为0,x<-50结果为0,所以括号中的表达式结果都为0,四个0或的结果0。 b为boolean类型,所以输出为false。
知识点:Java
4.
假定AB为一个类,则执行 “AB ab = new AB(a,5);”语句时将自动调用该类的(    )A
带参构造函数
B
无参构造函数
C
拷贝构造函数
D
重载赋值运算
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaC语言
5.
下列语句序列执行后,输出结果是()
public class ex{
    
    
public static void main(String[]args){
    
    
int a=13;
a=a/5System.out.println(a);
}
}
A
1
B
2
C
3
D
4
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
6.
 int i = 3;
String result = new String();
switch (i) {
    
    
case 1:
result = result + "him ";
case 2:
result = result + "her ";
case 3:
result = result + "it ";
default:
result = result + "me ";
}
System.out.println(result);


请给出最终输出内容。
A
it me
B
him her it me
C
him her
D
me
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、安卓工程师、测试工程师、2019、测试开发工程师
7.
以下哪项不是java基础类型()
A
int
B
boolean
C
String
D
float
正确答案:C
官方解析:
 Java基本数据类型共有八大类,这八大数据类型又可分为四小类,分别是整数类型(byte/short/int/long)、浮点类型(floatdouble)、字符类型(char)和布尔类型(boolean),其中并不包括String。

知识点:Java
8.
队列(Queue)是先进先出的。(  )



A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
9.Java中,什么是Garbage Collection?()

A
自动删除在程序中导入但未使用的任何包
B
JVM检查任何Java程序的输出并删除任何没有意义的东西
C
当对象的所有引用都消失后,对象使用的内存将自动回收
D
操作系统定期删除系统上可用的所有java文件
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2020
10.
有以下程序片段且Interesting不是内部类,下列哪个选项不能插入到行1。(    )

1.
2.public class Interesting{
    
    
3. // 省略代码
4.}

A
import java.awt.*;
B
package mypackage;
C
class OtherClass{
    
     }
D
public class MyClass{
    
     }
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
11.
有以下程序片段,下列哪个选项不能插入到第一行 。( )。

1.

2.public  class  A{
    
    

3.//do sth

4. }

A
public class MainClass{
    
     }
B
package mine;
C
class ANotherClass{
    
     }
D
import java.util.*;
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
12.
下列说法正确的有()
A
能被java.exe成功运行的java class文件必须有main()方法
B
J2SDK就是Java API
C
Appletviewer.exe可利用jar选项运行.jar文件
D
能被Appletviewer成功运行的java class文件必须有main()方法
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
13.
下面有关servlet中init,service,destroy方法描述错误的是?
A
init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法
B
service()方法处理客户机发出的所有请求
C
destroy()方法标志servlet生命周期的结束
D
servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的
正确答案:D
参考答案:答案为D。 servlet在多线程下其本身并不是线程安全的。 如果在类中定义成员变量,而在service中根据不同的线程对该成员变量进行更改,那么在并发的时候就会引起错误。最好是在方法中,定义局部变量,而不是类变量或者对象的成员变量。由于方法中的局部变量是在栈中,彼此各自都拥有独立的运行空间而不会互相干扰,因此才做到线程安全。
知识点:Java
14.
当你编译和运行下面的代码时,会出现下面选项中的哪种情况?

1
2
3
4
5
6
public class Pvf{
    
    
    static boolean Paddy;
    public static void main(String args[]){
    
    
        System.out.println(Paddy);
    }
}

A
编译时错误
B
编译通过并输出结果false
C
编译通过并输出结果true
D
编译通过并输出结果null
正确答案:B
官方解析:
类中声明的变量有默认初始值;方法中声明的变量没有默认初始值,必须在定义时初始化,否则在访问该变量时会出错。

本题中Paddy是静态的成员变量,因此它会获得boolean类型的初始值false。

知识点:Java
15.
1
public interface IService {
    
    String NAME="default";}
默认类型等价表示是哪一项:
A
public String NAME="default";
B
public static String NAME="default";
C
public static final String NAME="default";
D
private String NAME="default";
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、C++工程师、2016
16.
以下代码执行的结果显示是多少()?
public class Demo{
    
    
    public static void main(String[] args){
    
    
        System.out.print(getNumber(0));
        System.out.print(getNumber(1));
        System.out.print(getNumber(2));
        System.out.print(getNumber(4));
    }
 
    public static int getNumber(int num){
    
    
        try{
    
    
            int result = 2 / num;
            return result;
        }catch (Exception exception){
    
    
            return 0;
        }finally{
    
    
            if(num == 0){
    
    
                return -1;
            }
            if(num == 1){
    
    
                return 1;
            }
        }
    }    
}


A
0110
B
-1110
C
0211
D
-1211
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
17.
下面哪个关键字可以用于Java的构造方法上?
A
final
B
static
C
synchronized
D
native
E
None of these.
正确答案:E
参考答案:答案:E 解析:构造方法不能被子类继承,所以用final修饰没有意义。构造方法用于创建一个新的对象,不能作为类的静态方法,所以用static修饰没有意义。此外,Java语言不支持nativesynchronized的构造方法。
知识点:Java
18.
下面有关JVM内存,说法错误的是?
A
程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
B
虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
C
方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的
D
原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的
正确答案:C
参考答案:方法区在JVM中也是一个非常重要的区域,它与堆一样,是被 线程共享 的区域。 在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。
知识点:Java
19.
下面有关servlet service描述错误的是?
A
不管是post还是get方法提交过来的连接,都会在service中处理
B
doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的
C
service()是在javax.servlet.Servlet接口中定义的
D
service判断请求类型,决定是调用doGet还是doPost方法
正确答案:B
参考答案:B doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的
知识点:Java
20.
当编译并运行下面程序时会发生什么结果()
public class Bground extends Thread{
    
    
    public static void main(String argv[]){
    
    
        Bground b = new Bground();
        b.run();
    }
    public void start(){
    
    
        for(int i=0;i<10;i++){
    
    
            System.out.println("Value of i = "+i);
        }
    }
}

A
编译错误
B
运行错误
C
编译通过并输出09
D
编译通过,但无输出
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2017
21.
下列哪个选项是Java调试器?如果编译器返回程序代码的错误,可以用它对程序进行调试。
A
java
B
javadoc
C
jdb
D
javaprof
正确答案:C
参考答案:C:java调试器jdb.exe
知识点:Java
22.
static String str0="0123456789";
static String str1="0123456789";
String str2=str1.substring(5);
String str3=new String(str2);
String str4=new String(str3.toCharArray());
str0=null;
假定str0,...,str4后序代码都是只读引用。
Java 7中,以上述代码为基础,在发生过一次FullGC后,上述代码在Heap空间(不包括PermGen)保留的字符数为()
A
5
B
10
C
15
D
20
正确答案:C
参考答案:应该是C substring实际是new5字符 str3和4也都是new,每个5字符 分别都会创建新的对象 常量池是PermGen的 因此应该是一共15字符
知识点:2015JavaJava工程师
23.
下面这条语句一共创建了多少个对象:String s="welcome"+"to"+360;
A
1
B
2
C
3
D
4
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、安卓工程师、测试工程师、2019、测试开发工程师
24.
下面是java语言的基本特性是?()
A
封装
B
多态
C
继承
D
高效
正确答案:ABC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、C++工程师、算法工程师
25.
下面哪些选项是正确的()

A
>>是算术右移操作符
B
>>是逻辑右移操作符
C
>>>是算术右移操作符
D
>>>是逻辑右移操作符
正确答案:AD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
26.
下列关于while循环、do-while循环和for循环说法错误的是

A
while循环先执行条件判断,do-while循环执行循环体
B
do-while循环结束的条件是关键字while后的条件表达式成立
C
for循环结构中的3个表达式缺一不可
D
while循环能够实现的操作,for循环也能实现
正确答案:BC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
27.
以下关于JAVA语言异常处理描述正确的有?
A
throw关键字可以在方法上声明该方法要抛出的异常。
B
throws用于抛出异常对象。
C
try是用于检测被包住的语句块是否出现异常,如果有异常,则捕获异常,并执行catch语句。
D
finally语句块是不管有没有出现异常都要执行的内容。
Etry块中不可以抛出异常
正确答案:CD
参考答案:Java语言中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。 throw用于抛出异常。 throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。 try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。 cacth用于捕获从try中抛出的异常并作出处理。 finally语句块是不管有没有出现异常都要执行的内容。
知识点:Java
28.
下面有关java的instanceof?&&&说法正确的有?
A
instanceof 可用来判断某个实例变量是否属于某种类的类型。
B
"?:"  三目运算符
C
&在逻辑运算中是非短路逻辑与,在位运算中是按位与
D
&& 逻辑运算:逻辑与
正确答案:ABCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
29.
A
Statement sta=con.createStatement(); ResultSet rst=sta.executeQuery("select * from book");
B
Statement sta=con.createStatement("select * from book"); ResultSet rst=sta.executeQuery();
C
PreparedStatement pst=con.prepareStatement(); ResultSet rst=pst.executeQuery("select * from book");
D
PreparedStatement pst=con.prepareStatement("select * from book"); ResultSet rst=pst.executeQuery();
正确答案:AD
参考答案:A,D是正确的;创建Statement是不传参的,PreparedStatement是需要传入sql语句
知识点:Java
30.
以下说法错误的是()
A
其他选项均不正确
B
java线程类优先级相同
C
ThreadRunnable接口没有区别
D
如果一个类继承了某个类,只能使用Runnable实现线程
正确答案:BCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
1.
下列InputStream类中哪个方法可以用于关闭流?
A
skip()
B
close()
C
mark()
D
reset()
正确答案:B
参考答案:答案:B inputstream的close方法用来关闭流 skip()用来跳过一些字节 mark()用来标记流 reset()复位流
知识点:Java
2.
main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的()。

A
public static void main( )
B
public static void main( String []args )
C
public static int main(String [] arg )
D
public void main(String arg[] )
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
3.
下列符号中可以在 java 程序里表示单行注释的是( )

A
--
B
/* ……*/
C
//
D
/** ……*/
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
4.
下面程序段执行完成后,则变量sum的值是(    )int b[][]={
    
    {
    
    1}, {
    
    2, 2}, {
    
    2, 2, 2}};
int sum = 0;
 
for(int i = 0; i < b.length; i++) {
    
    
    for(int j = 0; j < b[i].length; j++) {
    
    
        sum += b[i][j];
    }
}
A
32
B
11
C
2
D
3
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
5.
下列程序段执行后t3的结果是()。
int t1 = 2, t2 = 3, t3;
t3 = t1 < t2 ? t1 : (t2 + t1);


A
2
B
4
C
5
D
6
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++JavaC语言
6.
在java中,在同一包内,非私有类Cat里面有个公有方法sleep(),该方法前有static修饰,则可以直接用Cat.sleep()。( )



A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
7.ABC 定义如下:
public  class  ABC{
    
    
public  int  max( int  a, int  b) {
    
       }
 }

将以下哪个方法插入行 3 是不合法的。( )。

A
public float max(float a, float b, float c){
    
     }
B
public int max (int c, int d){
    
     }
C
public float max(float a, float b){
    
     }
D
private int max(int a, int b, int c){
    
     }
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++Java
8.JAVA 编程中, Java 编译器会将 Java 程序转换为( )

A
字节码
B
可执行代码
C
机器代码
D
以上都不对
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
9.
public boolean returnTest()
{
    
    
    try
    {
    
    
        return true;
    }
    catch (Exception e)
    {
    
    
 
    }
    finally
    {
    
    
        return false;
    }
}
以上代码返回值是什么?
A
true
B
false
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
10.
下面代码的输出结果是什么?
public class ZeroTest {
    
    
    public static void main(String[] args) {
    
    
     try{
    
    
       int i = 100 / 0;
       System.out.print(i);
      }catch(Exception e){
    
    
       System.out.print(1);
       throw new RuntimeException();
      }finally{
    
    
       System.out.print(2);
      }
      System.out.print(3);
     }
 }
A
3
B
123
C
1
D
12
正确答案:D
参考答案:1、inti = 100/ 0; 会出现异常,会抛出异常,System.out.print(i)不会执行, 2catch捕捉异常,继续执行System.out.print(1); 3、当执行 thrownewRuntimeException();  又会抛出异常,这时,除了会执行finally中的代码,其他地方的代码都不会执行
知识点:JavaC++工程师、iOS工程师、运维工程师、前端工程师、算法工程师、数据库工程师、游戏研发工程师、测试开发工程师、2021
11.
//point X
public class Foo {
    
    
    public static void main(String[] args) throws Exception {
    
    
 
        PrintWriter out = new PrintWriter(
                new java.io.OutputStreamWriter(System.out), true);
        out.println("Hello");
    }
 
}
下面哪个选项放在point X这里可以正确执行?
A
import java.io.PrintWriter;
B
include java.io.PrintWriter;
C
import java.io.OutputStreamWriter;
D
include java.io.OutputStreamWriter;
E
no statement is needed.
正确答案:A
参考答案:答案:A java中没有include关键字,导包用import 由于代码中使用了printWriter 类,所以要导入此类Import java.io.PrintWriter;
知识点:Java
12.
有时为了避免某些未识别的异常抛给更高的上层应用,在某些接口实现中我们通常需要捕获编译运行期所有的异常, catch 下述哪个类的实例才能达到目的:()

A
Error
B
Exception
C
RuntimeException
D
Throwable
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2017C语言
13.
在面向对象编程里,经常使用is-a来说明对象之间的继承关系,下列对象中不具备继承关系的是?()
A
手机与小米手机
B
企业家与雷军
C
编程语言与Java
D
中国与北京
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
14.
Thread. sleep()是否会抛出checked exception?
AB
不会
正确答案:A
参考答案:A Thread.sleep()Object.wait(),都可以抛出 InterruptedException。这个异常是不能忽略的,因为它是一个检查异常(checked exception)
知识点:Java
15.
下面有关java基本类型的默认值和取值范围,说法错误的是?
A
字节型的类型默认值是0,取值范围是-2^72^7-1
B
boolean类型默认值是false,取值范围是true\false
C
字符型类型默认是0,取值范围是-2^152^15-1
D
long类型默认是0,取值范围是-2^632^63-1
正确答案:C
参考答案:默认值         取值范围 示例 字节型 : 0 -2^7-2^7-1 byte b=10; 字符型 : ‘ \u0000′ 0-2^16-1         char c=’c’ ; short : 0 -2^15-2^15-1 short s=10; int : 0 -2^31-2^31-1 int i=10; long : 0 -2^63-2^63-1     long o=10L; float : 0.0f -2^31-2^31-1 float f=10.0F double : 0.0d -2^63-2^63-1 double d=10.0; boolean: false true\false boolean flag=true;
知识点:Java
16.
假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实例,下列语句调用哪个是正确的?()
class A{
    
    
    int  i;
 
    static  String  s;
 
    void  method1() {
    
       }
 
    static  void  method2()  {
    
       }
 
}


A
System.out.println(a.i)B
a.method1();
C
A.method1();
D
A.method2()
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
17.
下列哪个选项是正确计算42度(角度)的余弦值?
A
double d = Math.cos(42)
B
double d = Math.cosine(42)
C
double d = Math.cos(Math.toRadians(42))
D
double d = Math.cos(Math.toDegrees(42))
正确答案:C
参考答案:答案:C Math.cos为计算弧度的余弦值,Math.toRadians函数讲角度转换为弧度
知识点:Java
18.
要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( )

A
让该类不使用任何关键字
B
使用private关键字
C
使用protected关键字
D
使用void关键字
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
19.
以下JAVA程序的运行结果是什么(  )
public static void main(String[] args) {
    
    
    Object o1 = true ? new Integer(1) : new Double(2.0);
    Object o2;
    if (true) {
    
    
    o2 = new Integer(1);
    } else {
    
    
        o2 = new Double(2.0);
    }
    System.out.print(o1);
    System.out.print(" ");         
    System.out.print(o2);
}


A
1 1
B
1.0 1.0
C
1 1.0
D
1.0 1
正确答案:D
你的答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
20.
关于 java 的异常处理机制的叙述哪些正确?
A
通常情况下,不论程序是否发生错误及捕捉到异常情况,都会执行finally部分
Btry区段的程序发生异常并被捕获时,才会执行catch区段的程序
C
catch部分捕捉到异常情况时,才会执行finally部分
D
其它选项都不正确
正确答案:AB
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
21.
Java的体系结构包含(    )。
A
Java编程语言
B
Java类文件格式
C
Java API
D
JVM
正确答案:ABCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
22.
单例模式中,两个基本要点是
A
构造函数私有
B
静态工厂方法
C
以上都不对
D
唯一实例
正确答案:AD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、系统设计、C++工程师、2017
23.
Java7特性中,abstract classinterface有什么区别。
A
抽象类可以有构造方法,接口中不能有构造方法
B
抽象类中可以有普通成员变量,接口中没有普通成员变量
C
抽象类中不可以包含静态方法,接口中可以包含静态方法
D
一个类可以实现多个接口,但只能继承一个抽象类。
正确答案:ABD
参考答案:含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract classabstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。  接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。  下面比较一下两者的语法区别:  1.抽象类可以有构造方法,接口中不能有构造方法。  2.抽象类中可以有普通成员变量,接口中没有普通成员变量  3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。  4. 抽象类中的抽象方法的访问类型可以是publicprotected和(默认类型,虽然  eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。  5. 抽象类中可以包含静态方法,接口中不能包含静态方法  6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。  7. 一个类可以实现多个接口,但只能继承一个抽象类。  下面接着再说说两者在应用上的区别:  接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,  例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码,伪代码如下:  package com.lei; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public abstract class BaseServlet extends HttpServlet {
    
     /** * serialVersionUID属性概述 *  */ private static final long serialVersionUID = 1L; public final void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    
     // 记录访问日志 // 进行权限判断 if (true)// if条件里写的是“具有权限” { try { doService(request, response); } catch (IOException e) { // 记录异常信息 } } } protected abstract void doService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException; } 实现类如下:  package com.lei; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends BaseServlet{ /** * serialVersionUID属性概述 *  */ private static final long serialVersionUID = 1L; @Override protected void doService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // TODO Auto-generated method stub } } 父类方法中间的某段代码不确定,留给子类干,就用模板方法设计模式。  备注:这道题的思路是先从总体解释抽象类和接口的基本概念,然后再比较两者的语法细节,最后再说两者的应用区别。  比较两者语法细节区别的条理是:先从一个类中的构造方法、普通成员变量和方法(包括抽象方法),静态变量和方法,继承性等6个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。 
知识点:Java
24.
Java1.8版本之前的前提,Java特性中,abstract classinterface有什么区别()
A
抽象类可以有构造方法,接口中不能有构造方法
B
抽象类中可以有普通成员变量,接口中没有普通成员变量
C
抽象类中不可以包含静态方法,接口中可以包含静态方法
D
一个类可以实现多个接口,但只能继承一个抽象类。
正确答案:ABD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
25.
JAVA反射机制主要提供了以下哪些功能?
A
在运行时判断一个对象所属的类
B
在运行时构造一个类的对象
C
在运行时判断一个类所具有的成员变量和方法
D
在运行时调用一个对象的方法
正确答案:ABCD
参考答案:Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态***。 因此,答案为:ABCD
知识点:Java2021
26.
jdk1.8版本之前的前提下,接口和抽象类描述正确的有( )
A
抽象类没有构造函数
B
接口没有构造函数
C
抽象类不允许多继承
D
接口中的方法可以有方法体
正确答案:BC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
27.
下面哪些写法能在 java8 中编译执行()

A
dir.listFiles((File f)->f.getName().endsWith(.Java”));
B
dir.listFiles((File f)=>f.getName().endsWith(.Java”));
C
dir.listFiles((_.getName().endsWith(.Java”)));
D
dir.listFiles( f->f.getName().endsWith(.Java”));
正确答案:AD
你的答案:ACD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2017
28.
下面的switch语句中,x可以是哪些类型的数据:()
switch(x)
{
    
    
default:
System.out.println("Hello");
}

A
long
B
char
C
float
D
byte
E
double
F
String
正确答案:BDF
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
29.
下面哪个语句是创建数组的正确语句?( )
A
float f[][] = new float[6][6];
B
float []f[] = new float[6][6];
C
float f[][] = new float[][6];
D
float [][]f = new float[6][6];
E
float [][]f = new float[6][];
正确答案:ABDE
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
30.
byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2);  /*语句1*/
b6=b4+b5;    /*语句2*/
b8=(b1+b4);  /*语句3*/
b7=(b2+b5);  /*语句4*/
System.out.println(b3+b6);
下列代码片段中,存在编译错误的语句是()
A
语句2
B
语句1
C
语句3
D
语句4
正确答案:BCD
官方解析:
知识点:Java

Guess you like

Origin blog.csdn.net/weixin_45828554/article/details/131923857