1.JVM内存包括那些?
栈(虚拟机栈【VM Stacks】、本地方栈【Native Method Stac】)
方法区(Method Area【Non-Heap】)
堆(Heap)
PC 寄存器(Program Counter Register(寄存器))
2.synchronized关键字、volatile关键字、lock类、transient关键字那些不能用来处理线程安全?
synchronize关键字称之为同步,主要给方法,代码块加锁,被加锁的代码段,同一时间内多线程同时访问同一对象的加锁方法/代码块中的代码,其余线程必须等待当前线程执行完以后才执行该方法/代码块
volatile关键字,单纯的volatile关键字不能保证线程安全,volatile只提供了一种弱的同步机制,用来确保将变量的更新操作通知到其他线程
transient关键字表示该变量不参与序列化过程
lock类,lock接口提供了synchronize关键字类似的接口
3.关于Spring Aop的术语
连接点(join point):对应的具体拦截的对象,因为Spring只支持方法,所以被拦截的对象往往就是指特定的方法,Aop将通过动态代理技术把它植入对应的流程中.
切点(point cut):有时候,我们的切面不单单应用于单个方法,也可能是多个类的不同方法,切点就是提供这样一个功能的概述。
通知(Advice):就是按照约定的流程下的方法,分为前置通知、后置通知、环绕通知、事后返回通知和异常通告,他会根据约定织入流程中。
切面(aspect):是一个可以定义的切点、各类通知和引入的内容 ,SpringAOP将通过它的信息来增强Bean的功能或则对应的方法织入流程。
4.在BeanFactory定义各种方法
getType(String name)方法可以获取Bean的class类型
getBean(String name)方法是从Spring容器中获取Bean对象的方法,如存在,则返回该对象。
containsBean(String name)方法用于判断Spring容器中是存在该对象。
isSingleton(String name)方法用于判断Bean对象是否为单例对象
5.不属于SpringBoot的核心功能的是
{1}自动配置
{2}起步依赖
{3}断点监控
{4}IOC和Aop,是spring的核心功能
6.spring对事务隔离界别提供了支持,并通过枚举类型propagation定义了7种事务隔离级别,
required:若当前存在事务,就沿用当前事务,否则就新建一个事务来运行此方法
required_new:无论当前是否存在事务,都要新建一个事务来运行此方法。
supports:若存在事务,就沿用当前事务,否则就采用无事务的方法运行此方法
nested:若当前事务存在,则采用嵌套事务执行此方法,否则就创建新事物执行此方法。
7.对于Spring中的Bean作用域
《1》bean的作用域有@Scope注解来修改,该注解有五个不同的取值:singleton、prototype、request、session、globe-session。
《2》对定义为request的Bean ,作用域为session的Bean在同一个HTTP Session共享一个Bean,不同的Http Session 使用不同的Bean
《3》每次通过Spring容器获取prototype定义的Bean时,容器都将创建一个新的Bean实例
《4》作用域为globe-session的Bean来讲,在一个全局的Httpsession中,容器会返回Bean的同一个实例。
8.关于SpringMvc获取参数
@DateTimeFormat注解用于获取格式化的日期参数
@NumberBormat注解用于获取格式化的数字参数
@RequestBody注解用于从请求体中获取参数