-
short a = 128; byte b = (byte) a;
经过强制类型转换后,变量a、b的值分别为多少?
-128
-
请问如下程序输出的结果是什么?
publicclass Shape {
privateinti = 10;
public Shape() {
i = 20;
print();
}
public Shape(int m) {
i = m;
print();
}
publicvoid print() {
System.out.println(“This shape=>” + i);
}
}
publicclassCircleextends Shape {
privateinti = 20;
publicvoid print() {
System.out.println(“this circle=>” + i);
}
public Circle() {
this.i = 30;
print();
super.print();
}
publicstaticvoid main(String[] args) {
Shape shap = newCircle();
}
}
this circle=>0
this circle=>30
This shape=>20
-
java有多少种设计模式?画出最熟悉的三个设计模式的类图。
23种.
Ø
工厂方法模式(Factory Method Pattern)
Ø
抽象工厂模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
Ø
原型模式(Prototype Pattern)
-
对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理。
事务管理、切面管理。
ioc:控制反转,也叫依赖注入,把创建对象的权利交给spring容器,可以方便资源管理,管理对象方便。
aop:切面编程,对一个方法的调用的前后附加一些行为。可以统一管理项目,减少的重复的代码,可以配置,代码清楚,容易维护。
-
Spring MVC工作原理
1)、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
2)、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
3-4)、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。
5)、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。
6)、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
7)、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。
-
Spring中的BeanFactory与ApplicationContext的作用有哪些?
依赖注入
-
谈谈Hibernate与Ibatis的区别,哪个性能会更高一些
hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了。
ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了。
相对hibernate”o/r”而言,ibatis是一种“sql mapping”的orm实现。
hibernate对数据库结构提供了较为完整的封装,hibernate的o/r mapping实现了pojo 和数据库表之间的映射,以及sql 的自动生成和执行。程序员往往只需定义好了pojo 到数据库表的映射关系,即可通过hibernate 提供的方法完成持久层操作。程序员甚至不需要对sql 的熟练掌握, hibernate/ojb 会根据制定的存储逻辑,自动生成对应的sql 并调用jdbc 接口加以执行。
优秀的orm框架,ibatis的性能更高些。
-
学生表(student)
s_id int,s_name varchar2
课程表(class)
c_id int,c_name varchar2
选课表(xuanke)
id int,s_id int,c_id int
查询出选了2门课以上的学生的信息
select X.ID.S.NAME FROM xuanke x ,STUDENT S WHERE S.ID=X.S_ID
AND
GROUP BY X.ID ,S.NAME HAVING COUNT(X.ID)>2;
-
如何只显示重复数据,或不显示重复数据。
SELECT A ,B FROM A_B GROUP BY A.B HAVING COUNT(A,B)>2;
SELECT DISTINCT A ,B FROM A_B ;
-
写分页有哪些方法,你一般用什么方法?用SQL语句写一个分页?
SELECT T.* FROM (SELECT ROWNUM RN,A.* FROM TA A WHERE ROWNUM <END) TWHERE T.RN>BEGIN