A卷

1.选择题

public class Test01 {

public static void changeStr(String str) {

str = "welcome";

}

public static void main(String[] args) {

String str = "1234";

changeStr(str);

System.out.println(str);

}

}

答案:输出1234.

解析:八种基本数据类型,外加String,在作为参数传值的时候,传的是值,意思就是另外copy了一份,操作的是copy的那一份。所有在原方法中值不会改变。引用数据类型在作为参数传值的时候,传的是内存地址。在其他方法中修改的话,会改变参数的值。

2.选择题

public class Test01 {

static boolean foo(char c) {

System.out.print(c);

return true;

}

public static void main(String[] argv) {

int i = 0;

// for(65;88&&(i<2);67)

for (foo('A'); foo('B') && (i < 2); foo('C')) {

i++;

foo('D');

}

}

}

答案:输出ABDCBDCB

解析:考察for循环的执行流程。

第一次循环:执行foo('A');

然后执行foo('B') && (i < 2);

进入循环执行i++;foo('D');

第一次循环结束,执行:foo('C')

第二次循环:执行:foo('B') && (i < 2);

进入循环执行i++;foo('D');

第二次循环结束,执行:foo('C')

第三次循环:执行:foo('B') && (i < 2);此时,i=2,不满足条件i<2.结束循环。输出ABDCBDCB

3.选择题

class A {

protected int method1(int a, int b) { return 0; }

}

Which two are valid in a class that extends class A? (Choose two)

A. public int method1(int a, int b) { return 0; }

B. private int method1(int a, int b) { return 0; }

C. private int method1(int a, long b) { return 0; }

D. public short method1(int a, int b) { return 0; }

E. static protected int method1(int a, int b) { return 0; }

答案:AC

解析:考察方法的重写,重写存在于父子类关系中。

01.方法的重写表示子类中的方法可以与父类中的某个方法的名称和参数类型完全相同。通过子类创建出来的对象,在调用这个方法时,调用的是子类中的方法。

这相当于子类中的方法把父类中的方法给覆盖了。这是面向对象多态性的一种体现。

02.在抛出异常方面:子类重写父类方法时,抛出的异常类型只能是父类异常类型的子类,或者和父类异常类型一样。

03.在访问权限方面:子类重写父类方法时,子类方法的访问权限不能严于父类。只能和父类相同,或者高于父类。

04.如果父类的方法时private类型的,那么子类不能重写该方法。相当于在子类中新增了一个全新的方法。

05.在返回值类型方面:如果方法的返回值类型是基本数据类型和String,那么返回值类型不能改变。

如果返回值类型是引用数据类型,例如:父类a方法的返回值类型为User,那么在子类中重写了a方法,那么子类中的a方法的返回值类型,必须是User或者是User的子类。

方法重载:重载存在于同一个方法中。

01.方法名必须相同。

02.与方法返回值类型无关。

03.参数类型必须不同,包括参数的类型,顺序,参数的个数。

04.可以有不同的访问修饰符。

05.可以抛出不同的异常。

4.选择题

public class Outer{

public void someOuterMethod() {

//01

}

public class Inner{}

public static void main( String[]argv ) {

Outer o = new Outer();

//02

}

}

Which instantiates an instance of Inner?

A. new Inner(); //方在01

B. new Inner();//放在02

C. new o.Inner(); //放在01

D. new Outer.Inner(); //放在02

答案:A

解析:在本类中直接创建,在01位置,可以直接new Inner();

在外部类中,在02位置要通过

Outer.Inner inner = new Outer().new Inner();

创建对象。

5.选择题

Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?

(译:那个方法是servlet用于将其session ID入在一个URL中,该URL写入servlet的响应输出流)

A. The encodeURL method of the HttpServletRequest interface.

B. The encodeURL method of the HttpServletResponse interface.

C. The rewriteURL method of the HttpServletRequest interface.

D. The rewriteURL method of the HttpServletResponse interface.

答案:B

