摘要: synchronized的原理 Java对象头。java对象头中主要包括两部分数据,Mark Word(标记字段,用处存储对象自身的运行时数据,比如哈希码、GC分代年龄、锁状态标志ACC_SYNCHRONIZED、偏向线程ID等)和Klass Pointer(类型指针)。其中Klass Point是 阅读全文
posted @ 2021-04-22 10:53 i%2 阅读(43) 评论(0) 推荐(0)
摘要: sleep和wait的区别。 sleep()方法是Thread类的静态方法,wait()方法是Object超类的成员方法。 sleep不会让锁,让的是CPU,时间到了就立马执行(不需要竞争锁)。wait会,但要被notify唤醒去竞争锁。 sleep可以在任何地方用,wait只能在同步代码方法或块中 阅读全文
posted @ 2021-04-22 10:50 i%2 阅读(65) 评论(0) 推荐(0)
摘要: 线程池就是先维护一定数量的线程池中,需要时从线程池取出线程来执行任务。优点是不需要反复创建和销毁线程,减少开销,便于管理。缺点是需要维护一个线程池,CPU占用大。java通过ThreadPoolExecutor来创建线程池: new ThreadPoolExecutor(int corePoolSi 阅读全文
posted @ 2021-04-22 10:47 i%2 阅读(43) 评论(0) 推荐(0)
摘要: Java多线程实现方式主要有四种: 继承Thread类。由于java单继承特性,缺点就是不能再继承其他类了,可扩展性差。Thread类自己本身就实现了Runable接口,只不过提供了更多的可用方法和成员而已。 实际开发中Thread和Runable差别不大,都可以用。非要说区别就是一个是类,一个是接 阅读全文
posted @ 2021-04-22 10:45 i%2 阅读(31) 评论(0) 推荐(0)
摘要: CAS(compareAndSet) JDK1.6后synchronized优化,效率和CAS操作差不多了,而且可读性更高。 ​ 无锁算法,但看起来是乐观锁的思想,原子操作指令。CAS 操作包含三个操作数:内存中的旧值(V)、预期值(A)和新值(B),旧值是volatile修饰的,一个线程修改,保证 阅读全文
posted @ 2021-04-22 10:43 i%2 阅读(50) 评论(0) 推荐(0)
摘要: volatile的原理 volatile是轻量级的synchronized。保证"可见性",线程每次都会去主内存去读变量,而不是缓存;保证有序性,即不会出现指令重排。但volatile无法保证复合操作的原子性,对任意单个volatile变量的读/写(单纯赋值)具有原子性,但类似于volatile++ 阅读全文
posted @ 2021-04-22 10:41 i%2 阅读(43) 评论(0) 推荐(0)
摘要: Spring IOC初始化流程 首先通过new ApplicationContext()触发IOC容器初始化,ApplicationContext的refresh方法里完成容器初始化。具体过程: 定位。通过Resource定位BeanDefinition,BeanDefinition抽象了对bean 阅读全文
posted @ 2021-04-21 23:34 i%2 阅读(233) 评论(0) 推荐(0)
摘要: Spring Bean的生命周期 只有singleton作用域的单例bean,Spring才会自动接管其生命周期,其他的如prototype就不会。源码 实例化bean 当向容器请求依赖时,对于BeanFactory,调用createBean进行实例化。对于ApplicationContext容器, 阅读全文
posted @ 2021-04-21 23:33 i%2 阅读(45) 评论(0) 推荐(0)
摘要: Spring AOP(面向切面)编程的原理 ? AOP面向切面编程,它是一种思想。它就是针对业务处理过程中的切面进行提取,以达到优化代码的目的,减少重复代码的目的。 就比如,在编写业务逻辑代码的时候,我们习惯性的都要写:日志记录,事物控制,以及权限控制等,每一个子模块都要写这些代码,代码明显存在重复 阅读全文
posted @ 2021-04-21 23:31 i%2 阅读(65) 评论(0) 推荐(0)
摘要: Spring注解 @Controller(表示SpringMVC的Controller)、@RestController(Rest风格控制器,还可以若要返回JSON不需要@ResponseBody了)、@Service(业务服务层)、@Autowired(如果允许null值,required=fal 阅读全文
posted @ 2021-04-21 23:29 i%2 阅读(33) 评论(0) 推荐(0)