Section1-Java
1.下面程序的运行结果是()
a)答案:false
String str1 = “hello”;
String str2 = “he”+new String(“llo”);
System.err.println(str1 == str2);
2.请指出下列代码段中的错误或不足指出,并说明该如何改进(这些代码段都是可以成功编译)
(暂时不想写了)
3.在写一个类时,可能会需要覆写hashCode()和equals()方法,这两个方法的意义是什么,为什么需要去覆写?
答:hashCode()意义:给不同对象返回不同的hash code值,相当于识别码;
equals()意义:用于判断其它对象是否与该对象相同;
需要覆写的原因是:如果你想这个类的对象能比较的话,就要覆写equals方法,因为只有覆写了这个方法,
JVM才知道根据什么判断这两个对象是相同的。当一个类覆写了equals(),就必须覆写hashCode(),不然
在作为key使用时,会存入相同的key或者取不出已经存在的结果。
Section2-Oracle(以下问题基于Oracle数据库或MySQL数据库)
1.写一条SQL/MySQL,来表示A表左连接B表。
答:select * from A LEFT JOIN B A.cloums = B.cloums
(没给字段,自己添加的colums)
内连接(inner join...on/....join...on...)
左连接(左外连接)left join...on...
右连接(右外连接)right join...on...
全外连接full join...on...
2.数据库中的索引有什么作用?它又会对数据库带来什么负面影响?
答:作用
1.通过创建唯一索引,可以保证数据库表中每一行数据的唯一性;
2.可以大大加快数据的检索速度,这也是创建索引的最主要原因;
3.可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;
4.在使用分组和排序自居进行检索是,同样可以显著减少查询中分组和排序的时间;
5通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统的性能。
负面影响:
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;
2.索引需要占物理空间,处理数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索 引,那么需要的空间就会更大;
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
3.如何用oracle中使用SQL来做分页查询?并且如何保证分页的结果按照某个子弹的顺序固定的?请写出一条示例的SQL来说明。
答:oracle中使用SQL分页查询:
方法一:
经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;
方法二:
经过测试,此方法随着查询范围的扩大,速度也会越来越慢!
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select t.*
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT
WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIAS.rowno >= 10;
Section3-JSP
1.请回答HttpServlet中的方法有哪些?哪个方法来调用doPost();doPost()和doGet()的区别?
答: 1.init()方法
2.service()方法
3.doGet()方法
4.doPost()方法
5.destroy()方法
6.GetServletConfig()方法
7.GetServletInfo()方法
post方法调用doPost()方法;
get和post的本质区别:get只有一个流,参数附加在url后,大小个数都有严格的限制,且只能是字符串;
post的参数不通过url而是通过其他流的传递参数,所以可以很大,也可以传递二进制数据,例如上传文件。
post比get安全;由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。GET调用会把
传递给Servlet的参数再URL里显示出来,这样对系统安全方面存在问题;而POST请求则通过其他流传递参数,
不会再URL中显示,更安全;例如用户登录时,如果是用GET调用会把用户账号密码都显示在URL中,用POST
调用则不会显示。
服务器接收方式:服务器随机接收get方法的数据 ,一旦断电等原因,服务器也不知道信息是否发送完毕,而
post方法,服务器先接收数据信息的长度,然后再接收数据。
2.回答自定义Tag如何来写?继承买哪个类?Overwrite.....?
答:(现在谁还用jsp啊,难找,不写)