自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 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 1200

转载 String、StringBuilder、StringBuffer的区别

String、StringBuilder、StringBuffer的区别需求原始文章String、StringBuilder、StringBuffer这三者的功能十分相似,到底应该什么时候用呢?相同点三者都是用来操作字符串的不同点运行速度StringStringBuilderStringBuffer最慢最快居中为什么String最慢?String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之

2021-07-26 10:47:06 119

原创 创建字符串常量用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 338

原创 wiremock学习

wiremock学习需求经常需要对外调用,而且在内网,不能调用,这个时候只能部署到内网中才能完成测试工作解决方案修改代码修改代码这种方式不太好,会增加冗余代码,项目上线时,还得修改代码使用wiremock造一个模拟服务器,就可以了步骤在pom.xml中增加配置 <properties> <wiremock.version>2.27.2</wiremock.version> </properties>

2021-07-16 17:51:25 341

原创 vscode连接ssh修改配置文件

vscode连接ssh修改配置文件需求服务器上经常需要修改一下配置文件,有时候用vim不是很方便,可以使用vscode来进行修改安装插件 Remote - SSH此插件为vscode官方插件安装完成以后点击这个按钮点击配置1.点击这个小齿轮2.选择第一个配置文件输入如下的配置:Host 192.168.1.102 HostName 192.168.1.102 User atguigu ForwardAgent yes包含了ip,用户名等信息,根据这些信息,能够初步

2021-07-16 15:40:52 2670

原创 使用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 408

原创 junit5并发测试

junit5并发测试需求进行并发测试是很常见的需求,结合junit,如何测试高并发?网上的文章,也看了不少,要么介绍一堆概念,没有演示出错误与正确的对比,没有一个高并发下出问题的案例开启并发开启并发支持特别简单在resources中创建一个文件 junit-platform.properties在此文件中编写如下配置,每个参数的作用都已经写出来了#是否支持并行执行junit.jupiter.execution.parallel.enabled = true#默认执行模式junit.

2021-07-15 17:00:07 932

原创 如何计算幂集

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 2946

原创 Junit5@TestTemplate的使用

