- 博客(57)
- 资源 (6)
- 收藏
- 关注
转载 springboot版本 依赖springframework版本 发布时间
1.0.x1.0.0.RELEASE 4.0.3.RELEASE 2014.041.0.1.RELEASE 4.0.3.RELEASE 2014.041.0.2.RELEASE 4.0.3.RELEASE 2014.04– – –1.1.x1.1.0.RELEASE 4.0.5.RELEASE 2014.061.1.1.RELEASE 4.0.5.RELEASE 2014.061.1.2.RELEASE 4.0.5.RELEASE 2014.061.1.3.RELEASE 4.0.5.RE
2022-04-21 16:09:35
1707
3
原创 Java 实体类对象转Map
/** * 将Object对象里面的属性和值转化成Map对象 * * @param obj * @return * @throws IllegalAccessException */ @Override public Map<String, Object> objectToMap(Object obj) throws IllegalAccessException { Map<String, ...
2021-08-10 13:23:29
556
1
原创 Google Guava 工具类库
maven依赖<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version></dependency>1.创建集合List<String> list = Lists.newArrayList();List<
2021-06-29 15:46:04
365
1
原创 commons 常用工具类
maven依赖1.commons-collections 集合工具类<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version></dependency>// 两个集合取交集Collection<
2021-06-29 15:42:58
584
2
原创 apache commons 工具类库
apache commons是最强大的,也是使用最广泛的工具类库,里面的子库非常多,介绍几个最常用的.建议使用commons-lang3,优化了一些api,原来的commons-lang已停止更新<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0<
2021-06-29 15:33:29
944
1
原创 JAVA stream流一些常见的用法
**Stream作为java8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、便利的聚合操作或者大批量的数据操作,提高了编程效率和代码可读性。Stream的原理:将要处理的元素看做一种流,流在管道中传输,并且可以在管道的节点上处理,包括过滤筛选、去重、排序、聚合等。元素流在管道中经过中间操作的处理,最后由最终操作得到前面处理的结果。**1.排序// 升序list.stream().sorted(Comparator.comparing(T::getPrice
2021-05-19 10:42:59
448
1
原创 Idea一键导入所有缺省的包
用了这么久Idea每次都是一个一个的Alt+Enter的引入,太麻烦了.我的Idea版本是2019.1.3打开Setting->Editer->General->Auto Import,点击Auto Import备注:这种注入,当多个包都拥有相同的类名时,还需要自己手动导入。...
2021-05-19 10:21:30
744
2
原创 java中数字格式金额转换成中文大写金额工具类
/** * 金额转换工具类 */public class MoneyUtils { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static final String DIGIT = "零壹贰叁肆伍陆柒捌玖"; private static final double MAX_VALUE = 9999999999999.99D; public static String change(doub
2021-03-04 09:14:38
330
1
原创 java常用的工具类---BeanUtils
Spring 的 BeanUtils (推荐使用)import org.springframework.beans.BeanUtils(注意导入的包)如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm,例如 Teacher和TeacherForm。我们一般会在Action里从ActionForm构造一个PO对象,传统的方式是使用类似下面的语句对属性逐个赋值://得到TeacherForm TeacherForm
2021-02-23 10:41:54
529
1
原创 java常用的工具类---StringUtils
第一步导包<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version></dependency>1.isBlank在校验一个String类型的变量是否为空时,通常存在3中情况是否为 null是否为 ""是否为空字符串
2021-02-23 10:23:49
434
原创 java常用的工具类---CollectionUtils
CollectionUtils在真实项目中,是一个非常好用的工具类,使用非常频繁。它可以使代码更加简洁和安全。1: 判断集合是否为空: CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()): true CollectionUtils.isEmpty({a,b}): false2: 判断集合是否不为空: CollectionUtils.isNotEmpty(null): fals
2021-02-23 10:17:27
8121
2
原创 好用的电脑截图工具
1.FastStone Capture官网下载:https://www.faststonecapture.cn/download激活码:c1ikmAXMQX-RMMMJ-DBHHF-WIHTV
2021-02-04 17:08:18
228
2
原创 java常见的数据类型互转
1.Array转ListString[] s = new String[]{"A", "B", "C", "D","E"};List<String> list = Arrays.asList(s);2.List转ArrayString[] arrays = list.toArray(new String[0]);3.Array转Sets = new String[]{"A", "B", "C", "D","E"};set = new HashSet<>(Arrays
2021-02-04 16:07:52
178
5
原创 Java8内置的函数式接口---Consumer接口
package java.util.function;import java.util.Objects;@FunctionalInterfacepublic interface Consumer<T> { void accept(T t); default Consumer<T> andThen(Consumer<? super T> after) { Objects.requireNonNull(after);
2021-01-20 09:00:44
277
原创 SHA
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为
2020-11-25 14:17:14
195
1
原创 MD5
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友
2020-11-25 14:16:26
210
1
原创 Java: new一个map时,加泛型标志<x,y>
我看到这么一句private static Map<String, User> instance = Collections.synchronizedMap(new HashMap());其中new HashMap()没有写成 new HashMap<String, User>()这是为何?jdk 1.5 以前集合是没有泛型概念的,所以当时的类型约束纯粹自己写,然后强转。如下: // 忽略添加map的部分. Map map = new HashMap(); for(objec
2020-11-25 14:15:33
2009
1
原创 python之turtle库学习(海龟图形)
python之turtle库学习这两天在一个公众号里看到一个文章好玩的库,今天来学习一下。Github地址一。方法1.forward() | fd():向前移动指定的距离。参数:一个数字(integer or float))。turtle.forward(25)2.backward() | bk() | back():向后移动指定的距离。参数:一个数字(integer or float))。turtle.backward(30)3..right() | rt():以角度单位向右转动。参数:
2020-11-25 14:07:49
3364
原创 解决lombok @Data时,get/set方法冒红问题的办法
更新lombok版本就行,Settings -> Plugins 更新或安装插件就行重启IDEA,搞定。要是还不行。FILE – SETTING 勾上再重启。
2020-11-25 14:01:58
1809
原创 java~lombok的@Data引发的问题
子类不能完全代表父类@EqualsAndHashCode注解里有个字段callSuper,它的默认值是false,意思是在重写时,不会将父类的字段写到equals里;而@Data这个注解由于包含了@EqualsAndHashCode,所以它也有这个特性,即子类强制实现了重写equals和hashCode,并且只重写了自己的属性,这时,问题就来了,当两个对象比较时,如果子类属性相同而父类属性不同,结果也为true,这是非常严重的bug。
2020-11-25 13:56:25
662
1
原创 java 生成图片
package com.zwx.study.test;import lombok.extern.slf4j.Slf4j;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOExc
2020-11-24 15:28:24
308
原创 JAVA压缩加压带密码
引入jar包 <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency>package com.zwx.study.test;im
2020-11-24 13:08:50
272
原创 JAVA 8 ‘::‘ 关键字
Java 8 中我们可以通过 :: 关键字来访问类的构造方法,对象方法,静态方法。现有一个类 Somethingclass Something { // constructor methods Something() {} Something(String something) { System.out.println(something); } // static methods static String startsWith(Strin
2020-11-24 13:07:20
91
原创 Spring ApplicationEvent 异步处理
在性能要求比较高的接口中,执行一个比较耗时而并不关键的操作(比如上报监控信息什么的),如果同步执行必然是没有意义的,因此一般我们会想去异步处理,通常会使用MQ之类的中间件,不过Spring也提供了事件相关的处理,就是ApplicationEvent,关于这个类这里不再多言,基础的知识可以网上搜索相关教程,不过有一个问题需要注意的是,默认这种事件机制是同步的,好处是如果有事务,发送事件的方法和事件处理的方法在同一个事务里,缺点就是,可能并没有实现我们想象中的异步处理,有一种方案是在处理事件的时候使用一个线程池
2020-11-16 14:38:39
1991
原创 mybatis中的#和$的区别
#相当于对数据 加上 双引号,$相当于直接显示数据1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “id”. 2. $ 将传入的数据直接显示生成在sql中。如:order by $ user_id $ ,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值
2020-11-16 11:13:36
160
原创 SQl中“(+)”表示什么意思
描述:左右查询,放在等号的左边就是左查询,放到右边就是右查询。和left join ,right join 比较相似示例:SELECT *FROM TABLE1 A,TABLE2 B WHERE A.ID=B.ID(+);左链接=LEFT JOIN SELECT *FROM TABLE1 A,TABLE2 B WHERE A.ID(+)=B.ID;右链接=RIGHT JOIN在mysql不可用...
2020-11-16 10:54:51
1713
1
原创 JAVA反射
概述定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。用途通过反射,Java 代码可以发现有关已加载类的字段,方法和构造函数的信息,并可以在安全限制内对这些字段,方法和构造函数进行操作。很多人都认为反射在实际Java中开发应用中并不广泛,其实不然。当我们在使用 IDE(如 IDEA/Eclipse)时,当我们输入一个对象或者类并调用它的属性和方法
2020-11-13 09:10:53
113
1
原创 数据结构--一看就懂的线性表讲解
线性表是我们日常中用到的最多的数据结构,它的最基本的特点是它最多只有一个前驱,最多只有一个后驱,只有第一个节点没有前驱,只有最后一个节点没有后驱。简言之:线性表就是n 个元素的有限序列,其一般描述为A = (a1,a2,a3…)线性表的存储结构分为:顺序存储和非顺序存储,其中顺序存储又叫向量存储,也叫一维数组存储。1.顺序存储线性表的顺序存储也叫向量存储,也叫一维数组存储。线性表中节点存放的物理顺序 和逻辑顺序是一样的,A = (a1,a2,a3…)对应的存储结构图如下:线性表中第一个元素的位
2020-11-13 08:57:43
575
2
原创 线程--Java线程的主要状态及转换方法
一、操作系统中线程的状态转换在现在的操作系统中,线程是被视作为轻量级进程的,所以操作系统线程的状态和操作系统进程的状态是一致的。二、Java线程的6个状态public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; }1.NEW处于NEW状态的线程,代表线程创建成功,但并未启动。这里的未启动,指
2020-11-13 08:57:20
195
1
原创 数据结构---Java编码实现树
二叉树节点类/** * 树节点 */public class Treenode { //节点权 int data ; //左子节点 Treenode leftNode; //右子节点 Treenode rightNode; public Treenode(int data){ this.data = data; } public void setLeftNode(Treenode leftNode) {
2020-11-13 08:57:00
166
原创 数据结构---Java编码实现栈、队列、链表的常规功能
栈public class MyStack { //用数组实现数据栈 int[] elements; public MyStack() { this.elements = new int[0]; } /** * 入栈,入栈的数据放在数组尾部 */ public void push(int element){ //创建一个新的数组 int[] newArray = new int[e
2020-11-13 08:56:40
94
1
原创 常见设计模式(带通俗解释)
单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧public class Singleton { private static Singleton singleton; private Singleton()
2020-11-13 08:56:20
79
1
原创 基础--最简单明了的拆箱装箱解释,带实例
前言在JAVA中,拆箱和装箱操作是发生在基本数据类型和其包装类之间的一种操作。JAVA中的八种基本类型有:byte short int long float double boolean char每一种基本数据类型在java中对应的会有一个包装类,其目的是为了丰富其功能。对应关系如下图所示:一、名词解释装箱:将基本数据类型转为其包装类就为装箱操作拆箱:将其包装类转为基本数据类型就为拆箱操作二、原理:(以int和包装类Integer讲解,其他的类型同理)Integer a
2020-11-12 10:50:59
727
2
原创 基础--String类相关原理讲解
JVM内存模型线程共享区域有:方法区,堆线程私有区域有:虚拟机栈,本地方法栈,程序计数器。具体每块区域上保存什么样的数据在图上已经标注了。可以看到在方法区会保存运行时常量池,所以String的常量池就存放在方法区上。原理讲解String a = "abc";解释:做此操作时,会先去常量池中寻找是否存在“abc”字符串,如果存在就直接将引用指向常亮池中存在的字符串,如果不存在,就在常量池中创建“abc”字符串。String f = new String("123");解释:执行n
2020-11-12 10:46:51
226
2
原创 Mybatis系列深入理解Mybatis执行流程及底层代码分析(一)
mybatis基于xml配置文件的执行过程大体如下:1.加载配置文件,初始化配置,创建Configuration对象。2.创建SqlSessionFactory3.根据SqlSessionFactory获得SqlSession4.SqlSession执行操作(增删改查)通过一个简单的demo来实现一次数据库操作(单独使用mybatis框架时)String resource = "mybatis-config.xml";InputStream inputStream = Resources.ge
2020-11-12 10:40:41
264
原创 Mybatis系列查询时自定义排序(此处为oracle,mysql同理)
需求:mybatis传入参数进行in操作查询,并按照传入参数的顺序返回查询结果。解决方案:经查询资料,数据库中的自定义排序可解决此需求。实操:order by decode(排序列, <foreach item="A" index="index" collection="datalist" separator=","> #{A},#{index} </foreach> ) 实际代码order b
2020-11-12 10:37:40
423
idea插件.rar
2020-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人