- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 Postgres数据库,报错Key (id)=(1849) already exists,数据库中主键已经存在
解决pg数据库,自增插入时,报主键已存在的问题。
2024-04-18 18:08:00 686 1
原创 spring事件与自定义注解
1.1、注解的定义Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的 Annotion对象,然后通过 Annotion对象 来获取注解里面的元数据。Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。
2024-02-02 16:50:43 951 1
原创 SpringBoot全局异常处理
Data在MyExceptionHanle标注@RestControllerAdvice注解,表示该类作用在所有的@RequestMapping方法上。在方法上标注@ExceptionHandler(MyException.class),表示该方法只用来处理MyException.class异常。return BaseResult.error("0x111","自定义异常处理");用于抛出自定义异常。throw new MyException("0x222","自定义异常");
2023-10-07 11:16:43 32 1
原创 CAS原理
线程1和线程2开启时,根据对线程变量的操作,把主内存的值A复制到线程中的工作内存A线程1需要10s,线程2需要2s,假设线程2先修改则线程2中的工作内存的值A和主内存中的值A修改为B等待线程1的过程中,线程2又把自己内存中的值和主内存中的值修改为“A”此时线程1开启,发现线程1中的A与主内存中的“A”相同,按照CAS的方法把值修改为B简单的来说就是由于线程1和线程2存在时间差,线程2执行完之后又执行了一次改回来”原来的“值,线程1认为和自己的值相同,则又进行了操作。
2023-09-08 16:18:10 30 1
原创 @EnableAsync与@Async
在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要来创建Executors,在使用spring中,已经给我们做了很好的支持。只要要@EnableAsync就可以使用多线程。使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。
2023-08-07 09:32:20 20 1
原创 java线程池
通过提供不同的 ThreadFactory,可以改变线程的名称、线程组、优先级、守护进程状态,等等。为了统一在创建线程时设置一些参数,如是否守护线程,线程一些特性等,如优先级。它是一个接口类,而且方法只有一个,就是创建一个线程。使用有界队列时队列大小需和线程池大小互相配合,线程池较小有界队列较大时可减少内存消耗,降低cpu使用率和上下文切换,但是可能会限制系统吞吐量。当线程数目超过核心线程数时用于保存任务的队列。多余的空闲线程的存活时间,当前池中线程数量超过corePoolSize时,
2023-08-05 13:38:10 30 2
SSM_Project1_BookStore.zip
2021-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人