1. 有以下程序片段,下列哪个选项不能插入到第一行 。(A )。

1.
2.public  class  A{
3.//do sth
4. }

A.public class MainClass{ }
B. package mine;
C. class ANotherClass{ }
D. import java.util.*;

解析:
Java一个源程序只能有一个public类存在,且类名与文件名相同。Java程序是从main方法开始执行的,public为类加载器提供入口,然后找到public类中的main方法开始执行。如果存在多个public类,程序将不知道该从哪里执行。
注意,内部类可以是public的,因为内部类是作为外部类的成员存在的。

2. jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。
常量池属于 PermGen(方法区)

3. 已知有下列Test类的说明,则下列哪个语句是正确的?(A)

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;
B. this.n;
C. Test.m
D. Test.f
解析:
B项错误:this不能在static的方法中使用,this是指向对象的的引用,而静态方法在类加载的时候创建加载,此时没有创建对象。
C,D项错误:m 和 f 都是普通成员属性,而 “类名.” 方式只能调用 静态成员属性。

4. 关于如下程序的描述哪个是正确的?(C )

public class Person{
static int arr[] = new int[5];
public static void main(String a[]){
System.out.println(arr[0]);
}
}

A.编译将产生错误
B.编译时正确,但运行时将产生错误
C.正确,输出0
D.正确,输出 null

解析:
类的成员变量会被默认初始化.
char[] ch = new char[3];//默认空格
int [] Int = new int[2];//默认0
String[] strings = new String[2];//默认null

5. 下列代码执行结果为()

