自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 Postgres数据库,报错Key (id)=(1849) already exists,数据库中主键已经存在

解决pg数据库,自增插入时,报主键已存在的问题。

2024-04-18 18:08:00 686 1

原创 Caffeine缓存

caffeine四种载入(添加方式)

2024-04-11 17:17:46 395 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

通过ssm框架,简化java web的开发。由spring控制对象创建及调用,mybatis操作数库, springMVC进行业务逻辑实现。对书籍,用户及用户的订单与购物车实现有效管理

2021-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除