Java练习题 06

Posted 小写丶H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java练习题 06相关的知识,希望对你有一定的参考价值。

**01.**在java中,无论在何处调用,使用静态属性必须以类名做前缀。
正确答案: B 你的答案: B (正确)
A.正确
B.错误

1.如果是本类使用,可以直接就用静态变量名。
2.如果是其他类使用,可以使用类名来调用,也可以创建一个实例对象来调用。
3.如果静态变量所在的类是静态类,那么不管在本类里或者在其他外部类,都可以直接使用静态变量名。

02 java语言中,按照一定格式生成程序的文档的工具是?
正确答案: C 你的答案: C (正确)
A.javac
B.javah
C.javadoc
D.jar

jar : 将许多文件组合成一个jar文件
javac : 编译
javadoc : 它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。
javah :把java代码声明的JNI方法转化成C\\C++头文件。

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

04
在根类Object中包含一下方法:
1.clone():创建并返回此对象的一个副本。
2.equals(Object obj):指示一个对象是否与此对象"相等"。
3.finalize():当垃圾回收器确定不存在该对象的引用时,有对象的垃圾回收器进行调用,可以人工调用,但是不确定什么时候执行。
4.getClass():返回此Object的运行时的类。
5.hashCode():返回该对象的哈希码值,此方法是为了提高哈希表的性能。
6.notify():唤醒在此对象监视器上等待的单个线程。
7.notifyAll():则是唤醒在此对象监视器上等待的所有线程。
8.toString():返回该对象的字符串表示。
9.wait():在其他线程调用此对象的notify()方法或notifyAll() 方法前,导致当前线程等待。

私有线程区域:
程序计数器、虚拟机栈、本地方法栈
线程共享区域:
堆、方法区

常见的哈希冲突解决方法:
1.开放地址法
2.链地址法(拉链法)
3.再散列
4.建立一个公共溢出区

05.
三元操作符如果遇到可以转换为数字的类型,会做自动类型提升。
比如:
Object o1 = (false) ? new Double(1.0) : new Integer(2);
System.out.println(o1);
会打印2.0

06.
下列关于Java语言中String和char的说法,正确的是()

正确答案: C 你的答案: C (正确)
A.String是Java定义的一种基本数据类型。
B.String是以“\\0”结尾的char类型的数组char[]。
C.使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。
D.Char类型在Java语言里面存储的是ASCII码。
解释:
A 基本数据类型包括byte,short,int,long,float,double,char,boolean,所以A错。
B,C语言当中是这样,java不是, String内部是用char[]数组实现的,不过结尾不用\\0。
C 对,字符串内容比较用equals方法。
D char存储的unicode码,不进可以存储ascII码,汉字也可以。

07.
非静态方法只能通过实例对象来调用,不能直接通过类名调用。静态方法(static)才能通过类名直接调用.

08.
Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:( )
正确答案: A D F 你的答案: C E (错误)
A.Java反射主要涉及的类如Class, Method, Filed,等,他们都在java.lang.reflet包下
B.通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法
C.通过反射,可以突破Java语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员
D.Java反射机制提供了字节码修改的技术,可以动态的修剪一个类
E.Java的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多
F.Java反射机制一般会带来效率问题,效率问题主要发生在查找类的方法和字段对象,因此通过缓存需要反射类的字段和方法就能达到与之间调用类的方法和访问类的字段一样的效率

解释:
A Class类在java.lang包
B 动态代理技术可以动态创建一个代理对象,反射不行
C 反射访问私有成员时,Field调用setAccessible可解除访问符限制
D CGLIB实现了字节码修改,反射不行
E 反射会动态创建额外的对象,比如每个成员方法只有一个Method对象作为root,他不胡直接暴露给用户。调用时会返回一个Method的包装类
F 反射带来的效率问题主要是动态解析类,JVM没法对反射代码优化。

09.
servlet周期包含哪些:
正确答案: A B C 你的答案: A B C (正确)
A.初始化
B.销毁
C.请求处理
D.开始

Servlet生命周期分成3个阶段:
1)初始化阶段:调用init方法
2)响应客户请求:调用service
3)终止:调用destory方法

以上是关于Java练习题 06的主要内容,如果未能解决你的问题,请参考以下文章

练习题2

Java练习题 06

Java练习题 06

Java 专项练习第一天

分别使用python和java练习冒泡排序

Java编程思想第4版第四章练习10