- 博客(10)
- 收藏
- 关注
原创 三种代理模式
静态代理总结: 1.可以做到在不修改目标对象的功能前提下,对目标功能扩展. 2.缺点: 因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护. 如何解决静态代理中的缺点呢?答案是可以使用动态代理方式 注意Proxy.newProxyInstance()方法接受三个参数: ClassLoader loader:指定当前目标对象使用的类加载器,获取加载器的方法是固定的 Class<?>[] interfaces:指定目标对象实现的接
2021-11-28 16:39:17
112
原创 线程池的使用
线程池的使用 线程池的概念就是首先创建一些线程,它们的集合就是线程池 线程池的创建: 可以通过Exectors.newCachedThreadPool()创建某一类型的线程池 也可以通过 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit.SECONDS,workQueue, threadFactory, rejectedExecutionHandler);最底层的方式创建线程池 extra:Co
2021-11-25 17:27:38
270
原创 Linux中文件权限说明
-rw-r–r-- -文件类型(- 文件 d目录 | 软链接文件) rw- r-- r—(每三位为一组) u所有者 g所属组 o其他人 r读 w写 x执行
2021-08-15 13:51:42
61
原创 @Cacheable在SpringAop中如何实现的?
AnnotationCacheAspect CacheInterceptor CacheAspectSupport
2021-08-15 13:44:36
262
原创 mybatis xml sql分页
<if test="limit != null"> <if test="offset != null"> limit ${offset}, ${limit} </if> <if test="offset == null"> limit ${limit} </if> </if>;
2020-12-29 10:25:22
773
原创 vue 文件上传
import axiosform from “@/http/axiosform” let file = event.target.files[0]; console.log(event) let uploadData = new FormData() uploadData.append(“file”, file) uploadData.append(“userId”, this.sysUserId) console.log(uploadData.get(“file”)) axiosform({ url: “
2020-12-24 15:20:51
127
原创 sql分页
int limit = request.getPageSize(); int pageNum = request.getPageNum(); Integer offset = (pageNum - 1) * limit;
2020-12-22 16:39:19
52
原创 idea使用方法
idea的快捷键 Ctrl+Z:撤销 Ctrl+Shift+Z:重做 Ctrl+X:剪贴 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+Y:删除当前行 Ctrl+D:复制当前行 Ctrl+Shift+J:将选中的行合并成一行 Ctrl+N:查找类文件 Ctrl+Shift+N:查找文件 Ctrl+G:定位到文件某一行 Alt+向左箭头:返回上次光标位置 Alt+向右箭头:返回至后一次光标位置 ...
2019-11-15 16:40:35
133
原创 事物提交(Transactional)的误区
在spring和mybatis集成的注解式开发中,在service层,书写接口的实现类的时候, package com.zking.ssm.service.impl; import com.zking.ssm.mapper.BookMapper; import com.zking.ssm.model.Book; import com.zking.ssm.service.IBookService;...
2019-11-12 13:44:44
943
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人