解析:

不存在rewriteURL这个方法。

/*

* session默认,也是要把sessionID写到客户端的内存当中(内存cookie)

* 重写地址,防止禁用cookie的时候,仍然可以使用session

*/

resp.encodeURL(req.getRequestURL().toString());

6. XML包括哪些解释技术,区别是什么?

答案:xml解析技术主要包括:DOM,SAX,JDOM,DOM4j

区别:

1.DOM(Document Object Modal):文档对象模型。

01.为XML文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个主流内存的树结构,然后代码就可以使用DOM接口来操作这个树结构。

02.优点:整个文档树在内存中,便于操作。支持删除修改,重新排列等多种功能。

03.缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;

04.使用场合:一旦解析了文档还需要多次访问这些数据;硬件资源充足。

2.SAX(Simple API for):事件驱动

01.为了解决DOM的问题,出现了SAX。当解析器发现元素开始,元素结束,文本,文档的开始或结束等时,发送事件,我们可以编写响应事件的代码,保存数据。

02.优点:不用事先调入整个文档,占用资源少,SAX解析器代码比DOM解析代码少,适用于Applet,下载。

03.缺点:不是持久的,事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素。

04.使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少。

3.DOM4J

01.DOM4J是一个非常优秀的Java XML API ,具有性能优异,功能强大和极端易使用的特点。同时它也是一个开源代码的软件。

4.JDOM:

01.为减少DOM,SAX的编码量,出现了JDOM,

02.优点:20-80原则,极大减少了代码量。

03.使用场合:要实现的功能简单,如解析,创建等。但是在底层,JDOM还是使用SAX(最常用),DOM.

7. JSP有哪些内置对象和动作?它们的作用分别是什么

答案:

01.request:用户端请求,此请求会包含来自GET/POST请求的参数

02.response:网页传回用户端的回应

03.pageContext:网页的属性是在这里管理

04.session:与请求有关的会话期

05.application  servlet正在执行的内容

06.out:用来传送回应的输出

07.config servlet的构架部件

08.page JSP:网页本身

09.exception:针对错误网页,未捕捉的例外

8. JAVA程序的种类有

A: 类(Class)B:Applet  C:application D:Servlet

答案:BCD

解析:B:内嵌于Web文件中,由浏览器来观看的_Applet

C:可独立运行的Application

D:服务器端的servlet

9.选择题

01.在编译程序时,所能指定的环境变量不包括class path

02.javac一次可编译数个Java源文件。

03.javac.exe能指定编译结果要置于哪个目录。

10. 谈谈你对MVC框架的理解

01.MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。

MVC中的模型、视图、控制器它们分别担负着不同的任务。

02.视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。

03.模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性

04.控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。

然后根据处理的结果调用相应的视图来显示处理的结果。

05.MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。

06.例如SpringMVC的执行流程:

11. set的哪个实现类有排序的功能

答案:treeSet.

12. vector和arraylist的异同?treemap和hashmap的异同?

答案:

相同点:

一:都实现了List接口。

二:都是通过数组实现的。

三:数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。

不同点:

一:arraylist 属于线程不安全(线程不同步)即当多线程进行对arraylist集合的操作时,有可能对数据进行不正确的操作。

vector是线程安全的(线程同步) 即当在同一时刻只能有一个线程进行对vector集合的操作,但是vector要做到线程同步,需要大量的花费,可能是消耗大量的内存或者cpu。

HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。而HashMap的函数则是非同步的,它不是线程安全的。若要在多线程中使用HashMap,需要我们额外的进行同步处理。 对HashMap的同步处理可以使用Collections类提供的synchronizedMap静态方法,或者直接使用JDK 5.0之后提供的java.util.concurrent包里的ConcurrentHashMap类。

TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。
TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。
TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合。
TreeMap 实现了Cloneable接口,意味着它能被克隆
TreeMap 实现了java.io.Serializable接口,意味着它支持序列化

