1.数据库中having和while有什么区别....
having后面可以用聚合函数 (count,max,min等等);
while则不能,
2.面向对象的特征
抽象 多态 继承 封装
3.String 与StringBuffer的区别
String类提供了数值不可改变的字符串
StringBuffer类提供了可修改的字符串
4.运行异常:虚拟机操作中出现的错误
5.servlet与CGI区别
CGI对每个请求都产生新的进程,效率低于servlet
6.ArrayList和Vector都是数组方式存储数据,Vector使用了synchronized所以线程安全,性能低于ArrayList
LinkedList使用的则是双向链表实现存储,速度快
7.Colection:集合类的上级接口,继承他的接口主要有Set和List
Colections:集合类的一个帮助类
8.HashMap:Map接口的实现,非线程安全,允许空键值
HashTable:线程安全,不允许空键值
9.final:声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可被继承
finally:异常处理的一部分,表示总是执行
finalize:object的一个方法,在垃圾收集器执行时被调用
10.sleep:线程(Thread)的方法,使正在运行的线程处于睡眠状态,是一个静态方法
wait:Object类的方法,使线程处于等待状态,并且释放所持有的对象的LOCK
11.Overriding:是父类与子类之间的多态性的表现
Overloading:是一个类中多态性的表现
OverLoaded:方法是可以改变返回值类型
12.同步和异步的区别:
同步的意思是事情要一个一个做,异步就是一个事情可以同时做
13.abstract(抽象):声明方法而不去实现它的类被佳作抽象类
interface(接口):是抽象类的变体,它里面的方法全是抽象的
14.栈:是一种线性结合,其添加和删除元素的操作在同一段完成,按照先进后出的方式进行
堆:是栈的一个组成元素
15.assetion(断言):在软件开发中是一种常用的调用方式
16.GC(垃圾收集机制):GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的
17.启动一个线程是run()还是start()?
用start方法,run方法可以产生必须退出的标志类停止一个线程
18.接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体,但实体内必须有明确的构造函数
19.数据连接池的工作机制
j2ee服务器启动时会建立一定数量的连接池,并一直维持不少于此数目的池连接。
20.abstract的method不能同时是static,也不能是native,也不能是synchronized
21.Set里的元素是不能重复的,那么用什么方法区分重复与否?
用iterator方法类区分
22.构造器Constructor不能被继承,所以不能被重写(Overriding),但可以被重载(Overloading)
23.String类是final类顾不可以被继承
24.switch里参数只能是int,short,char或者byte,Long,String都不行
25.两个对象值相同(x.equals(y)==true),有相同的hashcode。
26.Java编程语言只有值传递参数,没有引用传递。
27.一个对象的synchronized方法只能由一个线程访问
28.Singleton模式主要作用是保证Java程序中,一个类Class只有一个实例存在
29.Java异常中所有的异常都是java.lang.Thowable的子类
30.垃圾回收机制的优点:由于垃圾回收机制,Java中对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存
31.JVM加载class文件的原理机制:
JVM中类的装载是由ClassLoader和他的子类来实现的。
32.因为Java中以Unicode编码,所以一个char占16个字节。
33.jsp内置对象:
request response out pageContext session application config page exception
34.线程:是指程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程
线程的4种状态:运行 就绪 挂机 结束
35.页面间值传递的方法:request session application cookie
36.jsp4中回话跟踪:page request session application
37.J2EE是一个标准,一个企业级应用的开发标准平台,同时也是一个框架,包括JDBC.JNDI EJB等等
38.servlet执行那几个方法:init --> servletConfig --> servletInfo --> service --> destroy
39.排序的几种方法:插入排序(直接排序,希尔排序) 交换排序(冒泡排序,快速排序) 选择排序..
40.Hibernate的核心接口有哪些
Session、SessionFactory、Transaction、Query和Configuration。
41.Hibernate的缓存有哪些
Session是一级缓存,SessionFactry是二级缓存
42.Session 是客户端与服务器之间的会话,用来保存用户的信息
43.Session是服务器端缓存,Cookie是客户端缓存
44.常用的数据库优化方法有哪些
1、建立索引
2、导出历史数据
3、定期整理索引(sp_msforeachtable 'dbcc dbreindex("?")' )
4、少用like,查询前检查条件是不是完整,如果完整就用 = 替代like查询,不要不检查条件完整不完整全部用 like来
45 struts2框架优点:
1.结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校 验、国际化、日志等等
2.对其他技术和框架显示出很好的融合性
46.Struts2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件
47.Hibernate的工作原理?
1、读取并解析hibernate.cfg.xml配置文件
2、读取并解析映射信息,创建SessionFactory
3、打开Sesssion
4、创建事务Transaction
5、持久化操作
6、提交事务
7、关闭Session
8、关闭SesstionFactory
48.Hibernate如何实现延迟加载
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实 现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能
49.Spring的工作原理
IoC(Inversion of control): 控制反转
概念:控制权由对象本身转向容器,由容器根据配置文件去创建实例并创建各个实例之间的依赖关系
核心:bean工厂,在Spring中,bean工厂创建的各个实例称作bean
AOP(Aspect-Oriented Programming): 面向切面编程
50.Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器、视图解析器、视图组成
51.JDBC和Hibernate的比较?
JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很多复杂的多 表联查和复杂的数据库操作时,JDBC有优势
52.Spring底层动态代理失效,怎么实现切面?
Spring默认使用JDK动态代理(Proxy),但JDK动态代理是针对接口做代理的。如果类不是实现的接口的时候,就会使 用cglib代理。当然,你也可以在配置文件里指定使用cglib
52.动态代理:提供对另一个对象的访问,同时隐藏实际对象的具体事实
53.Struts2中的Action为什么是多例的?
Struts2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象
54.MySQL和Oracle的分页查询语句?
MySQL:
第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数
SELECT * FROM table LIMIT 5,10; #返回第6-15行数据
SELECT * FROM table LIMIT 5; #返回前5行
SELECT * FROM table LIMIT 0,5; #返回前5行
Oracle:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
55.部署在不同Tomcat的两个项目间如何通信?
1、使用WebService技术实现
2、使用Socket技术实现
3、使用Http请求技术实现
56.OGNL有什么优点?
1、可以访问ValueStack和AcionContext
2、可以操作集合对象,很方便的构建各种集合
3、可以在 struts.xml访问action定义的属性
4、可以调用对象的方法
5、JSTL/EL只能在JSP中使用,而OGNL可以在更多的View使用
57.PrepareStatement和Statement的区别?
1、Statement用于执行静态SQL语句
2、PrepareStatement是预编译的SQL语句对象,PrepareStatement可以减少编译次数提高数据库性能
58.项目开发中,功能模块完成后如何和组员集成(整合)测试?
先进行单元测试,单元测试无误后再进行集成测试
59.线程的生命周期
新建 --》?就绪 --》?(阻塞) --》?运行 --》?死亡
60.Oracle里varchar2的最大长度?
字段类型:Oracle SQL varchar2的最大支持长度为4000个字节(bytes)
变量类型:Oracle PLSQL varchar2最大支持长度为32767个字节(缓冲区)
61.Hibernate框架下如何实现分页?
Hibernate有自带分页功能
Query.setFirstResult() //从哪一条条记录开始
Query.setMaxResults() //希望获得的记录数
62.建模使用什么工具:Rational Rose、Power Designer、StarUML、Enterprise Architect
63.什么叫面向接口编程?
在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而 是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类
64.事务的概念?
事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。
65.JSON与XML的区别?
格式不同,XML是标签式的:aaa bbb,JSON是键值对形式的:book:{ name:aaa, writter:bbb },JSON更加轻量级, XML开始使用比较早,而且很严谨,两者都有广泛应用,不过现在比较推荐JSON。
66.JDBC的使用过程?
1、加载驱动 2、获取连接 3、SQL语句 4、执行SQL 5、释放资源
67.分布式:分布式强调同一个业务被分拆成不同的子业务,被部署在不同的服务器上,服务器可以跨域也可以同域
集群: 偏重平行处理,一台服务器不能提供足够的能力,而采用多台服务器并行处理一个问题。
68.JSP标准标签库中常用的标签有哪些?
<c:out>、<c:if>、<c:choose>、<c:forEach>、<c:url>、<c:redirect>、<c:param>
69.JSON(javaScript object notation)数据:是一种简单的数据格式,比xml更轻巧。json是JavaScript原生格式,说明在 JavaScript中处理json数据不需要任何的API和工具包
================个人经历,仅供参考============