java
我不能创造的我都不能理解
这个作者很懒,什么都没留下…
展开
-
list转map
1. list转map1.1. 需求将两个list转为一个list然后对这个list,根据list中的对象的某一个属性,例如 id进行去重1.2. 将两个list转为一个listnewLists.addAll(oldLists);1.3. 将list转mapMap<String,FqtSysPermission> immutableMap = Maps.uniqueIndex(newLists,item-> item.getId() );1.3.1. 核心方法(Maps原创 2021-10-29 13:59:07 · 1373 阅读 · 0 评论 -
String、StringBuilder、StringBuffer的区别
String、StringBuilder、StringBuffer的区别需求原始文章String、StringBuilder、StringBuffer这三者的功能十分相似,到底应该什么时候用呢?相同点三者都是用来操作字符串的不同点运行速度StringStringBuilderStringBuffer最慢最快居中为什么String最慢?String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之转载 2021-07-26 10:47:06 · 124 阅读 · 0 评论 -
创建字符串常量用new和不用new的区别
创建字符串常量用new和不用new的区别需求原始文章,这篇文章写的很好此文档用于回答这个问题String a = "abc";String b = new String("abc");a和b是否相等,为什么认识Stringstring的设计思想节省内存资源, 例如abc这个字符串存储一万次,是很划不来的字符串是一个系统的根本,使用非常的广泛,必须保证线程安全保证效率,例如abc这个字符串已经有了,直接使用比再创建效率更高源码此类加上了final,说明是不可变的public原创 2021-07-20 15:27:50 · 345 阅读 · 0 评论 -
wiremock学习
wiremock学习需求经常需要对外调用,而且在内网,不能调用,这个时候只能部署到内网中才能完成测试工作解决方案修改代码修改代码这种方式不太好,会增加冗余代码,项目上线时,还得修改代码使用wiremock造一个模拟服务器,就可以了步骤在pom.xml中增加配置 <properties> <wiremock.version>2.27.2</wiremock.version> </properties>原创 2021-07-16 17:51:25 · 357 阅读 · 0 评论 -
使用junit5生成一个报告
使用junit5生成一个报告需求自动生成测试报告原始文章代码pom.xml中添加如下代码 <properties> <maven-surefire-report-plugin.version>2.22.2</maven-surefire-report-plugin.version> </properties> <build> <plugins> &原创 2021-07-15 18:00:51 · 435 阅读 · 0 评论 -
junit5并发测试
junit5并发测试需求进行并发测试是很常见的需求,结合junit,如何测试高并发?网上的文章,也看了不少,要么介绍一堆概念,没有演示出错误与正确的对比,没有一个高并发下出问题的案例开启并发开启并发支持特别简单在resources中创建一个文件 junit-platform.properties在此文件中编写如下配置,每个参数的作用都已经写出来了#是否支持并行执行junit.jupiter.execution.parallel.enabled = true#默认执行模式junit.原创 2021-07-15 17:00:07 · 966 阅读 · 0 评论 -
如何计算幂集
1. 如何计算幂集1.1. 需求给定三个数字1,2,3 得到 {1,2,3,12,13,23,123,""}等等这些集合原始文章,感谢这位大哥1.2. 什么是幂集百科1.3. 代码1.3.1. 核心 public List<List<String>> powerSet(List<String> set) { //已知所求集合的幂集会有2^n个元素 int size = 2 << set.size();原创 2021-07-15 13:52:26 · 3050 阅读 · 0 评论 -
Junit5@TestTemplate的使用
Junit5@TestTemplate的使用需求一直不太理解@TestTemplate是干什么用的,网上没有什么文章能够讲的特别明白的,直到看见了这篇文章 好文章,借鉴了很多首先理解什么叫模板?例如简历模板,根据这个模板,随便改改,可以制作出无数的简历,模板就是可以反复使用的,模板的本质,@TestTemplate这个测试模板也很好理解,就是可以被很多测试用例调用的看看案例public class MyTestTemplate { /** * 遇到什么类型,JUnitS原创 2021-07-13 18:15:08 · 871 阅读 · 1 评论 -
几个好用的maven库
maven库搜索maven包,看版本,可以用下面两个网站,一个比较老,一个比较新,比较好看老网站这个比较美观settings.xml配置 <localRepository>E:\repository</localRepository> <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf&原创 2021-07-13 14:54:51 · 236 阅读 · 0 评论 -
如何使用idea看注解的实现
如何使用idea看注解的实现需求想看看注解 @AliasFor 是如何实现的精彩文章全局寻找ALT + F7选择.class点击查看这两个方法查看具体的实现 /** * Create an {@code AliasDescriptor} <em>from</em> the declaration * of {@code @AliasFor} on the supplied annotation attribute and原创 2021-07-13 13:39:57 · 4557 阅读 · 0 评论 -
junit5断言抛出异常
junit5断言抛出异常需求有些时候一定会抛出异常,断言他会抛出,比较常用对参数进行检查时,经常会写 !=null不建议这样写代码 /** * 避免有些一定不能为null的对象,做参数检查 避免!=null的写法 */ @Test() public void testRequireNonNull() { Assertions.assertThrows(NullPointerException.class,()->{原创 2021-07-12 18:32:28 · 1027 阅读 · 0 评论 -
java包注释
java包注释需求经常有这样的需求,对java的包,添加一个注释,描述一下这个包是干什么的对策源码/** * Implementation package for {@code java.util.concurrent} based caches. * Provides a {@link org.springframework.cache.CacheManager CacheManager} * and {@link org.springframework.cache.Cache Cach原创 2021-07-12 17:47:50 · 169 阅读 · 0 评论 -
lombok深入
lombok注解官网案例val局部变量可以使用这个val,会自动加上final修饰符@NonNull加上这个注解,会检查这个参数,如果不符合,会报空指针 public static void main(String[] args) { System.out.println(returnString(null)); System.out.println(returnString("not_Null")); } public static St原创 2021-07-11 09:57:31 · 381 阅读 · 0 评论 -
restTemplet使用
restTemplate的使用RestOperations接口此类org.springframework.web.client.RestOperations是一个接口,定义了许多rest请求的方法exchange方法 @Override public <T> ResponseEntity<T> exchange(String url, HttpMethod method, @Nullable HttpEntity<?> re原创 2021-07-06 15:19:55 · 1073 阅读 · 1 评论 -
对url进行编码
对url进行编码源码URLEncoder对象位于包 java.net.URLEncoder中public static String encode(String s, String enc) throws UnsupportedEncodingException {}URLDecoder对象位于包 java.net.URLEncoder中public static String decode(String s, String enc) throws UnsupportedEncodingE原创 2021-07-06 13:47:16 · 298 阅读 · 0 评论 -
hutool工具的aes加密算法封装
1. hutool工具封装aes加密1.1. 需求给一个字符串,使用aes加密后得到一个字符串,保存到数据库中,需要使用时,再解密使用每次解密都重新生成一个秘钥,该如何实现?整个系统只使用一个秘钥又该如何实现?1.2. 源码1.2.1. Key接口包java.security 下的Key接口public interface Key extends java.io.Serializable { /** * 返回此密钥的标准算法名称。 例如,“DSA”表示该密钥是 DSA原创 2021-07-02 18:14:46 · 5376 阅读 · 1 评论 -
如何把javaMap转为bean
把map对象转为bean对象需求需要把一个map转换为一个bean对象,这样方便操作一些,更加直观精彩原文源码包和类org.springframework.cglib.beans包中的 BeanMap 类create方法用于创建一个BeanMap对象,bean这个对象是通过 beanClass.newInstance()创建的 public static BeanMap create(Object bean) { BeanMap.Generator gen = new原创 2021-07-01 14:39:59 · 2954 阅读 · 0 评论 -
junit5如何读取resources中的资源
junit5如何读取resources中的资源需求比如我们有一个json文件,该如何读取这个json文件,然后变成一个字符串呢?解决办法使用hutool这个工具包在这个包中package cn.hutool.core.io.resource中有一个ResourceUtil方法;/** * 读取Classpath下的资源为字符串,使用UTF-8编码 * * @param resource 资源路径,使用相对ClassPath的路径 * @return 资源内容原创 2021-07-01 11:06:36 · 1271 阅读 · 0 评论 -
学习源码打印类中的方法
学习源码时,需要打印类中的方法原始文章需求在读源码的时候,总是有这样的需求,就是希望把学习的过程记录下来,想得到一个类中所有的,然后挨个的去研究,去提供案例,手动去写很费时间,于是就写了一个这样的工具方法,可以方便的去得到一个类中所有的公共的方法,这样就可以直接粘贴到markdown文件中使用了,减轻手写的负担.方法能够排序,按照abcd这样排下来去除掉同样的方法名去除掉private的方法代码 public void sourceCodeLearningMethod(Cla原创 2021-06-26 21:26:05 · 276 阅读 · 0 评论 -
mybatis-plus流式查询
流式查询原始文章这篇文章也不错概述mapper接口Cursor<Map> streamQuery();Cursor源码解读Cursor就是光标的意思,集成了Iterable,意味着Iterable的所有的方法,它都有了public interface Cursor<T> extends Closeable, Iterable<T> { /** * @return true if the cursor has started to fe原创 2021-06-24 11:55:52 · 1105 阅读 · 0 评论 -
Steam
steam学习allMatch流中的所有的元素,是否都满足某个布尔值函数案例@Test()public void testAllMatch() { // getAllMatchPredicate 编写一个自己的布尔值函数 boolean b = Stream.of(1, 2, 3).allMatch(getAllMatchPredicate()); Console.log("变量 b = [ {} ]", b); assertThat(b, CoreMatchers原创 2021-06-23 14:15:57 · 180 阅读 · 0 评论