
Java
文章平均质量分 80
ha_lydms
不要在同一个坑里摔倒两次。
展开
-
自定义HikariCP连接池
官方解释:快速、简单、可靠。HikariCP 是一个“零开销”的生产就绪 JDBC 连接池。大约 130Kb,库非常轻。需要使用Jdbc自己实现查询,并且查询过程中,使用数据库连接池进行数据源管理。获取数据源从数据源获取链接/*** 获取数据库连接* @param driverClassName 驱动类(com.mysql.cj.jdbc.Driver)* @param username 用户名* @param password 密码* @return。原创 2023-05-24 22:37:24 · 12368 阅读 · 2 评论 -
入参校验1
Spring Validation 默认会校验完所有字段,然后才抛出异常。但通常情况下我们希望遇到校验异常就立即返回,此时可以通过一些简单的配置,开启 Fali Fast 模式,一旦校验失败就立即返回。ValidatorFactory validatorFactory = Validation . byProvider(HibernateValidator . class) . configure() // 快速失败模式 . failFast(true) . buildValidatorFactory()原创 2023-05-18 22:56:15 · 624 阅读 · 6 评论 -
深拷贝、浅拷贝
深拷贝、浅拷贝原创 2023-05-12 22:01:58 · 7246 阅读 · 4 评论 -
Lombok常用注解
Lombok常用注解原创 2023-04-28 00:31:02 · 1380 阅读 · 2 评论 -
Druid解析SQL获取注释、表明
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。文档地址。原创 2023-04-25 22:07:18 · 2030 阅读 · 8 评论 -
Lambda表达式所有API整理
常用Lambda表达式API整理原创 2023-04-12 07:00:00 · 13544 阅读 · 11 评论 -
Java多文件压缩
将文件的流,写入zipOut中。将要压缩的文件名输入。原创 2023-04-02 17:36:50 · 14893 阅读 · 11 评论 -
Spring AOP使用
Spring boot使用AspectJ进行日志切面,以及相关原理描述。原创 2021-07-17 19:20:52 · 501 阅读 · 6 评论 -
java解析CSV文件三种方法(openCSV)
java解析CSV文件原创 2021-07-10 21:55:00 · 7629 阅读 · 4 评论 -
快速了解常用日志技术(JCL、Slf4j、JUL、Log4j、Logback、Log4j2)
常见的日志门面 :JCL、slf4j常见的日志实现:JUL、log4j、logback、log4j2原创 2021-01-05 10:39:07 · 13749 阅读 · 2 评论 -
IDEA 自定义注解(类注释、方法注释)
文章目录一、生成类注释1、打开设置位置2、将自定义的类注解规则,复制到Class中。3、使用:新建类的时候会自动加上注解二、自定义方法注解1、打开设置2、添加自定义注解模板组3、添加自定义注解模板4、设置模板的作用范围5、自定义㢟规则6、使用自定义注解三、注意事项1、在类上注解,没有显示入参和返回值2、自定义注解参数及使用方式一、生成类注释1、打开设置位置打开File —> Settings —> Editor —> File and Code Templates —> Fi原创 2020-12-07 13:41:39 · 33704 阅读 · 13 评论 -
log4j2配置文件log4j2.xml
一、背景最近由于项目的需要,我们把log4j1.x的版本全部迁移成log4j2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方案)以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。二、配置全解1、关于配置文件的名称以及在项目中的存放位置log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",转载 2020-09-29 17:43:53 · 1193 阅读 · 4 评论 -
简单、快速教你自定义注解
自定义注解原创 2020-09-25 18:25:55 · 2150 阅读 · 1 评论 -
静态代理和动态代理区别(是否有实现类)
文章目录一、简介1、代理分类:2、代码区别:二、静态代理1、接口定义要做的事情2、具体用户实现类3、代理类(业务增强类)4、测试类三、动态代理1、JDK动态代理类1.1、有接口有委托类的情况1.2、仅有接口的情况2、CGLIB动态代理三、总结一、简介Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。Java中使用代理技术主要用于扩展原功能又不侵入(修改)源代码。主要应用: 比原创 2020-06-07 15:21:44 · 1303 阅读 · 1 评论 -
Java反射(Class类)常用方法(附Xmind整理)
文章目录一、获取Class对象的方式1、Class.forName("全类名")2、类名.class3、对象.getClass()二、常用方法:1、获取构造方法、成员方法、成员变量(公开的public)2、获取构造方法、成员方法、成员变量(所有的public+private)3、获取名称4、获取父接口5、获取实现的接口6、实例化为新对象7、返回此元素上存在的所有注释8、返回此类的包(package com.lydms.classes)9、查找带有给定名称的资源(打印绝对路径)10、判断类型三、案例1、获取对原创 2020-05-31 17:53:31 · 1434 阅读 · 2 评论 -
IDEA查看jdk源码(附开源项目)
文章目录一、获取源码二、将源码导入到IDEA中1、点击File -> Project Structure2、在左侧栏选择SDKs,选择1.8,在选择“+”添加路径3、选择你JDK安装路径下的src.zip文件4、新添加的文件,在这里可以看到5、External Libraries下的<1.7>下可以找到相应的src.zip文件,三、开源项目(JDK 12)一、获取源码JDK的源码,所在的位置就是在你JDK的安装路径下的src.zip文件。二、将源码导入到IDEA中1、点击Fi原创 2020-05-22 09:17:37 · 9344 阅读 · 0 评论 -
轻松理解Lambda表达式(推导过程)
文章目录一、简介二、具体使用(推导过程)1、外部类调用2、内部类调用3、Lambda表达式4、开启新的线程(最常使用)三、完整代码一、简介Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。Lambda表达式的重要特征:...原创 2020-03-10 15:22:39 · 1079 阅读 · 4 评论 -
Java设计模式之:静态代理
文章目录一、简介二、代码1、启动类2、定义接口3、真实角色4、代理角色三、完整代码一、简介代理:代理对象主要用来拦截被代理对象的访问代理对象可以理解为明星的经纪人,被代理对象可以理解为某个明星代理对象要持有真实业务对象,即在代理类中创建被代理类的对象代理对象和被代理对象,具备相同的行为方法. 实现同一个接口代理对象拦截被代理对象的访问,可以修改访问的参数 返回值 甚至拦截访问二...原创 2020-03-10 11:32:40 · 10362 阅读 · 2 评论 -
springboot 接收post、get、重定向,并从url中获取参数
文章目录一、请求方式1、Post请求2、Get请求3、重定向(GET请求)4、从Url中获取参数(GET请求)二、完整代码一、请求方式1、Post请求 @RequestMapping(value = "/post", method = {RequestMethod.POST}) public void testPost(@RequestBody String param) {...原创 2020-03-06 18:14:06 · 4242 阅读 · 4 评论 -
TreeMap的使用
1、简介TreeMap是红黑二叉树的典型实现。我们打开TreeMap的源码,发现里面有一行核心代码:root用来存储整个树的根节点。我们继续跟踪Entry(是TreeMap的内部类)的代码:可以看到里面存储了本身数据、左节点、右节点、父节点、以及节点颜色。二、使用1、简单使用TreeMap会对存入的key进行排序;TreeMap<Integer, String> tre...原创 2020-02-11 17:03:58 · 4130 阅读 · 2 评论 -
枚举的简单使用以及案例
文章目录1、简介2、使用规范3、代码使用案例1、简介JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下:enum 枚举名 { 枚举体(常量列表)}枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型;创建枚举类型enum Season { SPRING, SUMMER, AUTUMN, WINDER }所有的枚举类型隐性地继承...原创 2020-02-07 11:02:24 · 637 阅读 · 2 评论 -
Math和Random类常用方法
文章目录@[toc]一、Math类1、常用方法2、查用的方法代码二、Random类一、Math类1、常用方法1、abs 绝对值2、acos,asin,atan,cos,sin,tan 三角函数3、 sqrt 平方根4、pow(double a, double b) a的b次幂5、max(double a, double b) 取大值6、min(double a, double b)...原创 2020-02-06 19:57:36 · 667 阅读 · 0 评论 -
单例模式和多例模式(懒汉式和饿汉式)
一、什么是单例、多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action;二、单例模式和多例模式说明:单例模式和多例模式属于对象模式。单例模式的对象在整个系统中只有一份,多例模式可以有多个实例。它们都不对外提供构造方法,即构造方法都为私有。三、单例模式适用场景:需要生成唯...原创 2020-01-22 17:32:15 · 1649 阅读 · 2 评论 -
Assert断言的使用
一、简介org.springframework.util.Assert 断言工具类主要用于方法入参检测,检测数据是否符合预期;1、判断值是否相同(assertEquals)(1)如果expected和actual两者一致,则往下执行.(2)如果两者不一致, 抛出异常java.lang.AssertionError,异常详解为message;Assert.assertEquals("mes......原创 2020-01-19 15:55:15 · 6758 阅读 · 6 评论 -
Float.compare()和Double.compare()的使用
文章目录1、简介2、案例1、简介public static int compare(float f1, float f2) ;底层的源码为:public static int compare(float f1, float f2) { if (f1 < f2) return -1; if (f1 > f2) return 1; ...原创 2020-01-19 14:24:16 · 10362 阅读 · 4 评论 -
Java发送Http请求(HttpClient)
文章目录一、简介1、HttpClient2、HTTP协议的特点如下3、使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可二、spring boot集成HttpClient1、pom.xml添加httpclient的jar包依赖2、测试类3、工具类一、简介1、HttpClientHttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、...原创 2020-01-18 09:29:14 · 10725 阅读 · 4 评论 -
jar包导入到项目中、本地maven仓库、私库
一、maven pom 引入本地jar包1、新建lib包在pom.xml同级目录下新建lib文件夹,并放入本地jar包2、配置Jar包的dependency配置Jar包的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性;groupId:项目组织唯一的标识符;artifactId:项目的名称...原创 2020-01-16 17:31:36 · 3148 阅读 · 6 评论 -
java获取当前日期和时间(各种方法对比)
一、简介使用到的时间类有:System.currentTimeMillis():System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,类型为long;Date:类 Date 表示特定的瞬间,精确到毫秒。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来...原创 2020-01-11 15:27:06 · 9809 阅读 · 2 评论 -
发送企微、163邮件(图片、附件、HTML)
文章目录一、简介二、邮箱服务授权配置二、pom.xml依赖三、properties配置文件四、发送普通邮件1、web层代码2、Service代码二、发送Html格式邮件1、Web层代码2、Service代码三、发送Html带图片邮件1、Web层代码2、Service层代码3、封装图片路径的实体类四、发送带附件邮件1、Web层代码2、Service层代码八、完整代码1、Web层代码2、Service...原创 2019-12-30 15:29:58 · 11150 阅读 · 13 评论 -
腾讯COS存储的使用
文章目录一、简介二、使用代码1、获取永久密钥2、添加pom.xml中的依赖3、初始化用户身份信息4、创建存储桶(需要先进行3、初始化用户身份信息)5、创建存储桶(需要先进行3、初始化用户身份信息)6、上传对象(需要先进行3、初始化用户身份信息)(需要改3处)7、查询存储桶中内容(需要先进行3、初始化用户身份信息)(需要改1处)8、下载文件(需要先进行3、初始化用户身份信息)(需要改3处)9、删除文...原创 2019-12-23 15:54:40 · 10244 阅读 · 6 评论 -
compareTo( ) 方法比较字符串
String 字符串类型,它的比较值用compareTo方法,它从第一位开始比较,,如果遇到不同的字符,则马上返回这两个字符的ASCII码的差值,返回值是int类型;一、当两个比较的字符串是英文且长度不等:1、当长度短的字符与长度长的字符的内容一致时,返回的是两个字符串长度的差值;a="hello";b="hell";输出值num=1;a="h";b="hello";输...转载 2019-07-25 21:14:01 · 5094 阅读 · 2 评论 -
一招学会—Spring Boot使用PageHelper进行分页
文章目录一、简介:二、案例代码1、pom.xml2、application.properties3、WordSelectController.java4、WordSelectServiceImpl.java5、EnglishDao6、EnglishDao.xml7、PageUtils.java8、PageResult.java三、postman调用测试postman调用的参数postman返回值:...原创 2019-10-24 18:01:55 · 885 阅读 · 2 评论 -
阿里云基础测试题(Java基础知识—2019-7-10)
public class Demo { public static void main(String args[]) { int num = 2147483647 ; long temp = num + 2L ; System.out.println(num) ; } } 最终的执行结果是什么?A .-...原创 2019-07-10 21:54:45 · 10711 阅读 · 10 评论