javaAPI
文章平均质量分 60
油头怪
这个作者很懒,什么都没留下…
展开
-
Lock与Synchronized区别
先说结论,后面详解synchronized是关键字,Lock是接口;synchronized是隐式的加锁,lock是显式的加锁;synchronized可以作用于方法上,lock只能作用于方法块;synchronized底层采用的是objectMonitor,lock采用的AQS;synchronized是阻塞式加锁,lock是非阻塞式加锁支持可中断式加锁,支持超时时间的加锁;synchronized在进行加锁解锁时,只有一个同步队列和一个等待队列, lock有一个同步队原创 2022-03-16 15:54:46 · 6218 阅读 · 1 评论 -
使用枚举加Function(Java8)优化if else语句
public enum DeSensionEnum { /*字段命名需要考虑是否和属性一致*/ /** 中文名 */ CHINESE_NAME("CHINESE_NAME",(str)->{ return str.toString().substring(0,1) + "**"; }), /** 用户ID */ USER_ID("USER_ID",(str)->{ return str.toString().subs原创 2020-05-25 20:12:29 · 3971 阅读 · 3 评论 -
mybatis plus ActiveRecord 用法
名词解释百度百科:Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。创建表(postgresql)create table t_user( id serial not null constraint t_user_pk primary key...原创 2020-04-24 11:24:18 · 2738 阅读 · 0 评论 -
Restful API简介
Restful API定义REST:表述(编者注:通常译为表征)性状态转移。指的是一组架构约束条件和原则。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作...原创 2020-04-24 10:06:56 · 745 阅读 · 0 评论 -
AOP相关二
通知的分类切入点以及表达式的使用自定义注解通知的分类// @Before 前置通知// @Around 环绕通知// @AfterReturning 后置通知// @AfterThrowing 异常通知// @After 最终通知// 无异常时执行顺序前置通知环绕通知的调用目标方法之前的代码目标方法环绕通知的调用目标方法之后的代码后置通知最终通知// 有异常时执...原创 2020-04-24 09:59:41 · 130 阅读 · 0 评论 -
Spring常用注解对比
@RestController与@Controller@RestController = @Controller + @ResponseBody@Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用@ResponseBody 它的作用简短截说就是指该类中...原创 2020-04-24 09:51:04 · 191 阅读 · 0 评论 -
springboot 整合 mybatis plus postgresql
springboot 整合 mybatis plus postgresql依赖<!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</ar...原创 2020-04-23 16:07:55 · 5860 阅读 · 3 评论 -
AOP 切入点表达式 自定义注解 通知
通知的分类切入点以及表达式的使用自定义注解通知的分类// @Before 前置通知// @Around 环绕通知// @AfterReturning 后置通知// @AfterThrowing 异常通知// @After 最终通知// 无异常时执行顺序前置通知环绕通知的调用目标方法之前的代码目标方法环绕通知的调用目标方法之后的代码后置通知最终通知// ...原创 2020-04-13 11:17:40 · 830 阅读 · 0 评论 -
AOP相关一
package com.example.demo.retry;import com.example.demo.aop.RetryAnno;import com.example.demo.aop.RetryUtil1;import com.example.demo.aop.Task;import org.aspectj.lang.JoinPoint;import org.aspectj...原创 2020-04-03 09:27:27 · 104 阅读 · 0 评论 -
Pagehelper使用教程
为什么使用pagehelper? 在使用mybatis进行分页时,要么需要编写sql进行分页,要么需要对结果集进行分页操作,当功能复杂之后,不方便拓展以及复用。pagehelper使用时,不需要去关心怎么实现的分页操作,你只管给它参数就好,同时也方便前端获取数据。依赖<!-- pagehelper --> <dependency> ...原创 2019-12-28 17:35:26 · 3773 阅读 · 1 评论 -
springboot整合postgresql
依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> ...原创 2019-12-28 14:51:10 · 8488 阅读 · 2 评论 -
下划线转化为驼峰命名工具类
把数据库字段名转换为驼峰命名,如:create_time 转换为: createTime。方便在写mapper文件时使用,特别是进行insert操作时import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.util.Arrays;/** *...原创 2019-12-23 17:14:02 · 1154 阅读 · 0 评论 -
LocalDateTime工具类
常用对象 ZoneId: 时区ID,用来确定Instant和LocalDateTime互相转换的规则 Instant: 用来表示时间线上的一个点(瞬时) LocalDate: 表示没有时区的日期, LocalDate是不可变并且线程安全的 LocalTime: 表示没有时区的时间, LocalTime是不可变并且线程安全的 LocalDateTime: 表示没有时区的日期时间, L...原创 2019-12-20 10:05:52 · 251 阅读 · 0 评论 -
LocalDateTime计算当前时间到第二天凌晨的毫秒
import java.time.LocalDate;import java.time.LocalDateTime;import java.time.ZoneId;public class LocalDateTest { public static void main(String[] args) { LocalDateTime localDateTime = L...原创 2019-12-19 14:27:38 · 4815 阅读 · 0 评论 -
FastJson常用方法总结
依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version></dependency>常用API1...原创 2019-12-16 11:56:06 · 741 阅读 · 0 评论 -
一文讲明白布隆过滤器
布隆过滤器百度百科:布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。没有看明白的话,其实可以这么来说。邮箱大家都用过的吧,163/139/qq等等,都有一个共同的功能,过滤垃圾邮件。...原创 2020-01-02 20:34:58 · 577 阅读 · 1 评论 -
List分组相关操作JAVA实现
package com.example.demo.commontest;import org.apache.commons.collections4.CollectionUtils;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @describtion li...原创 2019-12-10 11:53:36 · 403 阅读 · 0 评论 -
java正则表达式用法
String str = " public static final String FAILED_KEY = \"faild\"; // 获取key, 错误"; String regx = "\\s*public static final String (\\S+) = \"(\\S+)\";\\s*//\\s*(\\S+(\\s*\\S+)*)...原创 2019-12-09 18:48:01 · 148 阅读 · 0 评论 -
EasyExcel导入导出excel工具类
easyexcel依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</v...原创 2019-12-07 16:51:54 · 1750 阅读 · 0 评论 -
解决线程中的异常无法捕获问题,进行方法重试
方法重试工具类package com.example.demo.aop;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.lang.NonNull;import sun.security.krb5.internal.crypto.HmacMd5ArcFourCksumT...原创 2019-11-26 11:45:43 · 1237 阅读 · 0 评论 -
Java生成zip文件工具类
依赖<!-- 文件压缩zip操作依赖--> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> ...原创 2019-11-18 13:07:54 · 482 阅读 · 0 评论 -
java对CSV文件操作
依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.6</version>...原创 2019-11-18 13:05:02 · 446 阅读 · 0 评论 -
java反射基本操作
反射相关方法 访问类的字段 访问类的方法 访问类的构造器 // 获取到类对象的方式(三种)User user = new User("lisi","123abc");Class clazz = user.getClass();// 第一种Class<?> userClazz = Class.forName("com.example.demo.my...原创 2019-11-18 09:29:21 · 810 阅读 · 0 评论 -
Java正则表达式Pattern和Matcher类详解
转载自:http://blog.csdn.net/yin380697242/article/details/52049999概述Pattern类的作用在于编译正则表达式后创建一个匹配模式.Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配Pattern类常用方法及介绍Pattern complie(String regex) 由于Pattern的构造函数是私有的,不可以直接创...转载 2018-03-15 14:54:39 · 699 阅读 · 0 评论