Java面试题总结

1)用过哪些设计模式,手写一个(除单例);

 工厂模式,门面模式(个人有点像service层),代理模式

2)springmvc的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的;

 1 ,用户发送请求至前端控制器DispatcherServlet

 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器

 3,处理器(过滤器)如果有,返回DispatcherServlet处理,没有则返回404页面

 4,DispatcherServlet调用 handlerAdapter 处理器

 5,handlerAdapter 适配处理器(controller) 后端处理器

 6,controller 处理完成返回你modelView

 7,hendlerAdapter 将controller 返回的结果

返回给DispatcherServlet

 8,DispatcherServlet 将modelAndView传给viewReslover

 9,ViewReslover 解析返回具体的view

 10,DispatcherServlet响应用户

3)spring里面的aop的原理是什么;

 IOC(反转控制):对成员变量的赋值控制权从代码中转到配置文件中;

 AOP:Aspect(切面) Oriented(面向) Programming(编程),面向切面编程

4)cookie和session的区别,分布式环境怎么保存用户状态;

 1,cookie保存在客户端,session 保存在服务端。

 2,cookie保存的是字符串,session 保存的是对象。

5)一段栈溢出、堆溢出的代码;

int num = 0

private void softMothod(){ 

num ++; 

this.softMothod(); 

}

private void list (){

List lis = new ArrayList();

   while(true){

      list.add(5*1024*1024) 

  } 

}

6)ThreadLocal可以用来共享数据吗;

不可以共享,线程独占的,每个线程都有一个备份。

7)mysql的语句优化,使用什么工具;

7)mysql的语句优化,使用什么工具;

使用工具:profiling

1,开启profile参数:set profiling = 1;

2,执行Query: select count(*) from t_test

3,查看系统profile记录 :show profiles;

4,查看详情:show profile cpu ,block io for query 6

使用工具:profiling

1,开启profile参数:set profiling = 1;

2,执行Query: select count(*) from t_test

3,查看系统profile记录 :show profiles;

4,查看详情:show profile cpu ,block io for query 6

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Spring MVC的原理

SpringMVC的工作流程:(1)客户端发起HTTP请求:客户端将请求提交到DisPatcherServlet(前端控制器)【所有的请求都有经过它来统一分发,在DispatcherServlet将请求分发给SpringController之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。】。控

Java设计模式之三种工厂模式

工厂模式实现了创建者和调用者的分离,实现了更好的解耦。详细分类:1)简单工厂模式(静态工厂模式);2)工厂方法模式;3)抽象工厂模式面向对象设计的基本原则:1)      OCP(开闭原则,OpenClosedPrinciple):一个软件的实体应当对扩展开放,对修改关闭。2)      

JAVA设计模式之单例设计模式

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。  在JAVA中实现单例,必须了解JAVA内存机制,JAVA中实例对象存在于堆内存中,若要实现单例,必须满足两个条件:  1.限制类实例化对象。即只能产生一个对象。

Spring3 MVC详解

DispatcherServlet 前置控制器 使用SpringMVC,配置DispatcherServlet是第一步。DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,S

SpringMVC第一天HelloWorld

1,普通Servlet的流程是通过配置<servlet</servlet和<servletmapping</servletmapping来拦截请求交给对应的Servlet来处理使用SpringMVC需要配置一个SpringMVC自带的Servlet,DispatcherServlet,使用他来拦截请求交给SpringMVC处理 we

Java面试题总结 - HelloWorld