1.(C#、JAVA)扩展方法能访问被扩展对象的public成员

A.能

B.不能

答案:

A

解析:

翻译一下,子类方法是否能够访问父类中的public成员。

2.如果子类要调用父类的构造函数,则通过super()调用来实现。

A.正确

B.错误

答案:

A

解析:

super关键字在子类内部使用,代表父类对象。 访问父类的属性 super.属性名 访问父类的方法 super.方法名() 子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()

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

A.String是Java定义的一种基本数据类型。

B.String是以“\0”结尾的char类型的数组char[]。

C.使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。

D.Char类型在Java语言里面存储的是ASCII码。

答案:

C

解析:

A 基本数据类型包括byte,short,int,long,float,double,char,boolean,所以A错。

B,C语言当中是这样,java不是, String内部是用char[]数组实现的,不过结尾不用\0。

C 对,字符串内容比较用equals方法。

D char存储的unicode码,不进可以存储ascII码,汉字也可以。

4.关于JAVA堆,下面说法错误的是()?

A.所有类的实例和数组都是在堆上分配内存的

B.堆内存由存活和死亡的对象,空闲碎片区组成

C.数组是分配在栈中的

D.对象所占的堆内存是由自动内存管理系统回收

答案:

C

解析:

C应该改为,数组的引用存在栈内存中,而数组对象保存在堆里面。

5. java 接口的修饰符可以为()

A.private

B.protected

C.final

D.abstract

答案:

D

解析:

接口是通用的,用来描述方法是干什么用的,方法的默认修饰符为public abstract.不可以为final 是因为方法要被重写, 描述符如果为private或者protected,那么子类重写的方法的描述符也可以为private或者protected,这样就是有了访问显示,不符合接口所要达到的的任何人都可以使用了

6.指出下来程序运行的结果是

A.good and abc

B.good and gbc

C.test ok and abc

D.test ok and gbc

答案:

B

解析:

实参和形参的问题。"ex.change(ex.str, ex.ch)"语句调用"change"方法时,将ex.str变量(实参)的值赋给了"change"方法中的str变量(形参),而将ex.ch(实参)的地址赋给了"change"方法中的ch(形参)。"change"方法运行时,第一条语句改变的是方法中形参的值,对实参没影响,第二条语句由于是直接改变的ch所指地址的值,所以把实参也进行了改变。

7. A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明: 问以下哪个说法是正确的?( )

1. A  a0=new  A();
2. A a1 =new B();
3. A a2=new C();

A.第1行不能通过编译

B.第1、2行能通过编译,但第3行编译出错

C.第1、2、3行能通过编译,但第2、3行运行时出错

D.第1行、第2行和第3行的声明都是正确的

答案:

A

解析:

抽象类和接口不能实例化

8.try块后必须有catch块。()

A.正确

B.错误

答案:

B

解析:

catch可以省略,try的形式有三种:

try-catch

try-finally

try-catch-finally

但catch和finally语句不能同时省略!

9. 以下 _____ 不是 Object 类的方法

A.clone()

B.finalize()

C.toString()

D.hasNext()

答案:

D

解析:

10.指出下列程序运行的结果:

public class Example{
String str=new String("tarena");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
//引用类型变量,传递的是地址,属于引用传递。
str="test ok";
ch[0]='g';
}
}

A.tarena and abc

B.tarena and gbc

C.test ok and abc

D.test ok and gbc

答案:

B

解析:

与第六题类似。

11.以下代码段执行后的输出结果为

public class Test {
public static void main(String args[]) {
int x = -5;
int y = -12;
System.out.println(y % x);
}
}

A.-1

B.2

C.1

D.-2

答案:

D

解析:

取模运算,余数的符号跟被除数符号相同

12.下面有关webservice的描述,错误的是?

A.Webservice是跨平台,跨语言的远程调用技术

B.Webservice通信机制实质就是json数据交换

C.Webservice采用了soap协议(简单对象协议)进行通信

D.WSDL是用于描述 Web Services 以及如何对它们进行访问

答案:

B

解析:

Webservice是跨平台,跨语言的远程调用技术;它的通信机制实质就是xml数据交换;它采用了soap协议(简单对象协议)进行通信

13.关于ASCII码和ANSI码,以下说法不正确的是()?

A.标准ASCII只使用7个bit

B.在简体中文的Windows系统中,ANSI就是GB2312

C.ASCII码是ANSI码的子集

D.ASCII码都是可打印字符

答案:

D

解析:

A、标准ASCII只使用7个bit,扩展的ASCII使用8个bit。

B、ANSI通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符。超出此范围的使用0x80~0xFFFF来编码,即扩展的ASCII编码。不同 ANSI 编码之间互不兼容。在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在繁体中文Windows操作系统中,ANSI编码代表Big5;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。

C、ANSI通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符,即ASCII码

D、ASCII码包含一些特殊空字符

14. Test.main() 函数执行后的输出是()



    public class Test {
public static void main(String [] args){
System.out.println(new B().getValue());
}
static class A{
protected int value;
public A(int v) {
setValue(v);
}
public void setValue(int value){
this.value = value;
}
public int getValue(){
try{
value++;
return value;
} catch(Exception e){
System.out.println(e.toString());
} finally {
this.setValue(value);
System.out.println(value);
}
return value;
}
}
static class B extends A{
public B() {
super(5);
setValue(getValue() - 3);
}
public void setValue(int value){
super.setValue(2 * value);
}
}
}

A.11 17 34

B.22 74 74

C.6 7 7

D.22 34 17

