面试题总结

一、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?javascript

 

对于short s1 = 1; s1 = s1 + 1; 因为s1+1运算时会自动提高表达式的类型,因此结果是int型,再赋值给short类型s1时,编译器将报告须要强制转换类型的错误。java

对于short s1 = 1; s1 += 1;因为 += 是java语言规定的运算符,java编译器会对它进行特殊处理,所以能够正确编译。 web


二、int型在32位下的范围。ajax

-2的32次方到2的32次方。数据库


三、TCP的三次握手api

(1)客户端向服务器端发送一个SYK表示主动打开。浏览器

(2)服务器向一个合法的SYK客户端发送SYK/ACK。缓存

(3)客户端向服务器发送ACK,并表示已链接。性能优化


四、hibernate和ibatis的分页区别服务器

ibatis主要是经过SQL映射的方式来直接查询数据库。而hibernate是经过缓存来实现分页的。


五、hibernate和ibatis的区别

相同点:屏蔽jdbc api的底层访问细节,使用时咱们不用与jdbc api打交道,就能够访问数据库。

hibernate是一个全自动的ORM映射工具,它能够自动生成SQL语句。而ibatis须要咱们本身在XML里写SQL语句。


六、单例模式。

public class Singleton(){

   private Singleton(){}

   private Static Singleton sin=null;

   public Static Singleton getInstance(){

    if(sin==null){

      sin=new Singleton();

}

return sin;

]}

}



七、java性能优化

a、不要在循环中使用Try/Catch语句,应把Try/Catch放在循环最外层。

b、经过StringBuffer的构造函数来设定他的初始化容量,能够明显提高性能。 

c、不要在循环中调用synchronized(同步)方法 

d、使用移位操做来代替'a / b'操做 

e、使用移位操做代替'a * b' 

f、若是只是查找单个字符的话,用charat()代替startswith() 

g、避免不须要的造型操做 


八、hibernate的三种状态

瞬态:new的对象称为瞬态。

持久态:处于该状态的对象在数据库中有一条对应的记录,而且此对象有一个持久化标识。

脱管态:当与某持久对象的session关闭时,由持久态变成脱管态。


九、hibernate的事务管理

hibernate是对jdbc轻量级的封装,自己并不具有事务管理。在事务管理层,hibernate将它委托给底层的jdbc或jta来实现事务的管理和调度。


十、struts2的流程

a、客户端浏览器发出HTPP请求。

b、在web.xml中,请求被filterDispatcher接收。

c、在struts.xml中找到与请求对应的action类和方法。并经过IOC方式,将值注入到action中。

d、action调用业务逻辑组件处理业务逻辑。这一步包含表单验证。

e、action执行完毕,根据struts.xml的配置找到对应的返回结果result,并跳到相应的页面。


十一、ajax原理

经过XmlHttpRequest向服务器端发出异步请求,从服务器端得到数据,而后用javascript来操做DOM对象来更新页面。

相关文章
相关标签/搜索