HashMap:底层是哈希表数据结构。线程不同步。
TreeMap:底层是二叉树数据结构,线程不同步,可用于给Map集合中的键进行排序。

13.如何将字串 String 转换成整数 int?

有两个方法:

1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

14. 如何将整数 int 转换成字串 String ?

有3种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

java面试题09的更多相关文章

  1. Java面试题(全)--视频系列

    此系列为面试笔试题的视频讲解,以下均为超链接,点击即可进入每个知识点的讲解. Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环 ...

  2. 一线互联网企业常见的14个Java面试题,Java面试题集大全等你拿,颤抖吧程序员!

    本文由尚学堂学员们根据自己参加过的面试回忆.总结而成,一线互联网企业常见的14个Java面试题,包括各大互联网企业.创业小公司,互联网企业.传统软件公司.对于刚毕业和想要跳槽的宝宝们,再适用不过啦,赶 ...

  3. Java面试题阶段汇总

    初级面试题   Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java面试题-基础篇四 Java面试题-基础篇五 Java面试题-javaweb篇六 Java面试题 ...

  4. 2018年最新Java面试题及答案整理(持续完善中…)

    2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...

  5. 刷完一千道java笔试题的常见题目分析

    java基础刷题遇到的最常见问题 可以先看一下这位博主整理的java面试题(很详细,我看了好几遍了):https://blog.csdn.net/ThinkWon/article/details/10 ...

  6. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  7. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  8. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  9. Java面试题大全(四)

    JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

随机推荐

  1. VueJS自定义过滤器:new Vue({filters:{filter1:function(){}....}})

    Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化. 语法 <!-- 在两个大括号中 --> {{ message | capitalize }} <!-- 在 v-bin ...

  2. RF常用库简介(robotframework)

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  3. iReport+jasperreport创建子表的几种方式(1)

    在制作报表的过程中,子表是不可缺少的.今天就研究了一下制作子表的几种方式 一.连接数据库创建子表 以MySQL为例: 我的数据源数据库中的表 watermark/2/text/aHR0cDovL2Js ...

  4. Netty(三):线程模型

    Netty中支持单线程模型,多线程模型,主从多线程模型. 1 单线程模型 在ServerBootstrap调用方法group的时候,传递的参数是同一个线程组,且在构造线程组的时候,构造参数为1,这种开 ...

  5. HDFS源码分析心跳汇报之数据块汇报

    在<HDFS源码分析心跳汇报之数据块增量汇报>一文中,我们详细介绍了数据块增量汇报的内容,了解到它是时间间隔更长的正常数据块汇报周期内一个smaller的数据块汇报,它负责将DataNod ...

  6. Tinker 热修复框架 简单上手教程

    当你们看到Tinker的时候是不是有点愣逼这个是什么东西? 简单来说就是不需要重新下载app和重新安装app 来进行更新app的技术框架. 看看这个吧,我也是才学习 ,先做个学习记录 参考:Tinke ...

  7. 关于一致/非一致代码段与TSS 关系的个人看法

    [0]概念定义 0.1)一致代码段: 简单理解,就是操作系统拿出来被共享的代码段,可以被低特权级的用户直接调用访问的代码, 但是特权级高的程序不允许访问特权级低的数据. 通常这些共享代码,是" ...

  8. ios math.h 常用数学函数

    1. 三角函数  double sin (double);正弦  double cos (double);余弦  double tan (double);正切  2 .反三角函数  double as ...

  9. map和string的使用方法

    这个是别人写的map使用方法比較好能够看一下 http://www.cnblogs.com/anywei/archive/2011/10/27/2226830.html 怎样向数组中插入内容 http ...

  10. 1 zabbix3.2.4 安装

    一. 搭建zabbix服务 Zabbix 3.0对PHP的要求最低为5.4,而CentOS6默认为5.3.3,完全不满足要求,故需要利用第三方源,将PHP升级到5.4以上,注意,不支持PHP7.如下是 ...