摘要: 使用场景: 方法A调用方法B,方法A上加了@Transactional注解,方法B上也加了@Transactional注解,方法B会抛出异常,方法A捕获到异常但是不抛出,就会出现这个报错。 @Transactional public ReturnType A(Object object){ //业务 阅读全文
posted @ 2021-03-17 17:13 西瓜味的可乐酱 阅读(293) 评论(0) 推荐(0)
摘要: 一、注解 1、注释定义 不是程序本身,可以对程序作出解释 可以被其他程序(如编译器)读取 “@注释名”形式在代码中存在 可以附加在包、类、方法、字段等上面,能通过反射机制实现访问 2、内置注解 @Override @Deprecated @SuppressWarnings 3、元注解 负责解释注解的 阅读全文
posted @ 2021-02-24 14:52 西瓜味的可乐酱 阅读(68) 评论(0) 推荐(0)
摘要: 一、什么是伪共享? 为了了解什么是伪共享,我们需要先知道CPU的缓存。由于计算机系统中CPU和主内存的运行速度差别很大,CPU读写速度很快而主内存很慢。所以CPU和主内存之间通常会有一级或多级高速缓存处理器,即我们通常说的cache缓存。cache一般是集成在CPU内部的,一级缓存内存最小,最靠近C 阅读全文
posted @ 2021-01-22 15:27 西瓜味的可乐酱 阅读(346) 评论(0) 推荐(0)
摘要: 多个线程需要对一个共享变量写入时容易出现并发问题。 ThreadLocal可以做到:当多个线程对一个共享变量进行访问的时候,实际上访问的是本线程的本地变量。 一、ThreadLocal实现原理 Thread类中有threadlocals变量,threadlocals变量的类型是ThreadLocal 阅读全文
posted @ 2020-12-30 15:29 西瓜味的可乐酱 阅读(111) 评论(0) 推荐(0)
摘要: 1、选择排序 假设共N个数,升序排列 核心思想:从0~N-1位置上找到该范围内最小的数,放在下标0位置(最小的数与下标0位置的数交换); 从1~N-1位置上找到该范围内最小的数,放在下标1位置(最小的数与下标1位置的数交换); 从2~N-1位置上找到该范围内最小的数,放在下标2位置(最小的数与下标2 阅读全文
posted @ 2020-12-06 00:59 西瓜味的可乐酱 阅读(99) 评论(0) 推荐(0)