2019年10月29日_java_5

考点1 boolean类型的正确赋值语句

现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( )

  • A aa=false;
  • B aa=False;
  • C aa=”true”;
  • D aa=0;

正确答案:

解析

考点2 重载函数

下面有关重载函数的说法中正确的是

  • A 重载函数必须具有不同的返回值类型
  • B 重载函数形参个数必须不同
  • C 重载函数必须有不同的形参列表
  • D 重载函数名可以不同
展开/折叠 正确答案: C

解析

两同一不同:同一个类中,方法名相同,形参列表不同。

考点3 String StringBuffer StringBuilder

关于String、StringBuffer、StringBuilder以下说法错误的是

  • A StringBuilder运行速度最快
  • B StringBuffer是线程安全的
  • C String的值是可变的
  • D StringBuffer运行速度比String快
展开/折叠 正确答案: C

解析

String的值一旦确认了就不可变,每次的变化实际上都创建了一个新的String,所以有多次变化时最好还是用StringBuffer更好
速度:String< Stringbuffer < Stringbuilder

考点4 网络编程

客户端要获取一个socket对象通过实例化,而服务器获得一个socket对象则通过什么方法的返回值?

  • A getRemoteSocketAddress()
  • B getInputStream()
  • C getOutputStream()
展开/折叠 正确答案: A

解析

考点5 垃圾收集

下面关于垃圾收集的说法正确的是

  • A 一旦一个对象成为垃圾,就立刻被收集掉。
  • B 对象空间被收集掉之后,会执行该对象的finalize方法
  • C finalize方法和C++的析构函数是完全一回事情
  • D 一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此
展开/折叠 正确答案: D

解析

A,B其实是一个知识点,既一个对象到GC Roots没有任何引用链相连时就是一个可回收对象,可回收对象在被回收之前,JVM会判断是否有finalize方法,如果有则会调用finalize方法,在这个方法里面对象可以自救的。
C 肯定不对啦

  1. 与C++的析构函数不同,析构函数调用确定,而finalize()方法是不确定的,因为finalize()方法在对象被GC回收时调用。
  2. JVM将重写了finalize方法的对象放置于F-Queue队列,稍后会被一个优先级很低的Finalizer线程执行。Finalizer线程随时会终止,为了防止对象的finalize方法执行缓慢,或者发生死循环。
  3. finaliz的设计目的是保证对象在被垃圾收集前完成特定资源的回收或给予对象最后一次重生机会等
  4. finalize是个不太可控的方法因此并不常用,并且在JDK9+版本被标注为过时方法。

考点6 抽象类 抽象方法 重载的依据 赋值表达式可以出现的位置

选项中哪一行代码可以替换 //add code here 而不产生编译错误

1
2
3
4
5
6
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
  • A public abstract void method(int a);
  • B consInt=constInt+5;
  • C public int method();
  • D public abstract void anotherMethod(){}
展开/折叠 正确答案: A

解析

A 是抽象方法,抽象类可以包含抽象方法,也可以不包含,抽象方法可以重载。正确
B 在类中不能constInt = constInt +5这样的运算。错误
C 返回值不能作为重载的依据,错误
D 有方法体的不能作为抽象函数,错误

考点7 Java Web 容器的作用

在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象

  • A Servlet对象
  • B HTTP服务器
  • C Web容器
  • D JSP网页
展开/折叠 正确答案: C

解析

web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。

考点8 垃圾回收器

如何放掉一个指定占据的内存空间?()

  • A 调用free()方法
  • B 代用system.gc()方法
  • C 赋值给该项对象的引用为null
  • D 程序员无法明确强制垃圾回收器运行
展开/折叠 正确答案: D

解析

考点9 网络编程 如何创建服务端socket

如果希望监听TCP端口9000,服务器端应该怎样创建socket?

  • A new Socket(“localhost”,9000);
  • B new ServerSocket(9000);
  • C new Socket(9000);
  • D new ServerSocket(“localhost”,9000);
展开/折叠 正确答案: B

解析

1
2
new Socket("localhost",9000); //客户端连接端口 
new ServerSocket(9000); //服务器端监听端口
  • 服务端:ServerSocket(port),因为服务器知道自己的IP所以不需要输入IP
  • 客户端:Socket(host,port),因为客户端不知道连接哪条IP所以需要输入IP

服务器端创建监听:

1
ServerSocket ss = new ServerSocket(int port)

客户端创建监听:

1
Socket s = new Socket(InetAddress address, int port)