- 博客(5)
- 收藏
- 关注
原创 使用NIO操作文件,实现File上传
使用NIO操作文件,实现File上传@Overridepublic Result uploadImg(HttpServletRequest request, HttpServletResponse response, MultipartFile originFile)throws Exception {checkImgValid(originFile);try{Path dir = Paths.get(FileUploadConstant.IMG_UPLOAD_PATH);if(!Files.e
2021-01-13 10:41:50
670
原创 生产者消费者问题的java实现
问题分析1.生产者消费资源放入仓库,消费者从仓库获取资源,所以,仓库作为生产者和消费者的公共资源,本质上来说就是考察线程之间对公共资源的操作引起的线程安全和线程通信问题。2.代码实现:库存类public class Depot { private int capacity ; //库存总容量(固定不变) private int currentCa...
2020-04-29 15:58:00
378
原创 基于SpringBoot+SpringSecurity实现简单的权限控制
前言权限控制主要就是保证两方面的功能,1.验证:验证就是认证用户身份,一般采用用户名+密码的方式;2.鉴权:确认用户身份和权限,以便能够访问受保护的资源。话不多说,直接上代码:1.在pom文件中新增SpringSecurity依赖包,代码如下: <dependency> <groupId>org.springframework.boot&l...
2019-08-22 11:15:07
1587
原创 Syncronized同步关键字为什么是线程安全的?
前言java中锁的类型有多种多样,有自旋锁,悲观锁,独享锁,可重入锁,不可重入锁,公平锁和非公平锁等。这些锁的存在都是视图为当前线程争夺cpu资源而存在。其中,几种重要的锁的实现方式有:synchronized,ReentrantLock,ReentrantReadWriteLock等,今天我们来探讨其中一种,为什么synchronized是线程安全的。**List item正题 ...
2019-08-15 11:48:32
359
原创 基于Spring Aop实现的用户操作记录
引言众所周知,spring aop是基于动态代理模式的,而动态代理又根据是否实现接口分为两类:1.基于JDK的动态代理和基于chlib的动态代理,下面就两者的区别做些简单概括(如所示):https://github.com/TomasXiong/design-pattern.git本文基于spring boot实现一个简单的用户日志拦截记录,记录用户的操作模块和操作时间。首先,第一步,建议日...
2019-08-09 17:46:15
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人