答案:

D

解析:

15.final、finally和finalize的区别中,下述说法正确的有?

A.final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

B.finally是异常处理语句结构的一部分,表示总是执行。

C.finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。

D.引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的。

答案:

A B

解析:

A,D考的一个知识点,final修饰变量,变量的引用(也就是指向的地址)不可变,但是引用的内容可以变(地址中的内容可变)。

B,finally表示总是执行。但是其实finally也有不执行的时候,但是这个题不要扣字眼。

  1. 在try中调用System.exit(0),强制退出了程序,finally块不执行。
  2. 在进入try块前,出现了异常,finally块不执行。

    C,finalize方法,这个选项错就错在,这个方法一个对象只能执行一次,只能在第一次进入被回收的队列,而且对象所属于的类重写了finalize方法才会被执行。第二次进入回收队列的时候,不会再执行其finalize方法,而是直接被二次标记,在下一次GC的时候被GC。

    放一张图吧

16.关于equals和hashCode描述正确的是()

A.两个obj,如果equals()相等,hashCode()一定相等(符合代码规范的情况下)

B.两个obj,如果hashCode()相等,equals()不一定相等

C.两个不同的obj, hashCode()可能相等

D.其他都不对

答案:

A B C

解析:

地址比较是通过计算对象的哈希值来比较的,hashcode属于Object的本地方法,对象相等(地址相等),hashcode相等,对象不相等,hashcode()可能相等,哈希冲突

17.下面有关java类加载器,说法正确的是?

A.引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的

B.扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。

C.系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类

D.tomcat为每个App创建一个Loader,里面保存着此WebApp的ClassLoader。需要加载WebApp下的类时,就取出ClassLoader来使用

答案:

ABCD

解析:

jvm classLoader architecture :

a、Bootstrap ClassLoader/启动类加载器

主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作.

B、Extension ClassLoader/扩展类加载器

主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作

C、System ClassLoader/系统类加载器

主要负责java -classpath/-Djava.class.path所指的目录下的类与jar包装入工作.

B、 User Custom ClassLoader/用户自定义类加载器(java.lang.ClassLoader的子类)

在程序运行期间, 通过java.lang.ClassLoader的子类动态加载class文件, 体现java动态实时类装入特性.

18.下面哪项技术可以用在WEB开发中实现会话跟踪实现?

A.session

B.Cookie

C.地址重写

D.隐藏域

答案:

ABCD

解析:

会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。

HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。

有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。

1).隐藏表单域:,非常适合步需要大量数据存储的会话应用。

2).URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。

3).Cookie:一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP

响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个

Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至

在客户端计算机重启后它仍可以保留其值

4).Session:使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话

19.下面有关forward和redirect的描述,正确的是() ?

A.forward是服务器将控制权转交给另外一个内部服务器对象,由新的对象来全权负责响应用户的请求

B.执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址

C.执行redirect时,服务器端告诉浏览器重新去请求地址

D.forward是内部重定向,redirect是外部重定向

E.redirect默认将产生301 Permanently moved的HTTP响应

答案:

B C D

解析:

1.从地址栏显示来说

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.

redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

2.从数据共享来说

forward:转发页面和转发到的页面可以共享request里面的数据.

redirect:不能共享数据.

3.从运用地方来说

forward:一般用于用户登陆的时候,根据角色转发到相应的模块.

redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说

forward:高.

redirect:低.

20.下面关于volatile的功能说法正确的是哪个

A.原子性

B.有序性

C.可见性

D.持久性

答案:

B C

解析:

synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性

推荐

笔试内容集合 持续更新中....

文末

欢迎关注个人微信公众号:Coder编程

获取最新原创技术文章和免费学习资料,更有大量精品思维导图、面试资料、PMP备考资料等你来领,方便你随时随地学习技术知识!

文章收录至

Github: https://github.com/CoderMerlin/coder-programming

Gitee: https://gitee.com/573059382/coder-programming

欢迎关注并star~

最新文章

  1. GreenDao3.0新特性解析(配置、注解、加密)
  2. VirtualBox安装MS-DOS6.22(图文教程)
  3. Reveal使用步骤
  4. [JFinal 1] JFinal和SSH中使用拦截器的对比
  5. 事件对象event和计时器
  6. MyEclipse默认标签TODO,XXX,FIXME和自定义标签的使用
  7. Linux find xargs rm .orig
  8. html同一个页面多个倒计时
  9. Windows store app Settings 的 应用 ( viewmodel + windows.storage)
  10. LoadRunner 参数化详解
  11. SQL语句 远程操作数据库
  12. Mac内建Apache
  13. Java基础知识强化69:基本类型包装类之Character案例(统计字符串中大写小写以及数字的次数)
  14. 超级列表框List Ctrl
  15. iOS-OC-基础-NSDictionary常用方法
  16. Score(规律)
  17. 函数作用域中的this问题
  18. aws中的路由表
  19. 从零开始制作 Hexo 主题
  20. QQ的孤独

热门文章

  1. 《vue》实现动态显示与隐藏底部导航方法!
  2. pgloader 学习(四)一些简单操作例子
  3. 交互设计算法基础(4) - Hash Table
  4. 浅谈 Miller-Robbin 与 Pollard Rho
  5. Clion下同时编写多个main函数
  6. Fluent也弹窗
  7. Vue2.0 render: h => h(App)的解释
  8. rust所有权
  9. 设置应用程序的样式并对其进行部署——《Python编程从入门到实践》
  10. ukulele弹奏模拟器v1.0(待完善)