• 9月18号面试总结(guihuaju)


    1.interceptor加载bean
    interceptor没有被Spring容器管理,只有都在容器中的对象,才能使用注解获取。
    实现ApplicationContextAware接口:这个类可以方便获得ApplicationContext中的所有Bean。这个类可以直接获取Spring配置文件中,所有有引用到的bean对象。
    一定要让继承ApplicationContextAware接口的bean被Spring上下文管理,在springmvc配置文件中定义对应的bean标签,或者使用@Component标注。

    2.23种设计模式
    简单工厂模式、单例模式、代理模式、责任链设计模式、观察者设计模式

    3.jvm原理
    方法区:类信息、常量、静态变量,运行时常量池
    堆区:对象
    栈区:基础数据类型+对象引用

    4.gc回收机制
    1. 垃圾回收机制回收JVM堆内存里的对象空间,不负责回收栈内存数据。
    2.垃圾回收机制回收任何对象之前,总会先调用它的finalize方法
    3.可以通过System.gc()通知系统进行垃圾回收
    4.java自动回收机制中的gc线程执行的优先级最低,当cpu空闲时,才会轮到gc线程执行;当jvm堆内存不足时,gc会自动执行,清理过期对象和垃圾,释放内存空间。当一次清理之后,内存仍然不足时,gc会重复执行。

    5.mysql填优关键字
    MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。
    sql语句优化:
    主要原则就是应尽量避免全表扫描,应该考虑在where及order by 涉及的列上建立索引。
    使用alter table语句来为表中的字段添加索引的基本语法是:
    ALTER TABLE <表名> ADD INDEX (<字段>);

    6.String new String 区别
    String 常量 是在 方法区 new String() 栈区放引用,堆区放对象

    7.Spring包扫描
    <context:component-scan base-package>
    注解自动扫描

    8.hashcode的作用
    1、hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的;
    2.如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同;
    3.两个对象的hashCode相同,并不一定表示两个对象就相同,也就是不一定适用于equals(java.lang.Object) 方法,只能够说明这两个对象在散列存储结构中,如Hashtable,他们“存放在同一个篮子里”。

    10.@bean @component 的区别
    @Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。

    @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。

    11.线程安全
    final Object o=new Object();
    synchronized(o){
    o.wait();

    o.notify();

    }

  • 相关阅读:
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    vue路由跳转错误:Error: Redirected when going from "/login" to "/home" via a navigation guard.
    ubuntu20安装.net core SDK
    SpringBoot启动报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded
    ubuntu18.04安装rap2
    用例图基本用法
  • 原文地址:https://www.cnblogs.com/WhiperHong/p/11546368.html
Copyright © 2020-2023  润新知