java基础10题

1.下面的运行结果为

public class Demo{
    int x=1int y;
    public static void main(String [] args){

        int z=2;

        Demo t=new Demo();
        System.out.println(t.x+t.y+z);
    }
}

2.在socket编程中,可以使用方法( )获取本机的ip地址
A.getInetAddress()
B.getLocalAddress()
C.getReuseAddress()
D.getLocalPort()
3.Java1.8之后,Java接口的修饰符可以为()
A.private
B.protected
C.final
D.abstract
4.下面的运行结果为

public class Person{
	private String name = "Person";
	int age=0;
}
public class Child extends Person{
	public String grade;
	public static void main(String[] args){
		Person p = new Child();
		System.out.println(p.name);
	}
}

5.下面代码输出结果为

public class TestDemo
{
    public static String output = "";
    public static void foo(inti)
    {
        try
        {
            if (i == 1)
            {
                throw new Exception();
            }
        }
        catch (Exception e)
        {
            output += "2";
            return ;
        } finally
        {
            output += "3";
        }
        output += "4";
    }
    public static void main(String[] args)
    {
        foo(0);
        foo(1);
        System.out.println(output);
    }
}

6.下列不属于类及类成员的访问控制符是:( )
A.public
B.private
C.static
D.protected
7.下面语句正确的是()
A.x+1=5
B.i++=1
C.a++b=1
D.x+=1
8.下面输出结果为

class Foo {
    final int i;
    int j;
    public void doSomething() {
        System.out.println(++j + i);
    }
}

9.off-heap是指那种内存()
A.JVM GC能管理的内存
B.JVM进程管理的内存
C.在JVM老年代内存区
D.在JVM新生代内存
10.下面输出为

double d1=-0.5;
System.out.println("Ceil d1="+Math.ceil(d1));
System.out.println("floor d1="+Math.floor(d1));

(1)A
int 类变量初始值0
boolean 类变量初始值false
char 类变量初始值’\u0000’
double 类变量初始值0.0
float 类变量初始值0.0f
long 类变量初始值0L
(2)B
getInetAddress获取主机名和IP地址
getLocalAddress()顾名思义,获取本地IP地址
getReuseAddress()返回布尔类型,表示复用地址
getLocalPort()API 的说明:“Returns the Internet Protocol (IP) port number of the interface on which the request was received. ”
(3)D
(4)C
Java中对字段属性是静态绑定,方法成员是动态绑定,这里错在:在子类中试图访问父类的private字段,所以编译不通过,将private去掉就可访问,不是动态绑定的问题,它本来就属于静态绑定。
(5)答案:B
首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
(6)C
(7)选D,+=,-=,*=,/=最常见。
ABC都编译错误。
(8)不能执行,因为编译有错
final变量有三种初始化方式( 只要在其对象实例化之前对其赋值即可 ):

  1. 在定义变量时直接赋值;
  2. 声明完变量后在构造方法中为其赋值 ;
  3. 声明完变量后在构造代码块中为其赋值;
    (9)B
    off-heap叫做堆外内存,将你的对象从堆中脱离出来序列化,然后存储在一大块内存中,这就像它存储到磁盘上一样,但它仍然在RAM中。对象在这种状态下不能直接使用,它们必须首先反序列化,也不受垃圾收集。序列化和反序列化将会影响部分性能(所以可以考虑使用FST-serialization)使用堆外内存能够降低GC导致的暂停。堆外内存不受垃圾收集器管理,也不属于老年代,新生代。
    (10)A
    ceil:大于等于 x,并且与它最接近的整数。
    floor:小于等于 x,且与 x 最接近的整数。

你可能感兴趣的:(java,jvm,算法)