一、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对象来更新页面。