
开发中常见的一些方法
文章平均质量分 84
伍华锋
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对象复制-mapstruct使用的正确姿势
mapStuct使用转载 2022-11-02 20:28:59 · 1627 阅读 · 1 评论 -
Git的相关操作
git 拉取远程分支到本地原创 2020-04-19 10:31:13 · 1060 阅读 · 1 评论 -
一文学会使用GCeasy——一款超好用的在线分析GC日志的网站
文章目录前言2. 正文2.1 JVM Heap Size2.2 Key Performance Indicators2.3 Interactive Graphs2.4 GC Statistics2.5 Object Stats2.7 Memory Leak原博文,点击这里前言此次的GC分析,用的是ParallelGC的日志JDK1.8可能很多读者都不知道如何打印出程序的GC日志,下面来介绍分别使用IDEA输出GC日志和直接从Tomcat服务器上输出GC日志。其实这两种方式都使用了同样的JVM命令转载 2022-01-26 19:34:26 · 2574 阅读 · 0 评论 -
Java 函数式编程案例(函数式接口作为参数和返回值)
文章目录案例1:函数式接口作为参数1. 1 原日志代码1.2 优化的代码案例2:函数式接口作为返回值案例1:函数式接口作为参数1. 1 原日志代码public class Demo01Logger { //只有日志等级为1时,才会打印日志信息 public static void showLog(int level, String massage){ if(level==1){ System.out.println(massage);转载 2021-12-22 17:23:05 · 1987 阅读 · 1 评论 -
java中A继承B,B继承C,new A()对象,B、C中的this属于谁
class C{ public C() { System.out.println("C构造方法"); this.print(); } void print() { System.out.println("这是C中的this调用"); }} class B extends C{ public B() { System.out.println("B构造方法"); this.print(转载 2021-11-27 21:24:36 · 430 阅读 · 0 评论 -
JAVA两个对象属性合并
import java.lang.reflect.Field; public class CombineBeans { /** * @Title: combineSydwCore * @Description: 该方法是用于相同对象不同属性值的合并,如果两个相同对象中同一属性都有值, * 那么sourceBean中的值会覆盖tagetBean重点的值 * @author: WangLongFei * @date: 2017年12月26日 下午1:53转载 2021-11-03 23:55:45 · 2951 阅读 · 0 评论 -
LoadingCache的使用 guava cache详细介绍 (缓存)
文章目录1. 生成一个LoadingCache对象参考文章,包含创建的不同的方式1. 生成一个LoadingCache对象参考文章,点击这里 LoadingCache userCache = CacheBuilder.newBuilder() .maximumSize(10000))//设置缓存上线 .expireAfterAccess(10, TimeUnit.MINUTES)//设置时间对象没有被读/写访问则对象从内存中删除转载 2021-10-10 23:13:49 · 9427 阅读 · 0 评论 -
使用google.gson工具时-JSON(谷歌)的使用
getAsString()方法返回JsonNull异常问题解决概述在使用google.gson工具时,JsonElement的getAsString()方法返回JsonNull异常问题。问题描述使用google.gson工具时经常会使用的就是反序列化功能。比如看下面的一个方法:private static JsonParser parser= new JsonParser();public String parseJsonString(String raw) { JsonElement转载 2021-07-30 10:39:19 · 1896 阅读 · 0 评论 -
java实现调用http请求的几种常见方式
文章目录一、概述二、 Java调用第三方http接口的方式2.1、通过JDK网络类Java.net.HttpURLConnection2.2 通过apache common封装好的HttpClient2.3 通过Apache封装好的CloseableHttpClient2.4 通过SpringBoot-RestTemplate2.5 通过okhttp参考博文,点击这里一、概述在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范,所以大多数转载 2021-07-06 21:36:17 · 726 阅读 · 0 评论 -
使用 JSONPath 解析 JSON 完整内容详解
文章目录jsonpath的介绍:jsonpath操作符:函数过滤器运算符Java操作示例另外一个案例:参考博文,点击这里jsonpath的介绍:JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。github上有它的应用:https://github.com/json-path/转载 2021-07-05 22:06:37 · 779 阅读 · 0 评论 -
@ResponseBody和HttpServletResponse之间的区别
文章目录1.两者的区别2.http 请求响应媒体类型一览response.getWriter().write()与out.print()的区别1、使用OutputStream流和PrintWriter流向客户端浏览器输出中文数据1.1使用OutputStream流向浏览器输出中文1.2使用PrintWriter流向浏览器输出中文1、使用OutputStream流和PrintWriter流下载文件2.1使用OutputStream流下载中文文件2.1使用PrintWriter流下载中文文件参考博文,点击这里原创 2021-03-29 10:26:12 · 4571 阅读 · 0 评论 -
Spring中获取request的几种方法,及其线程安全性分析
文章目录概述如何测试线程安全性方法1:Controller中加参数方法2:自动注入方法3:基类中自动注入方法4:手动调用方法5:@ModelAttribute方法总结原博文,点击这里概述在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等对象都是单例的,因此获取request对象时最转载 2021-03-08 09:29:35 · 439 阅读 · 0 评论 -
序列化Serializable
文章目录1.序列化的作用:自动生成serialVersionUID设置方法原博文,点击这里1.序列化的作用:如果你的对象需要网络传输或者持久化(对象直接转换为字节的形式传输),那么就需要实现Serializable接口。为了防止反序列失败,该对象需提供一个默认的serialVersionUID(该值在反序列化的时候会进行校验,如果校验失败会抛异常-InvalidClassException)。提问:现在需要将一个对象返回给前端,那么该对象是否需要实现 Serializable接口,并提供一个默转载 2021-03-05 17:07:11 · 518 阅读 · 0 评论 -
MyBatis-Plus 分页查询以及自定义sql分页
文章目录一、引言二、配置三、具体分页实现四、自定义sql分页查询五、多表sql分页查询原博文,点击这里进行实现一、引言分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页。物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的状态,实施性比较强,一般适用于数据量比较大,数据更新比较频繁的场景。逻辑分页:一次性把全部的数据取出来,通过程序进行筛选数据。如果数据量大的情况下会消耗大量的内存,由于逻辑分页只需要读取数据库一次转载 2021-02-22 18:01:09 · 11937 阅读 · 0 评论 -
Git版本冲突或者版本回退
文章目录查看变化1.Git版本回退(本地编辑器中都会回退)git add 命令只是把工作区当前的修改提交到暂存区中。git commit一次将暂存区中的内容提交到版本库中。查看变化git diff: 当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次原创 2021-02-20 23:35:44 · 1008 阅读 · 0 评论 -
Mock进行单元测试
中文文档参考地址,点击这里汪文君Mockito实战视频汪文君Mockito源码,点击这里@InjectMocks用来修饰被测试的类:就是对哪个类中的方法进行单元测试的时候,就用该注解修饰这个类。InjectMocks创建这个类的对象并自动标记@Mock,@Spy等注解的属性注入到这个中。要求必须是类不能是接口。使用1.Maven<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all --> &l原创 2021-02-14 16:26:05 · 2869 阅读 · 3 评论 -
PostMan接口测试Cookie,Token
其他的相关资料文档在:D:\尚硅谷Java视频\java相关书籍\PostMan注意:在进行登录和后续测试的时候,只需要将两个接口放在同一个文件夹中形成一个测试集,就能实现登录之后产生的Cookie,在第二个接口中自动就会加上去。测试方式:两种方式:方式1:方式2:下图,按照上图的方式进行填写。...原创 2021-02-12 23:01:07 · 979 阅读 · 1 评论 -
TCP和Socket,HTTP之间的关系
文章目录举例HTTPSocket比较重要的TCP和Socket和HTTP协议之间的关系:tcpip和http都是协议是约定好的规范,他们位于网络5层模型的传输层(tcp)和应用层(http),tcpip表示的是一系列协议,不过与本题没有太大关系。规定好的协议总要操作系统实现了才能使用。而socket就是操作系统实现的,tcpip协议族的接口,用于创建一个套接字,可以理解为,通过网络读写的文件描述符,socket、bind、listen、accept、connect一系列都是操作系统提供的接口用于实现tc转载 2020-12-12 20:17:04 · 1010 阅读 · 0 评论 -
maven依赖排除和SNAPSHOT,Maven Helper和打包,插件,依赖关系查找
我们知道,maven的依赖关系是有传递性的。如:A–>B,B–>C。但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖。在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions)。一、可选依赖当一个项目A依赖另一个项目B时,项目A可能很少一部分功能...转载 2019-10-10 10:44:15 · 886 阅读 · 0 评论 -
Netty框架的下载
1.Netty框架Jar包的下载:上图中标记的点都需要√上,并且文件夹的位置表示,会将下载好的Netty中的相关文件放在指定的目录下的lib文件夹下面。然后点击搜索,在下拉框中选择合适的版本进行下载...原创 2020-11-12 15:06:59 · 1024 阅读 · 0 评论 -
Sprinig Boot优雅实现接口幂等性---1
文章目录一、概念二、常见解决方案三、本文实现四、实现思路五、项目简介六、代码实现七、测试验证九、总结原文地址参考博文1一、概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次比如:订单接口, 不能多次创建订单支付接口, 重复支付同一笔订单只能扣一次钱支付宝回调接口, 可能会多次回调, 必须处理重复回调普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次等等二、常见解决方案唯一索引 – 防止新增脏数据token机制 – 防止页面重复提交转载 2020-07-17 16:26:01 · 457 阅读 · 0 评论 -
Mysql-基础-时间存储(Date,Java 8 中的日期处理,Json)
timestamp和datetime的区别datetime的默认值为null,timestamp默认值为当前系统时间datetime占用8个字节,timestamp占用4个字节datetime存的什么读出来就是什么,timestamp存储的时候会转为utc存储,读出的时候也会转换成当前时区timestamp所能存储的时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’。datetime所能存储的时间范围为:‘1000-0转载 2020-06-13 17:02:02 · 3417 阅读 · 0 评论 -
JDK1.8中的Optional使用方式
文章目录1.方法:2.构造方法3.方法实列:3.1 of3.2 ofNullable3.3 empty3.4 get3.5 orElse3.6 orElseGet3.7 orElseThrow3.8 filter3.9 map3.10 flagMap3.11 ifPresent4.代码重构4.1 重构前4.2 重构之后参考文章参考文章21.方法:方法描述of把指定的...转载 2020-05-04 10:32:10 · 2060 阅读 · 0 评论 -
Spring项目中自定义注解的使用
文章目录1. 准备工作2. 使用注解执行固定的操作3. 使用注解获取更详细的信息4. 使用注解修改参数和返回值1. 准备工作首先这里创建了一个简单的springboot项目:各个类的内容如下所示:@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private Integer id; pr...转载 2020-04-25 21:21:27 · 1022 阅读 · 0 评论 -
从yml文件中获取变量赋值给静态变量
/**用于获取yml文件中的变量赋值给静态变量 * @Author: wuhf * @Date: 2020/4/2 */@Configurationpublic class YmlConfiguration { public static String ehrZiroomUrl; public static String ehrApiZiroomUrl; publ...原创 2020-04-03 16:55:02 · 1551 阅读 · 2 评论 -
Java集合中的非空判断
1.使用工具类(org.springframework.util.CollectionUtils)注意:list.isEmpty()和list.size()==0 没有区别public static boolean isEmpty(Collection collection){ return collection == null || collection.isEmpty();}pu...原创 2020-04-03 11:24:44 · 2402 阅读 · 1 评论 -
项目部署的流程
步骤如下:1.通过maven将项目打成jar包。mvn cleanmvn package2.使用sudo rz 然后选择将相应的jar包传到linux上去。创建日志文件:sudo touch bi.file修改日志权限:sudo 777 bi.filenohup java -jar qa-bi-1.0-SNAPSHOT.jar > bi.file 2>&1 ...原创 2020-03-30 15:36:03 · 382 阅读 · 0 评论 -
将Json数据写入到本地文件中,并读取出来
文章目录1.将Json数据写入到文件中2.将text文件中的数据读取出来路径的书写1.将Json数据写入到文件中 /** * 将JSON数据格式化并保存到文件中 * @param jsonData 需要输出的json数 * @param filePath 输出的文件地址 * @return */ public static bool...原创 2020-03-29 16:56:36 · 3377 阅读 · 0 评论 -
java从数据库读取菜单,递归生成菜单树
首先看一下菜单的样子根据这个样子我们定义菜单类public class Menu { // 菜单id private String id; // 菜单名称 private String name; // 父菜单id private String parentId; // 菜单url private String url; // 菜单图标 private String ic...转载 2020-03-28 20:31:12 · 365 阅读 · 0 评论 -
Java中浮点数的比较与运算
文章目录1.浮点数的计算1.1实例:1.2方法改进2. 浮点数的比较2.1 使用误差范围2.2 使用BigDecimal比较参考博文,点击这里1.浮点数的计算在《Effective Java》这本书中也提到这个原则,float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal。BigDecimal一共有4个够造方法,其中的两个构造...原创 2020-01-15 11:40:41 · 1410 阅读 · 0 评论 -
Java中Comparable与Comparator的区别
1.Java中Comparable与Comparator的区别转载 2019-10-21 15:59:09 · 306 阅读 · 0 评论 -
JSON转换---FastJSON的使用,其中常见的类(JSONObject)
文章目录1.基本的序列化例1:将Map转成JSON例2:将List转成JSON。例3:自定义JavaBean User转成JSON。例4:以例2代码为例。1.日期格式化:例5:FastJSON将java.util.Date转成long。例6:使用SerializerFeature特性格式化日期。例7:指定输出日期格式。例12:将例11反序列化。例13:将例3反序列化。例14:将例2反序列化。例15...转载 2019-12-23 15:03:42 · 802 阅读 · 0 评论 -
Elasticsearch面试
1. term和terms,match之间的区别:参考博文term:查询某个字段里含有某个关键词的文档,terms:查询某个字段里含有多个关键词的文档,match它和term区别可以理解为term是精确查询,这边match模糊查询2.倒序索引:参考博文每一个文档都对应一个ID。倒排索引会按照指定语法对每一个文档进行分词,然后维护一张表,列举所有文档中出现的terms以及它们出现的文档...转载 2019-12-22 22:45:44 · 655 阅读 · 0 评论 -
微信发现的文章
10.271.代码规范2.LocalDateTime原创 2019-10-27 14:45:24 · 148 阅读 · 0 评论 -
异常的集合
5.log4j的相关知识,输出位置等5.try,catch,finally的执行顺序,参考2当调试程序的时候,发生异常之后。程序没有catch捕获到,说明catch中的异常类。偏小,试着直接提升到 try { searchResponse = restHighLevelClient.search(searchRequest); } catch (Ex...原创 2019-08-15 10:43:27 · 156 阅读 · 0 评论 -
级联选择器查询(后端实现)
前端需要的数据类型如下:数据库中的表如下:需要查询后的结果如下:实体类的定义:@Data@ToString@Entity@Table(name="category")@GenericGenerator(name = "jpa-assigned", strategy = "assigned")//@GenericGenerator(name = "jpa-uuid", str...原创 2019-08-04 17:28:10 · 3713 阅读 · 0 评论 -
JAVA常见的几种分页方式。
文章目录1.参数和返回值2.实现分页的方法2.1SpringBoot+Mybatis+PageHelper--数据库:Mysql2.1.1添加依赖:2.1.2配置pageHelper2.1.3PageHelper测试2.2Spring Data Mongodb--数据库MongoDB2.2.1创建Dao2.2.2分页查询1.参数和返回值1.1参数:int page:当前页,int rows...原创 2019-08-03 15:15:14 · 2144 阅读 · 0 评论 -
Json字符串和java对象之间的相互转换(原理篇)
版权声明:本文为博主原创文章,...转载 2019-07-06 17:05:08 · 5504 阅读 · 0 评论 -
java开发中常见的一些语法
1.StringUtils中的isEmpty与isBlank之间的区别:isEmpty判断某字段字符串是否为空,为空的标准是str==null或者str.length()==0StringUntils.isEmpty(null)=trueStringUntils.isEmpty("")=trueStringUntils.isEmpty(" ")=falseStringUntils.is...原创 2019-07-02 16:59:04 · 357 阅读 · 0 评论 -
JSON转换-----JackSon的使用,其中常见的类(ObjectMapper)
参考博文:ObjectMapper的一些坑1.ObjectMapper类的介绍:ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写。1.1构造函数:1.2常用的序列化设置属性:private static ObjectMapper map............原创 2019-07-09 10:48:06 · 1717 阅读 · 0 评论