杭州2期.docx
《杭州2期.docx》由会员分享,可在线阅读,更多相关《杭州2期.docx(83页珍藏版)》请在冰豆网上搜索。
杭州2期
1000:
谈谈Arraylist.Vctor.LinkedList的区别,以及它们特性?
一.同步性:
Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:
当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
1001:
谈谈forward.redirect的区别?
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:
转发页面和转发到的页面可以共享request里面的数据.
redirect:
不能共享数据.
3.从运用地方来说
forward:
一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:
一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:
高.
redirect:
低.
1002:
jsp有哪些的动作?
分别有什么作用?
jsp:
include:
在页面被请求的时候引入一个文件。
jsp:
useBean:
寻找或者实例化一个JavaBean。
jsp:
setProperty:
设置JavaBean的属性。
jsp:
getProperty:
输出某个JavaBean的属性。
jsp:
forward:
把请求转到一个新的页面。
jsp:
plugin:
根据浏览器类型为Java插件生成OBJECT或EMBED标记。
1003:
定义两个变量a和b,不使用第三个变量,使两个值交换
publicclasstestMain{
publicvoidtest(inta,intb){
System.out.println("交换前a="+a);
System.out.println("交换前b="+b);
a=a+b;
b=a-b;
a=a-b;
System.out.println("交换后a="+a);
System.out.print("交换后b="+b);
}
publicstaticvoidmain(Stringargs[]){
newtestMain().test(10,13);
}
}
1004:
使用树形菜单
<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'scriptTree.jsp'startingpage
functionfun1(){
window.showModalDialog("${pageContext.request.contextPath}/user.do?
method=login","700");
window.dialogHeight=800;
}
functionfun(isd){
vartabIds=document.getElementById(isd);
if(tabIds.style.display=='none'){
tabIds.style.display='inline';
}else{
tabIds.style.display='none';
}
}
树型菜单
菜单名称 |
inline">
kongjian |
inline">
xiaoxin |
1005:
mvc的流程,客户端的请求被发送到哪?
m层(模型层)
1006:
使用了哪些数据库事务?
BeginTransaction、Commit和Rollback
1007:
对数据库的访问是怎么实现的
将对持久层数据库的基本添加,修改,查找等操作提取到BaseDAO中,采用JavaBean对数据进行封装,以便对持久层的数据能够很好的处理,实现BaseDAO设计对数据库访问的便捷。
业务组件通过DAO的委托接口调用DAO对象,使得上层组件不直接依赖于DAO的实现类
1008:
接口与抽象类的区别
声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义staticfinal成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。
1009:
数据库优化的方案
建立主键,为数据库创建索引,建立存储过程,触发器,可提高查询速度。
1010:
冒泡
publicstaticvoidBubble(inta[]){
for(inti=0;ifor(intj=a.length-1;j>i;j--){
if(a[j]a[j]=a[j]+a[j-1];
a[j-1]=a[j]-a[j-1];
a[j]=a[j]-a[j-1];
}
}
}
}
1011:
创建数据库的sql语句
createdatabasedb_name;
1012:
常用的设计模式有哪些?
并写出一段程序代码
Factory(工厂模式),Adapter(适配器模式),Singleton(单例模式),State(状态模式),Observer(观察者模式)等。
单例模式代码
publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticSingletongetInstance(){
if(instance==null){
instance=newSingleton();
}
returninstance;
}
}
1013:
数据库有哪几种结构?
从数据管理的角度看,数据库通常采用三级模式结构,这是数据库管理系统的内部结构;从数据库最终用户的角度看,数据库的结构可分为集中式结构、分布式结构、客户/服务器结构、并型结构,这是数据库的外部的体系
1014:
有两个下拉列表框,当点击第一个下拉列表框时,显示第二个下拉列表框的信息
有许多个标题栏,每个标题栏对应不同的信息,当鼠标移到某一个标题栏时,显示该标题栏相应的内容
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"
"http:
//www.w3.org/TR/html4/loose.dtd">
学期课程
functionchangeTerm()
{
varcourseList=newArray();
courseList['第一学期']=['C','SqlServer基础','C#','HTML'];
courseList['第二学期']=['Java','JavaScript','SqlServer高级','Java数据结构','JSP'];
courseList['第二学年']=['Oracle','Struts','EJB3.0','Ajax','Spring','Hibernate'];
//获得学期选项的索引号,如第一学期为1,比对应数组索引号多1
varpIndex=document.myform.selTerm.value;
varnewOption1;
document.myform.selCourse.options.length=0;
for(varjincourseList[pIndex])
{
newOption1=newOption(courseList[pIndex][j],courseList[pIndex][j]);
document.myform.selCourse.options.add(newOption1);
}
}
考试申请
|
学期 | 第一学期 第二学期 第二学年 |
课程 | |
1015:
Createtableemp(
Emp_Idint,
Usernamevarcah(20),
)
Createtableemp_class(
Class_idint,
Emp_idint,
)
Createtableclass(
Class_idint,
Class_namevarchar(20)
)
查询出班级名称为‘一斑的学生’
Select*fromempe,emp_classe_c,classcwheree.emp_Id=e_c.Emp_idandc.Class_id=e_c.Class_idandc.Class_name=’一班的学生’
1016:
离职原因,离职时上司对你的评价,公司有多少人,开发的有多少人?
自己想
1017:
SQL有关索引和主键的问题
索引会加快查询速度,却会占用更多的空间,一般来说主键都会被作为索引。
索引的意思就是一个有规则的列表数据库是:
一本新华字典索引就是:
音序查字法、部首查字法;主键的存在就代表着表结构的完整性,表的记录必须得有唯一区,打个比方,表a是学生成绩;表b是学生身高;都存在a字段学号,都可以把a字段即学号当作主键,因为学号是唯一对应的。
在这个情况下,就不能以姓名作为主键,因为不同记录可能姓名是相同的,但是学号肯定不同
1018:
JAVA中Double与double数据类型的区别
Java提供两种不同的类型:
引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
原始类型封装类
boolean-->Boolean
char--->Character
byte-->Byte
short-->Short
int-->Integer
long-->Long
float-->Float
double-->Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:
大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。
对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。
同时为了面向对象操作的一致性,这些基本类型都有相应的封装类型:
Integer、Short、Long、Byte、Float、Double、Character等。
他们都提供了从字符串解析出获得基本类型封装类的方法valueOf(Strings),同时可以获得基本类型值的intValue()、shortValue()、longValue()...等。
因为封装类型是对象,所以可以进行相应的很多对象能力函数操作,这样就可以提供很多基本类型难以完成的工作的完成和实现。
1019:
String字符串如何转换成double或int的数据类型
●字符串类型String转换成整数int
1).inti=Integer.parseInt([String]);或
i=Integer.parseInt([String],[intradix]);
2).inti=Integer.valueOf(my_str).intValue();
注:
字符串转成Double,Float,Long的方法大同小异.
●如何将整数int转换成字符串String
下面三种方法都可以:
1.)Strings=String.valueOf(i);
2.)Strings=Integer.toString(i);
3.)Strings=“”+i;
注:
Double,Float,Long转成字符串的方法大同小异
1020:
css是什么?
ABSTRACT是什么意思?
(层叠样式表,抽象)
abstract修饰符可以用于类、方法、属性、事件和索引指示器(indexer),表示其为抽象成员,abstract不可以和static、virtual一起使用声明为abstract成员可以不包括实现代码,但只要类中还有未实现的抽象成员(即抽象类),那么它的对象就不能被实例化,通常用于强制继承类必须实现某一成员
1021:
你做过最大的项目是什么?
简要介绍一下?
(ERP,FRP,)
1022:
你在学校做过那些项目?
(网上图书系统,学生管理系统,彩票销售模拟系统)
1023:
你大学所学习的哪些课程?
(会哪些JAVA技术?
学过C语言,c++,c#,java)
1024:
BBS论坛运用了那些技术,如果你单独开发需要多久,你能够独立完成整个代码的编写吗?
(jsp技术,ajax技术,通信技术,)
1025:
你对博客网有什么认识
(典型的网络新事物,指网上写作的一种特定形式和格式。
由按时间倒序排列的文档组成的栏目,两侧通常还可以有补充材料,频繁更新,一般大量使用链接)
1026:
从终端用户的角度来看,事务是一个?
原子
1027:
DFD是面向__c____分析方法的描述工具(DFD数据流程图)
A.数据结构B.数据流C.对象D.构件
1028:
publicprivateprotecteddefault访问修饰符的作用范围
public--都可访问(公有)
private--类内可访问(私有)
protected--包内和子类可访问(保护)
不写(default)--包内可访问(默认)
public>protected>default>private
1029:
error与exception的区别
Throwable是所有Java程序中错误处理的父类,有两种资类:
Error和Exception。
Error:
表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。
Exception:
表示可恢复的例外,这是可捕捉到的。
Java提供了两类主要的异常:
runtimeexception和checkedexception。
checked异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。
对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。
所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
但是另外一种异常:
runtimeexception,也称运行时异常,我们可以不处理。
当出现这样的异常时,总是由虚拟机接管。
比如:
我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。
出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。
如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。
抛出之后,如果是线程,这个线程也就退出了。
如果是主程序抛出的异常,那么这整个程序也就退出了。
运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。
只不过往往我们不对他处理罢了。
也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。
如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。
队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。
不应该由于异常数据而影响下面对正常数据的处理。
在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。
如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。
异常处理的目标之一就是为了把程序从异常中恢复出来
1030:
Collection与Collections的区别
Collection和Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
List,Set,Map是否继承自Collection接口?
List,Set是Map不是
1031:
构造器是否可以被重写?
不能
1032:
char是否可以装一个汉字?
可以
1033:
publicclassTest{
publicstaticvoidadd(Integeri){
intval=i.intValue();
val+=3;
i=newInteger(val);
}
publicstaticvoidmain(String[]args){
Integeri=newInteger(0);
add(i);
System.out.println(i.intValue());
}
}
打印的结果是
0
1034:
java基础
画图awt,applet
1035:
outmermory是个什么问题?
你是怎么解决的?
内存溢出解决方法:
手动设置Heapsize修改TOMCAT_HOME/bin/catalina.bat
在“echo"UsingCATALINA_BASE:
$CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server-Xms800m-Xmx800m-XX:
MaxNewSize=256m"
1036:
final,finally,finalize的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。
因此一个类不能既被声明为abstract的,又被声明为final的。
将变量或方法声明为final,可以保证它们在使用中不被改变。
被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供finally块来执行任何清除操作。
如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。
finalize—方法名。
Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
这个方法是由垃圾收集器在确定这个对象没有被引用