java简答题

1.Java中存在使 i + 1 < i 吗,什么情况下会存在?
2.Java创建对象的几种方式?
3.网站如果有大量的人登陆访问,会产生很多的session,如果你是程序员你该怎么办?
4.jsp内置对象的作用?
5.SpringMVC的工作流程?
1.存在
	public static void main(String[] args) {
		int i = Integer.MAX_VALUE;
		System.out.println(i+1
1.通过构造器new对象;
2.使用Class类的newInstance方法
	Client c = Client.class.newInstance();
3.使用Constructor类的newInstance方法
	Constructor constructor = Client.class.getConstructor();
	Client client = constructor.newInstance();
4.使用clone方法
	Client d = (Client) c.clone();
5.使用反序列化
1 可以做负载均衡,分散到不同的机器上 
2 可以持久化到磁盘(cookie存放数据)或者数据库,减少内存占用。 
3 如果允许,适当缩短过期时间,这个是临时的方案。

4.九大内置对象

Page,pageContext,request,response,session,application,out,config,exception

Page指的是JSP被翻译成Servlet的对象的引用.

pageContext对象可以用来获得其他8个内置对象,还可以作为JSP的域范围对象使用.pageContext中存的值是当前的页面的作用范围

request代表的是请求对象,可以用于获得客户机的信息,也可以作为域对象来使用,使用request保存的数据在一次请求范围内有效。

Session代表的是一次会话,可以用于保存用户的私有的信息,也可以作为域对象使用,使用session保存的数据在一次会话范围有效

Application:代表整个应用范围,使用这个对象保存的数据在整个web应用中都有效。

Response是响应对象,代表的是从服务器向浏览器响应数据.

Out:JSPWriter是用于向页面输出内容的对象

Config:指的是ServletConfig用于JSP翻译成Servlet后 获得Servlet的配置的对象.

Exception:在页面中设置isErrorPage=”true”,即可使用,是Throwable的引用.用来获得页面的错误信息。

java简答题_第1张图片
1.用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。
2.前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map这样的方式来存储。
3.HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。
4.DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
5.执行处理器
6.处理器会返回一个ModelAndView对象给HandlerAdapter
7.通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)
8.前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象
9.返回视图对象到前端控制器。
10.视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。
11.通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。

你可能感兴趣的:(简答)