java题目

来源:互联网 发布:windjview mac 编辑:程序博客网 时间:2024/05/16 09:01

1. forwardredirect区别
forward方式:request.getRequestDispatcher("/somePage.jsp").forward(request, response);
redirect方式:response.sendRedirect("/somePage.jsp");
a.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response,地址发生变化。

b.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.

2、 abstract classinterface有什么异同?

   抽象类,使部分抽象,它是可以带有一些有方法体的方法。

   接口,所有的方法都是抽象的。

   抽象类是模板,接口是规范。

相同点:

a、不能实例化;

b、包含未实现的方法声明;

不同点:

a、接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。

b、接口可以多继承,抽象类不行。

c、接口定义方法,不能实现,而抽象类可以实现部分方法。

d、接口中基本数据类型为static而抽类象不是的

e、抽象类中可以有成员变量,并且他们可以是非公共的;而接口中不能有成员变量,只能有公共的属性。

3. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)? 
接口可以继承接口;
抽象类可以实现(implements)接口;

抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数;

4. 列数据以逗号分隔
group_concat()可用来行转列
select id,group_concat(name) from aa group by id;
Oracle 10g开始提供wmsys.wm_concat,它可以帮助我们把行的值以逗号隔开
select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From t_menu_item t GROUP BY t.rank;

5. 符号意义
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
alert('0'==0);//true
alert('0'===0);//false
alert(undefined==null);//true
alert(null===0);//false
两个等于会自动类型转换后比较;三个等于必须是同样的类型同样的值进行比较。

6. 关于飞机绕地球飞行一圈的加油问题


总共5架飞机

 

13架飞机从起点o经右往左飞。此时油量为444

   A点时。油量变成333。第三架给头两架加油。加完后,油量为441.第三架   飞回。

    此时,有两架飞机从A点继续飞。油量为44

2:飞到B点时,油量为33.第二架给第一架加油。加完油为42.第二架飞回。此时从B点继续飞的有衣架。油量为4

3:这架飞机最远飞到F点。就没油了。所以。我们需要有飞机同时飞到F点给它加油。而且需要加2的油。

4第四架飞机反向飞到F。用了2,剩下2,给A1个油。

两个一起飞到G点都没油了,

5、然后,第五架飞机反向飞到G处自己用1,给他们两个各1.然后三个一起飞回去。

7、读取文件内容并排序

File file = new File("C:\\Users\\user\\Desktop\\a.txt");try {      BufferedReader br = new BufferedReader(new FileReader(file));      String value = null;      Set set = new TreeSet<String>(new Comparator<String>() {          @Override          public int compare(String o1, String o2) {              if(Integer.valueOf(o1)>Integer.valueOf(o2)){                  return 1;              }else if(Integer.valueOf(o1)<Integer.valueOf(o2)){                  return -1;              }              return 0;          }      });      try {          while((value=br.readLine())!=null){              System.out.println(value);              String[] t = value.split(" ");              for(String s1:t){                  set.add(s1);              }          }          System.out.println("排序后结果:");          StringBuffer res = new StringBuffer("");          Iterator iterator = set.iterator();          while(iterator.hasNext()){              res.append(iterator.next()).append(" ");          }          System.out.print(res);          FileWriter fw = new FileWriter("C:\\Users\\user\\Desktop\\a_res.txt");          fw.write(res.toString());          fw.close();                } catch (IOException e) {          e.printStackTrace();      }        } catch (FileNotFoundException e) {      e.printStackTrace();  }  

8、面向对象的理解?

    1)面向对象是一种编程思想,在这种思想里面,有很重要的一个理念:那就是万物皆对象。

    2Java是一门纯粹的面向对象的语言。面向对象模式将一切事物都看作是对象,例如,一个人是一个对象,汽车、飞机、小鸟等等,都是对象;java就是通过对象之间行为的交互来解决问题的。

9、类是面向对象中一个重要的概念。

类具有三个基本特征:封装、继承、多态。

    封装就是将对象的属性和行为特征包装到一个程序单元(即类)中。

继承是对原有类的拓展,子类和父类的关系,子类还可以通过重写来改变父类中的方法      多态是:不同类的对象对同一消息做出响应。

抽象---不是全部问题,只是选择其中的一部分。

10、Hashmap/hashtable的区别?

1)Hashtable是继承Dictionary类,hashmap是map接口的实现。

2)同步性:hashtable是线程安全,也就说是同步的,而hashmap是线程不安全的,不同步

3)值:hashmap可以将空值作为一个表的条目的key或value。

11、简述一项技术或设计模式的原理

MVC 是一种使用 MVCModel View Controller模型-视图-控制器)设计创建Web应用程序的模式,MVC只是一种开发模式。

Model(模型),对应的一个数据结构,就是一个数据表。

View(视图),用于页面的展示

Controller(控制器),处理逻辑

12、事务,什么是事务,为何用事务

把多件事情当做一件事情来处理

保证数据的一致性和完整性

13运行时异常与一般异常有何异同?

异常表示程序在运行过程中出现的非正常的状态。

运行时异常:虚拟机通常的操作中可能遇到的异常。

一般异常:java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 

14Collection  Collections的区别。  

  Collection是集合类的上级接口,继承collection接口的类有setlistCollections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

15、&&&的区别。

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

16、final, finally, finalize的区别。

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

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

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


0 0