java面试题

87 阅读1分钟

@transactional失效

  1. 方法不是public修饰 : 事务是基于aop切面,切面是动态代理实现的,如果是非public的方法,不生成代理对象
  2. 当前类没有被spring管理
  3. 多线程调用
  4. 异常被try/catch捕获

mbp 的多表join

maven mbp-join

自动配置

@configuration @bean

依赖注入 Di

3种方法:

  1. 初始化
  2. set方法
  3. 接口

控制翻转 Ioc

控制: 对象创建的权利

翻转: 控制权交给外部环境(spring框架, ioc容器)

切面 aop

切: 横切

面: 横切代码逻辑涉及多个方法,每个方法都是一个点,多个点构成一个面

spring 代理

spring循环依赖 - 三级缓存

@autowired/@Resource区别

spring/javaee bytype/byname

常用注解

controller

@RestController

@controller

@getmapping

@postmapping

@pathvarible

@requestmapper

@requestbody

@requestParam

@responseStatus

@controllerAdvice

@exceptionHandler

service

@service

mapper

@mapper

model

@data

ThreadPoolExecutor构造

核心线程数

最大线程数

线程过期时间

时间单位

等待线程

处理机制

公平锁和非公平锁

redis分布式锁

redission

setnx setex: 没有watchdog, 不可重入

aqs原理

spring cloud Alibaba的组件有哪些和作用

spring 用到了那些设计模式

代理

单例

工厂

事务的传播

spring默认的事务传播是如果有事务就加入,如果没有就新建

threadlocal机制

共享线程内存,每个线程都有自己的一块内存