Junit5@TestTemplate的使用需求一直不太理解@TestTemplate是干什么用的,网上没有什么文章能够讲的特别明白的,直到看见了这篇文章 好文章,借鉴了很多首先理解什么叫模板?例如简历模板,根据这个模板,随便改改,可以制作出无数的简历,模板就是可以反复使用的,模板的本质,@TestTemplate这个测试模板也很好理解,就是可以被很多测试用例调用的看看案例public class MyTestTemplate { /** * 遇到什么类型,JUnitS

2021-07-13 18:15:08 773 1

原创 几个好用的maven库

maven库搜索maven包,看版本,可以用下面两个网站,一个比较老,一个比较新,比较好看老网站这个比较美观settings.xml配置 <localRepository>E:\repository</localRepository> <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf&

2021-07-13 14:54:51 230

原创 如何使用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 4441

原创 junit5断言抛出异常

junit5断言抛出异常需求有些时候一定会抛出异常,断言他会抛出,比较常用对参数进行检查时,经常会写 !=null不建议这样写代码 /** * 避免有些一定不能为null的对象,做参数检查 避免!=null的写法 */ @Test() public void testRequireNonNull() { Assertions.assertThrows(NullPointerException.class,()->{

2021-07-12 18:32:28 1001

原创 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 162

原创 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 347

原创 HTML中列表的学习

列表表格是用来显示数据的,那么列表就是用来布局的列表最大的特点就是整齐,整洁,有序,它作为布局会更加的自由和方便根据使用场景的不同,列表可以分为三大类无序列表ul标签表示html页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用li标签定义,无序列表的基本语法如下: 您最喜欢的食物是? <ul> <li>榴莲</li> <li>臭豆腐</li> <li&gt

2021-07-07 00:43:16 82

原创 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 1048 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 281

原创 html基础表格结构标签和合并单元格

表格结构标签thead标签: 用于定义表格的头部,thead内部必须拥有tr标签,一般是位于第一行tbody标签: 用于定义表格的主体,主要用于存放数据本体以上的标签都是放在table标签中的,有这两个标签的好处是,语义会更加的清晰,更容易理解合并单元格特殊情况下,可以把多个单元格合并为一个单元格合并单元格的方式目标单元格合并单元格的步骤合并单元格的方式实现效果:跨行合并: rowspan=“合并单元格的个数”跨列合并: colspan=“合并单元格的个数”目标单元格

2021-07-06 00:39:16 241

原创 小说排行榜案例

最终效果<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title

2021-07-06 00:07:03 123

原创 html学习之表格标签

表格标签主要作用表格主要用于显示,展示数据,他可以让数据展示的非常的规整,可读性非常好.特别是后台展示数据的时候,能够熟练运用表格就显得很重要.一个清爽简约的表格,能够把复杂的数据表现的很有条理.基本语法 <table> <tr> <th>支出项目</th> <th>单价(元)</th> <th>数目</th>

2021-07-05 23:45:22 68

原创 超链接标签

超链接标签语法格式<a href="跳转的目标" target="目标窗口的弹出方式">文本或者图像</a>单词anchor的缩写,意思是: 锚两个属性的作用如下:属性作用href用于指定链接目标的url地址,这个属性必须指定target用于指定页面打开的方式,其中_self为默认值,_blank为在新窗口中的打开方式链接分类外部分类: 例如 <a href="https://www.baidu.com/">百度</

2021-07-04 22:04:58 122

原创 图像标签与相对路径和绝对路径

图像标签图像标签的其它属性属性属性值说明src图片的路径必须属性alt文本图像不能显示时,显示此文本title文本提示文本,属性放在图像上,显示的文字width像素图像宽度height像素图像的高度border像素图像的边框粗细要么修改高度,要么修改宽度,如果同时修改,可能会出现图像压扁的情况出现注意点图像标签可以有多个属性,必须写在标签名的后面属性之间不分先后顺序,标签名和属性,属性之间的均以空格分开属性采取键

2021-07-04 19:06:12 134

原创 div和span标签学习

div和span标签div和span是没有语义的,他们就是一个盒子,div是大盒子,span是小盒子,是用来装内容的<div>这是一个div</div><span>这是一个span</span>div是divsion的缩写,表示分割,分区.span意识是跨度,跨距的意思特点标签用来布局,一行只能放一个div也是用来布局的,一行上可以放多个span标签的练习<!DOCTYPE html><html lang="en

2021-07-04 17:55:24 284

原创 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 5268 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 2904

原创 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 1201

原创 愿心似太阳

愿心似太阳现象我以前为了自己以后说话不得罪人!总是去认真倾听,别人说话刺耳的地方,仔细分析这句话为什么说的不好,做为自己的经验教训,自己以后说话注意的地方,长久以往,我发现一个现象,自己说话的水平没有长进,但我离那个说话的人关系越来越疏远,因为我从内心就认为这个人说话很难听,这个人不行,最后发现自己的路越走越窄,我的目的是为了改善自己的人际关系,改善自己说话的方式,最后发现,起到了反作用!需求今天不讨论技术,就讨论怎么和自己讨厌的人打交道?现实分工产生效能,长板人越来越吃香当今世界,分工越来越

2021-06-30 23:58:00 86

原创 学习源码打印类中的方法

学习源码时,需要打印类中的方法原始文章需求在读源码的时候,总是有这样的需求,就是希望把学习的过程记录下来,想得到一个类中所有的,然后挨个的去研究,去提供案例,手动去写很费时间,于是就写了一个这样的工具方法,可以方便的去得到一个类中所有的公共的方法,这样就可以直接粘贴到markdown文件中使用了,减轻手写的负担.方法能够排序,按照abcd这样排下来去除掉同样的方法名去除掉private的方法代码 public void sourceCodeLearningMethod(Cla

2021-06-26 21:26:05 262

原创 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 1055

原创 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 169

原创 wsappx导致系统崩溃

wsappx导致系统崩溃现象描述系统的内存和cpu都被wsappx这个进程给占用了,删除一个1kb的文件,都要半天,系统异常卡慢分析经过网上的说法,是windows系统应用更新导致的此问题,把这个进程关闭就可以了失败的解决方法关闭windows的自动更新这个还是百度经验,根据这个,根本行不通的找到这个两个服务直接停止也不行,真是没办法了最终解决办法看了这篇文章后,解决了此问题win+R输入 regedit 进注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlS

2021-06-22 09:14:05 7572 7

原创 关于知识的分享

关于知识的分享beforeafter小总结before我在读书的时候就知道,给别人一个苹果,别人给你一个苹果,得到的不仅仅是一个苹果,还是一份友谊,一定要学会分享,知识是越分享越多的,之前我在国有企业,也待过很长的时间,那个时候,师傅们也乐于教给你一些技术,但是还有有很核心的技术一直不让你学,但是我来到计算机的世界,发现完全没有这种情况,只要你愿意学,总会有人愿意教你所以也很感激,之后我也要多学习,多分享,做一个知识的传播者,哪怕只有一个看,这也是值得坚持下去的事情!after我觉得知识是应该被

2020-08-15 01:03:32 178

原创 Java多数据源最通俗讲解

Java多数据源最通俗讲解beforeafter理论实操编码小总结before项目中可能会用到很多的数据源,例如目前这个项目中用到了五个数据源,那么数据源的配置和数据源的切换就成为了一个问题,那么如何解决呢?after之前一直被多数据源的切换困扰,后面发现这个这个好东西,就喜欢和别人分享,mybatis-plus的@ds这个注解可以解决数据源切换的问题,我试过在方法上标这个不太好用,所以我尝试了在类上标注,发现非常好使,也别再在接口上标明就行了理论实操编码首先看在配置文件中如何配置多数据源

2020-08-15 00:49:55 2104

原创 自己使用jmeter的一点心得体会

自己使用jmeter的一点心得体会beforeafter理论小总结before之前开发接口没有用jmeter测试过并发,当测过并发以后,首先会发现很多的错误自己代码写的有很严重的性能的问题,比如查询很慢不知道自己的接口的qps是多少,如何能提高qpsafter首先在测试过并发之后,我自己就发现了一个很严重的问题,就类似减库存,我减到-81,就是因为在并发环境下,让我还有一件商品的时候,80多个请求同时进来,一看还有库存,让后同时减了这么多次,就导致了很严重的问题这个时候我利用锁就解决了这

2020-08-15 00:39:27 923

原创 接口加锁,加缓存总结

before最近接到一个需求,是有一个很重的查询,而且还涉及到钱,别人花钱买了计数,结果在高并发情况下,出现了出现了负的八十多次。出现了很严重的问题。after出现这个问题了以后,第一时间考虑的是加锁,先实现次数扣减无误再来考虑性能的问题,目前实现了使用Lock加锁来实现,以后考虑有没有更好的方法!理论Lock lock = new ReentrantLock();通过这条语句,创建一个成员变量,能够锁住代码块实操编码别看这段代码简单,但是确实是简单,通过下面这段代码,就能够实现try中

2020-08-14 22:54:49 476

原创 datanode工作机制

before从迅雷上下载数据,有时下载的数据是坏的下载的东西不靠谱,我们不知道,下载下来才知道下载的数据的完整性after加入一个校验位,怎么样工作?我就认为你这个数据是不可靠的,我会让你重新给我发一个理论dn启动后向nd注册,相当于nacos给返回注册成功以后每隔一个小时,上报所有的块信息心跳每三秒一次,带有namenode给改datanode的命令超过十分钟没有收到dn的心跳,认为该节点不可用怎么判定节点死亡?timeout = 2* 变量(五分钟) +

2020-07-19 16:04:25 123

原创 nn和2nn的关系

before如何设计hadoop架构?把数据放到内存中,这样就快一些放到内存中如何管理redis有两种持久化的策略rdb:加载比较快,容易造成数据的丢失,相当于快照aof:加载比较慢,占用的空间比较大,很多的冗余操作都会记录hdfs就是数据的一致性和安全性要求的比较高,在持久化应该采取类aof的策略,在hadoop叫中edits.log,实时记录到这个文件中,这个玩意的缺点就是很大,很慢,加载时非常慢,hdfs宕机了那么怎么能加载比较快一些呢?redis

2020-07-19 15:33:41 1129

原创 HDFS读写流程

HDFS读写流程1.客户端申请上创建文件2.响应是否可以上传3.请求上传第一个block4.返回DN1,2,3,表示采用这三个节点存储数据dn1第一个就是最近的,后面两个是根据他选出来的5.向DN请求建立通道,dn1,dn2,dn3,串联请求6.向客户端返回可以传7.客户端传给dn1,dn1一边落盘,一边给dn2传输,边存的时候就边发的,有一个待写的队列,不是一个个发的8.第二个块和第一个一样9.数据传输完毕中间有几个问题呢?两次dn的选择是完全独立的选择,同一个文件,两块根本都

2020-07-19 15:07:13 91

原创 引入redis

引入redisbeforeafter理论实操建工程改配置改pom编码小总结before系统没有引入redis,频繁查询数据库,造成mysql压力特别大,数据库不堪重负.after引入redis,减小mysql的压力理论实操建工程改配置spring: redis: database: 0 host: localhost lettuce: pool: max-active: 8 #最大连接数据库连接数,设 0 为没有限制

2020-07-15 19:18:52 155

原创 java操作elasticsearch(二)

@TOC代码地址https://gitee.com/wl1092212424/prarent-project.git创建工程添加pom依赖父工程pom文件<!-- 统一管理jar包版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1

2020-07-12 22:12:42 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除