zoukankan      html  css  js  c++  java
  • java面试总结

    一.spring的核心(ioc和DI,aop)的工作原理和概念。

    1.ioc  控制反转 

    概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系  
    核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean  。

    2.Di  依赖注入

         实际上DI和IOC是同一个概念,因为在ApplicationContext.xml配置文件中bean和bean之间通过ref来维护的时候是相互依赖的,所以又叫做依赖注入。也就是控制反转。

    因为ApplicationContext是非常消耗内存的,所以必须保证一个项目里只有一个ApplicationContext实例。

    3.什么是spring

         Spring是一个容器,可以接管各个层次的Bean(action/domain/pojo/javabean),并且可以配置bean与bean之间的关系
    在java代码里使用bean只需要  用ApplicationContext 的getBean(配置文件里bean的id)方法就可以了。

     4.aop  面向切面编程

    spring AOP参考 :http://www.cnblogs.com/hongwz/p/5764917.html

    二。mvc的原理和springMVC的原理?

    1.MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:[1] 

    • Model(模型)表示应用程序核心(比如数据库记录列表)。
    • View(视图)显示数据(数据库记录)。
    • Controller(控制器)处理输入(写入数据库记录)。

    2.springMVC的工作原理

    上面的是springMVC的工作原理图:

    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并返回给客户端。

     三。什么是CDN

    CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN 的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影响。

    四。mysql 查询出数据表中的重复数据并删除数据表中的重复数据(去重)

    DELETE FROM student WHERE id in( SELECT stu.id FROM( select * from student as t WHERE t.name in (
    select t1.name from student as t1 group by t1.name having count(1) > 1
    )
    and t.id not in(
    SELECT MIN(t2.id) from student as t2 GROUP BY t2.name having count(1)>1
    ))as stu)

     

    五。servlet的生命周期

    Servlet生命周期分为三个阶段:

      1,初始化阶段  调用init()方法

      2,响应客户请求阶段  调用service()方法

      3,终止阶段  调用destroy()方法

  • 相关阅读:
    where和having的区别
    lnmp环境安装
    Elasticsearch 日常维护命令
    Haproxy基础知识
    LVM常规操作记录梳理(扩容/缩容/快照等)
    Centos7下ELK+Redis日志分析平台的集群环境部署记录
    CentOS7.2下安装php加速软件Xcache
    ELK实时日志分析平台环境部署
    Docker容器时间跟主机时间保持同步的操作记录
    ELK基础架构解析
  • 原文地址:https://www.cnblogs.com/sbj-dawn/p/7742608.html
Copyright © 2011-2022 走看看