public static void main(String args[])throws InterruptedException{Thread t=new Thread(new Runnable() {public void run() {try {Thread.sleep(2000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.print("2");}});t.start();t.join();System.out.print("1");}

A. 21
B.12
C. 可能为12,也可能为21
D. 以上答案都不对

解析:
因为子线程的休眠时间太长,因此主线程很有可能在子线程之前结束也就是输出结果是12,但是子线程用了join函数,因此主线程必须等待子线程执行完毕才结束因此输出结果只能是21

6. 给出以下代码,请给出结果.(B)

class Two{Byte x;
}
class PassO{public static void main(String[] args){PassO p=new PassO();p.start();}void start(){Two t=new Two();System.out.print(t.x+””);Two t2=fix(t);System.out.print(t.x+” ” +t2.x);}Two fix(Two tt){tt.x=42;return tt;}
}

A. null null 42
B. null 42 42
C. 0 0 42
D. 0 42 42
E. An exception is thrown at runtime
F. Compilation

解析:基本类型初始化是0,包装类型初始化是null

7. java 1.8开始支持接口中定义静态方法

9. 以下程序段的输出结果为:

public class EqualsMethod
{public static void main(String[] args){Integer n1 = new Integer(47);Integer n2 = new Integer(47);System.out.print(n1 == n2);System.out.print(",");System.out.println(n1 != n2);}
}

A. false,false
B. false,true
C. true,false
D. true,true

解析:
使用Integer a = 1;或Integer a = Integer.valueOf(1); 在值介于-128至127直接时,作为基本类型。
使用Integer a = new Integer(1); 时,无论值是多少,都作为对象。

  1. 有如下一段程序:请问最后打印出来的是什么?(B)

    public class Test{
    private static int i=1;
    public int getNext(){
    return i++;
    }
    public static void main(String [] args){
    Test test=new Test();
    Test testObject=new Test();
    test.getNext();
    testObject.getNext();
    System.out.println(testObject.getNext());
    }
    }

A.2
B.3
C.4
D.5

解析:
本题考察两个知识点static属性和i++操作
点1:因为i是static的,是类属性,所以不管有多少对象,都共用的一个变量,这里getNext()方法被调用了三次,所以进行了三次i++操作
点2:i++是先用后加的,即return i++;最后返回3,i的值实际为4.

11. Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。

12. 以下哪个式子有可能在某个进制下成立(A)?
A. 1314=204
B. 12
34=568
C. 14*14=140
D. 1+1=3

解析:
设x表示x进制。
1314=204
=>(1
x1+3*x0)(1x1+4*x0) = 2*x2+4*x0
=>(x+3)(x+4)=2x^2+4
=>x^2-7x-8=0
=>(x-8)(x+1)=0
=> x=8或者x=-1

1、抽象类可以有构造,只不过不能new。
2、接口中可以有变量,但是无论你怎么写,最后都是public static final的。
3、抽象类中可以有静态方法,接口中也可以有。

扩展:
1、接口中可以有非抽象的方法,比如default方法(Java 1.8)。
2、接口中可以有带方法体的方法。(Java 1.8)
3、接口中的方法默认是public的。

1、abstract类不能用来创建abstract类的对象;
2、final类不能用来派生子类,因为用final修饰的类不能被继承;
3、final不能与abstract同时修饰一个类,abstract类就是被用来继承的;
4、类中有abstract方法必须用abstract修饰,但abstract类中可以没有抽象方法,接口中也可以有abstract方法。

15. Spring依赖注入(DI)的三种方式,分别为:
1. 接口注入
2. Setter 方法注入
3. 构造方法注入

16. 下面程序的输出是:()
String x=“fmn”;
x.toUpperCase();
String y=x.replace(‘f’,‘F’);
y=y+“wxy”;
System.out.println(y);

A. FmNwxy
B. fmnwxy
C. wxyfmn
D. Fmnwxy

解析:
本题主要考察String对象的不可变性
String x=“fmn”; “fmn”是在常量池里的不可变对象。
x.toUpperCase(); 在堆中new一个"FMN"对象,但无任何引用指向它。
String y=x.replace(‘f’,‘F’); 在堆中 new一个"Fmn"对象,y指向它。
y=y+“wxy”; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。

  1. static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的.

  2. 如何放掉一个指定占据的内存空间?(D)
    A. 调用free()方法
    B. 代用system.gc()方法
    C. 赋值给该项对象的引用为null
    D. 程序员无法明确强制垃圾回收器运行

解析:
释放掉占据的内存空间是由gc完成,但是程序员无法明确强制其运行,该空间在不被引用的时候不一定会立即被释放,这取决于GC本身,无法由程序员通过代码控制。

19. 以下哪项不属于java类加载过程?()
A. 生成java.lang.Class对象
B. int类型对象成员变量赋予默认值
C. 执行static块代码
D. 类方法解析

解析:
不应该选D,而应该选B
类的加载包括:加载,验证,准备,解析,初始化。
选项A:生成java.lang.Class对象是在加载时进行的。生成Class对象作为方法区这个类的各种数据的访问入口。
选项B:既然是对象成员,那么肯定在实例化对象后才有。在类加载的时候会赋予初值的是类变量,而非对象成员。
选项C:这个会调用。可以用反射试验。
选项D:类方法解析发生在解析过程。

20. Java反射机制主要提供了以下功能:
1.在运行时判断任意一个对象所属的类;
2.在运行时构造任意一个类的对象;
3.在运行时判断任意一个类所具有的成员变量和方法;
4.在运行时调用任意一个对象的方法;
5.生成动态代理。

21. 常用的servlet包的名称是?javax.servlet, javax.servlet.http

22. 下面几个关于Java里queue的说法哪些是正确的(AC)?
A. LinkedBlockingQueue是一个可选有界队列,不允许null值
B. PriorityQueue,LinkedBlockingQueue都是线程不安全的
C. PriorityQueue是一个无界队列,不允许null值,入队和出队的时间复杂度是O(log(n))
D. PriorityQueue,ConcurrentLinkedQueue都遵循FIFO原则

解析:
A、LinkedBlockingQueue是一个基于节点链接的可选是否有界的阻塞队列,不允许null值。
B、LinkedBlockingQueue是一个线程安全的阻塞队列,实现了先进先出等特性。
C、PriorityQueue是一个无界队列,不允许null值,入队和出队的时间复杂度是O(log(n))。
D、PriorityQueue是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,该队列的元素遵循FIFO原则。

Java基础题(三)相关推荐

  1. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  2. Java基础题2从入门到放弃的第五天

    Java基础题2从入门到放弃的第5天 小博主也是初学者,肯定有地方可以用更简单的方法,希望可以指点出来.谢谢! 1分支语句 1. 让用户输入一个100以内的整数x,再输入一个100到200之间的整数y ...

  3. 达内java作业_【达内JAVA教程】达内Java基础题

    原标题:[达内JAVA教程]达内Java基础题 [达内JAVA教程]达内Java基础题.的小编收集了四道JAVA基础题,下面快来跟随的小编来了解一下吧! 话说很多java程序员学过一段时间后,都应该找 ...

  4. JAVA基础(三)-面试篇

    系列文章目录 JAVA基础系列只是列出博主在刷牛客JAVA转项练习的总结 JAVA基础篇一:继承.多态.导包问题 .排序.变量初始值等 JAVA基础篇二:父子类问题.Map空值问题.异常.真假问题等 ...

  5. Java校招笔试题-Java基础部分(三)

    导语   Java 面试题集2021版 Java基础部分三 26.说说has a 与is a的区别 27.一个房间里有一把椅子,椅子有四条腿,房子和椅子是什么关系,椅子和椅子腿是什么关系? 28.什么 ...

  6. Java基础题(错题小结)

    Java基础题(错题小结) 1. 字符串 1.1 题1 下面程序的输出是: String x="fmn"; x.toUpperCase(); String y = x.replac ...

  7. Java基础题——15只狮子围成一圈,依次报数,报到7被剔除,最后剩下的狮子成为狮王,求狮王为第几只?

    问题如下:Java基础题--15只狮子围成一圈,依次报数,报到7被剔除,最后剩下的狮子成为狮王,求狮王为第几只? 解决问题所使用的重点:利用循环. 大体思路:每只狮子都设为true,然后循环报数,到7 ...

  8. 三面美团Java岗,面试竟然被这31道Java基础题难倒了

    01 分布式限流:Nginx+ZooKeeper 1.1 分布式限流之Nginx 请解释一下什么是 Nginx? 请列举 x Nginx 的一些特性. 请列举 x Nginx 和 和 Apache 之 ...

  9. 一些java基础题答案汇总

    一.Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java ...

最新文章

  1. 技术图文:Python描述符 (descriptor) 详解
  2. Jmeter调用自定义jar包
  3. 利用http协议发布博文评论
  4. css html基础书,htmlcss基础知识汇总,新人必看!
  5. HTTP - PUT 上传文件/Shell
  6. haproxy 负载_负载测试HAProxy(第1部分)
  7. MySQL索引(如何设计索引)
  8. django mysql模糊查询_Django 模糊查询
  9. python安装selenium报错_新手用Python运行selenium的常见问题
  10. linux安装包文件格式,一般软件的安装包格式
  11. Java多线程常用面试题(含答案,精心总结整理)
  12. 基于 MindStudio 完成 SE-ResNeXt101- PyTorch 模型开发
  13. python数据分析处理:PUBG Finish Placement Prediction
  14. 软件测试的意义究竟是什么?
  15. Dijkstra迪杰斯特算法(C++版本和JAVA版本)
  16. 沧海一声笑(最好版)
  17. 三次握手和四次挥手详解
  18. 在Matlab的伯德图中利用bode函数实现局部放大,实用
  19. 2021网易秋招Java笔试(第2批)
  20. Google Earth Engine(GEE)一键RUN的方法

热门文章

  1. 山外KL26的J-link连接与程序下载
  2. 如何查看自己亚马逊的的库存容量?
  3. 基于Echarts+百度地图+Three.js的数据可视化系统
  4. 怎么重装电脑系统,小熊一键重装电脑系统教程
  5. synchronized,ReentrantLock、ReentrantReadWriteLock和StampedLock
  6. python 数据透视表_使用Python数据透视表探索幸福数据
  7. 第38件事 心理设计的6种方法
  8. Stream 计算总和
  9. 2021全球与中国车辆线控转向系统市场现状及未来发展趋势
  10. 面向中小企业的SpringBoot管理系统,拿来学习真香