1.离线查询去除重复项怎么加条件?
dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
2. http协议及端口,smtp协议及端口
超文本传输协议 端口 80
简单邮件传输协议 端口25
3.编写程序,完成文件复制功能 错误?
InputStream is=new InputStream();
OutputStream os = new FileOutputStream(new File("写入的文件的路径")); byte[] buff=new byte[8192]; int length = 0;
while((length=is.read(buff))!=-1){
os.write(buff,0,length);
} 然后try...catch()..finally{关闭流}
4.Servlet创建过程及生命周期Servlet 在容器中运行时,其实例的创建及销毁等是由容器进行控制。
Servlet 的创建有两种方法。
1、客户端请求对应的 Servlet 时,创建 Servlet 实例;大部分Servlet 都是这种 Servlet 。 2、通过在web.xml 中设置load-on-startup来创建servlet实例,这种实例在Web 应用启动时,立即创建Servlet 实例
Servlet 的运行都遵循如下生命周期:
1、创建 Servlet 实例。
2、Web 容器调用 Servlet 的 init 方法,对Servlet 进行初始化。
3、Servlet 初始化后,将一直存在于容器中,用于响应客户端请求。。如果客户端有get 请求,容器调用Se凹let 的doGet 方法处理并响应请求。对于不同的请求,有不同的处理方法,或者统一使用service 方法处理来响应用户请求。
4、Web 容器角色销毁Servlet 时,调用 Servlet 的 destroy 方法,通常在关闭Web容器之时销毁Servlet。
5.用sql语句分页:list.map.set的存储特点?
List 以特定次序来持有元素,可有重复元素.Set 无法拥有重复元素,内部排序.Map 保存key-value值,value可多值
6.final,finally,finaliz的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声 明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改 被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常 ,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 ;finalize() 方法以整理系统资源或者执行其他清理工作 finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
7.arraylist和vector的区别?
ArrayList 作为一个常规用途的对象容器使用,用于替换原先的Vector。允许我们快速访问元素,但在从列表中部插入和删除元素时,速度却嫌稍慢。
一般只应该用ListIterator对一个ArrayList进行向前和向后遍历,不要用它删除和插入元素;与LinkedList相比,它的效率要低许多
8.Arraylist linkedlist区别?
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦 LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始
9.haSHMAP,HASHTABLE区别
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。
3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。
10.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
Cookie是在客户端开辟的一块可长期存储用户信息的地方;Session是在服务器内存中开辟的一块存储用户信息的地方;当客户第一次访问服务器时,服务器在内存创建对应的Session给访问客户,当客户离开或时间过期时;服务器自动销毁Session; Session是由容器管理的
11.set,map,set接口的区别
list以特定次序来持有元素,可有重复元素,查找效率高 ,插入效率低化,
set 无法拥有重复元素,内部排序,检索元素效率低,删除和插入效率高,因为插入和删除不会引起位置上的变化,
12.String和stringbuffer进行字符串连接时的区别?
String对象内容是不可改变的,StringBuffer是可以改变的,别且高效;
13.什么叫项目?
用有限的资源、有限的时间为特定客户完成特定目标的一次性工作
14.J2EE J是什么意思? 2是什么意思 EE是什么意思? Struts的拦截器你是怎么做的,是独立开发的,能够独立开发的到。然后问有哪几种拦截?
Java 2 Platform,Enterprise Edition
继承AbstractInterceptor类,覆盖intercept()方法
有struts自己的拦截器 如timer ,i18n,scop,servletconfig,token
还有自定义拦截器
15.简单介绍下java?Spring的AOP,IOC的讲述 对struts2的了解,1,2的比较 xml的了解 J2ee的webserviced的协议?
Spring AOP:代理机制 Spring提供的自动代理机制
Spring的IoC来实组件之间的依赖关系注入, 使控制层与业务实现分离,即客户通过
调用业务委托接口来调用具体的业务组件的实例,避免控制层与业务层的藕合带来的维护
或升级困难。由Spring为DAO生成代理对象来为DAO添加事务服务,由IoC容器DAO的代理实例注入到业务组件中,业务组件通过DAO的委托接口调用DAO对象,使得上层组件不直接依赖于DAO的实现类,使得持久层更换或修改不影响上层组件。
16.Collections,collection的区别
Collection是个java.util下的接口,它是各种集合结构的父接口。Collections是个java.util下的普通类,它包含有各种有关集合操作的静态方法。Collections是针对集合类的一个帮助类,它提供一系列的静态方法实现对各种集合的搜索,排序,线程安全化等操作
17.如何释放过度使用的undo表空间
释放undo表空间 1. 启动SQLPLUS,并用sys登陆到数据库。 2. 查找数据库的UNDO表空间名3. 确认UNDO表空间;SQL> select name from v$tablespace; NAME
4. 检查数据库UNDO表空间占用空间情况以及数据文件存放位置; 5. 查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间 6. 检查UNDO Segment状态
18.数据库里面游标,索引是怎么用的? 在oracle数据库中,用get 和load方法 这2个方法来查没有的数据 那么分别会反馈什么样的结果?
declare cur cursor keyset for
get返回null,load classnotfoundException
19.在Oracle中数据库中的一个表中,这个表没有主键id也没有特定标示来查数据,怎么查?
rowid
20.简述private、proteced、public、internal修饰符的访问权限 2.概述反射和序列化
请裂举session、cookie、viewstatedn的应用范围 4、简述WebService和Remoting的特点和运用场景
同一个类 同一个包 不同包的子类 不同包非子类
private *
default * *
protected * * *
public * * * *
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。本文借由实例,大面积示范Reflection APIs。
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流
21.ORACLE中not和and和or优先级由高到低?
not and or
22.java 是如何进行异常处理的
调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序
23.struts2 必备包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-api-1.1.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
24.dao 是什么及作用
Dao 是数据访问对象 DAO负责管理与数据源的连接来获取和储存其中的数据
ibtis 中的#与$的区别
struts的实现原理
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;
5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper
简述spring 的事务传播行为和隔离级别
25.写一段把本地文件formfile拷贝到本地文件tofile的程序
public class ChangeJtdToJava {
public static void main(String[] args) {
File dir = new File("f:/jtd");
// 得到d:/jtd 下的所有文件对象
File[] files = dir.listFiles();
for (File file : files) {
String fileName = file.getName(); // 得到文件名
int index = fileName.indexOf(".");// .的索引位置
String fileName2 = fileName.substring(0, index); // 不带后缀名的文件名
String houZui = fileName.substrinxg(index);
if (houZui.equals(".jtd")) {
// "f:/java/" + fileName2 + ".java"
// 要移到的地方
file.renameTo(new File("f:/java/" + fileName2 + ".java"));
}
}
}
}
26.写出删除表中重复记录的语句 oracle
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by
27.用java 实现一种排序,java 类实现序列化的方法(二种)?如在collection框架中,要实现什么样的接口
java.io.Serializable接口 Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
28.Struts2是如何实现拦截器的?
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现。实现原理:当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的 拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器
29.sleep()和wait()区别
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait().会释放锁
30.Servlet的生命周期分为5个阶段:? 和CGI的区别?
实例化:Servlet容器创建Servlet类的实例。
初始化:该容器调用init()方法,通常会申请资源。
服务:由容器调用service()方法,(也就是doGet()和doPost())。
破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。
31.foward和redirect区别
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。web应用程序会要求客户端浏览器重新发出请求地址,客户端会重新连接至所指定的地址,因此浏览器的地址会出现重新导向的信息,重新导向后的请求由浏览器发出,所以不能访问Web应用程序中的隐
32.多线程、同步实现方法?
实现线程有两种 继承Thread类或者实现Runnable接口... 实现同步也有两种,一种是用同步方法,一种是用同步块.. 同步方法就是在方法返回类型后面加上synchronized, 比如:
public void synchronized add(){...}
同步块就是直接写:synchronized (这里写需要同步的对象){...}
33.集合类有哪些?有哪些方法?
集合类 ArrayList LinkedList HashSet HashMap方法:add(),remove(),put(),addAll(),removeAll()
34.java中实现多态的机制是什么
重写,重载
35. 静态的多态和动态的多态的区别
静态的多态:方法名相同,参数个数或类型不相同。(overloading)
动态的多态:子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法 实现接口的实例传与接口的引用调用的实现类的方法。
36.作用域Public,private,protected.以及不写时的区别
public整个java程序中都可以访问
protected在其他包中不可以访问
friendly只有当前包或当前内可以访问,其他都不行
private只有当前内可以访问
不写的话默认是protected
37.extends和implement的不同
extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 比如 class A extends B implements C,D,E
38.常用的设计模式?定义一个变量, Var v =new Object (),用js编写的简便写法是什么?join与leftjoin的区别
DAO设计模式与DELEGATE模式
适配器模式与桥梁模式的区别
工厂模式
inner join :内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值
left join:内连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAVING 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行
39.Hibernate中离线查询与在线查询的区别
Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的,创建时无需 Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCriteria 实例的创建。
40.C#数据类型有哪些 ?
int 整型double 双精度型string 字符串型 char 字符型 bool 布尔型
41.抽象类能否被实例化
抽象类通常不是由程序员定义的,而是由项目经理或模块设计人 设计抽象类的原因通常是为了规范方法名 抽象类必须要继承,不然没法用,作为模块设计者,可以把让底层程序员直接用得方法直接调用,而一些需要让程序员覆盖后自己做得方法则定义称抽象方法
42.ASP.NET页面传递值的方式有哪些
1 通过URL链接地址传递 2 通过post方式。
send.aspx 3 通过session 4通过Application
5 通过Server.Transfersend.aspx:
43.如何定义一个窗口为 MDI窗口?
MDI窗口 就是说一个窗体做为容器,里面还可以添加其他窗体
44.WCF是什么?
WCF是微软用以应对SOA解决方案的开发需求而专门推出的 是专门用于服务定制、发布与运行以及消息传递和处理的一组专门类的集合,也就是所谓的“类库
45.常用的包,类,接口,各举5个。
类 String Integer Long File Date 包 java.lang.*;java.io.*;java.util.*;java.swt.*;
java.math.*;接口: Comparable ,Connection,Map,List,Runable,
46.
public static void fun(int [] a,int c)
{
for(int i=0;i {
树型菜单
菜单名称
kongjian
xiaoxin
138.办公自动化系统用到的技术,分哪些层,有哪些包
使用技术:DWR + Struts + Hibernate + Spring+Ajax+JavaScript
系统架构分为: View层、WEB层、Serivce层、DAO层、持久层(po层)
139.mvc的流程,客户端的请求被发送到哪? m层(模型层)
使用了哪些数据库事务? BeginTransaction、Commit 和 Rollback
.对数据库的访问是怎么实现的
将对持久层数据库的基本添加,修改,查找等操作提取到BaseDAO中,采用JavaBean对数据进行封装,以便对持久层的数据能够很好的处理,实现BaseDAO设计对数据库访问的便捷。业务组件通过DAO 的委托接口调用DAO对象,使得上层组件不 直接依赖于DAO的实现类.
140.接口与抽象类的区别
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接 口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有 程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。 然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到 接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
141.数据库优化的方案
建立主键,为数据库创建索引,建立存储过程,触发器,可提高查询速度。
142..冒泡
public static void Bubble(int a[]){