自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 项目启动后进行一些初始化操作 @PostConstruct注解的使用

这种时候我们就可以使用@PostConstruct注解,被这个注解修饰的方法将会在项目启动时或者Spring容器启动时执行,可以进行一些数据初始化的操作,而且它是在依赖注入后被调用的,那么我们也可以在这个方法中使用依赖注入的对象.最近工作开发中遇到了这样的一个场景,开发的小程序迭代的版本不符合微信的开发规范提审可能不会通过,于是我们产品提出可以把新功能以悬浮窗的形式放到小程序,用接口来读取悬浮标的开启关闭状态,提审前打开悬浮窗,提审后关闭悬浮窗.

2022-12-08 16:54:36 1858 1

原创 动态创建xxl-job任务

动态创建xxl-job

2022-10-17 17:12:52 6665 2

原创 MyqlSql复杂排序 针对同一个字段根据不同条件分别做正序和倒序

mysql 单字段多排序

2022-08-31 14:38:40 971

原创 Java List.sort()的使用 和Comparator转换器的实现原理

Java List.sort()的使用 和Comparator转换器的实现原理

2022-08-18 16:37:03 1707

原创 EasyExcel实现复杂导入 适用于导入1对N类型数据如组合商品,订单和订单明细等等

EasyExcel复杂导入

2022-08-10 10:55:48 2323

原创 idea 集成git后一些场景的使用方法

idea git使用简略

2022-08-08 14:46:39 658

原创 Java 1.8新特性 Optional的使用

1.使用Optional的目的是为了解决java代码运行过程中的空指针问题,以前在代码中为了判断空指针往往使用if(null!=XXXX)等方式来实现,对于一个嵌套对象来说,要重复的使用这种方法,最后写出不美观又冗余的代码.orElse()方法允许我们在获取的对象为空值时为我们返回一个自定义的对象.使用orElseGet()获取Option的值。使用ifPresent()获取Option的值。对于嵌套的对象来说一般的获取对象值的方法为。使用orElse()获取Option的值。......

2022-07-18 15:00:17 664

原创 MySql 随机获取符合条件的数据

MySql随机获取符合条件的数据

2022-06-29 11:21:22 1043

原创 SpringBoot项目运行初始化数据以及利用redis来实现延迟队列

SpringBoot项目运行初始化数据以及利用redis来实现延迟队列

2022-06-23 17:40:45 1028

原创 生成固定前缀固定长度的不重复字符串使用方法(可用于生成电商系统中的订单号,出库单号等等)

Java生成固定前缀固定长度的不重复字符串使用方法(可用于生成电商系统中的订单号,出库单号等等)

2022-06-21 17:16:13 356

原创 Nginx内网穿透映射多地址设置

nginx内网穿透

2022-06-21 11:19:32 1467

原创 二进制常用运算方式和基本概念

二进制常用运算方式和基本概念

2022-06-14 14:17:13 8734

原创 leecode 461一题解析

leecode 461一题解析

2022-06-14 09:31:13 105

原创 Java 获取多线程返回值的几种方式

Java获取多线程返回值的几种方式

2022-06-13 15:19:41 9317

原创 Java 避免写太多if-else的方法

Java 写代码的时候如果有太多if-else不仅看起来low,也不利于阅读,利用lamda表达式可以很轻松解决这个问题,示例如下:Integer a=5; if(a==1){ System.out.println("a为1"); }else if(a==2){ System.out.println("a为2"); }else if(a==3){ System.out.println("

2022-03-15 16:18:57 1876 1

原创 将任意长度的字符串压缩为指定长度的数字字符串的方式

最近在开发中遇到了一个需求,要求打印一个单据,并且需要有一个16位长度的数字码,要求数字码不能重复,且重复打印生成的单据数字码相同大家有需要可以参考下面的代码public static String getMD5(String sourceStr) { byte[] source = sourceStr.getBytes(StandardCharsets.UTF_8); String s = null; char hexDigits[] = { '0',

2022-02-17 16:11:53 2382 3

原创 Java获取HttpServletRequest内的消息体

废话不多说直接上代码 //获取请求体的输入流 InputStream inputStream = request.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream)); String line; StringBuffer buf=new StringBuffer();

2022-02-10 14:57:50 884

原创 Java利用 URLConnection发起Post请求并携带参数的方法

现在涉及到第三方对接方面功能时很多第三方平台为了安全使用的都是https请求,传统的发起http请求的方法就不再适用了,但使用原生的URLConnection方法来进行调用效果确是非常不错的,接下来就来介绍一下它的使用方法。 String url = "https://xxx-你的请求地址"; URL serverUrl = new URL(url); HttpURLConnection conn = (Http

2022-02-10 14:48:19 11847 7

原创 SQL中SELECT NULL和EXISTS的关键字的使用

SQL中经常会看见有人使用SELECT 1和SELECT null,这就让人感到困惑,SELECT 1凭想象好像是查找数据库表第一列的样子,SELECT NULL就难以猜测了。我们可以去数据库中实际使用来看一下比如select 1 from tc_order返回的是一列全是1的数据,总条数就是tc_order表数据数量那么再来试一下select null from tc_order效果类似,不过字段里的数据都变成了null那么,他们的区别也显而易见了,对于能返回数据为1的selec

2022-01-11 14:25:39 3953

原创 SQL语句中is not null 和 is null 关键字的优化

当我们多表join查询时如果添加某个字段is null 或者is not null 关键字时会造成sql的执行速度大幅下降,就像下图一样不使用is not null 的情况下时那么对于sql中is not null 可以做这样的一个替换对于mySql: and ifnull(字段名,‘自定义默认值’)!=‘自定义默认值’对于pgSql:and COALESCE(字段名,‘自定义取值’)!=‘自定义取值’优化后的sql运行速度大幅提升了...

2022-01-11 08:47:15 7789 3

原创 Java 事务监听的使用

Spring 提供了事务同步管理器让我们能监听Spring的事务操作,TransactionSynchronizationManager.isSynchronizationActive()这个可以获取到当前是否存在事务,TransactionSynchronizationManager.registerSynchronization()这是注册一个监听器,需要传入一个对象TransactionSynchronization他有两个方法@Override pub

2022-01-05 18:06:56 735

原创 POST定时自动请求接口方法

如果我们需要定时的请求某一个接口,可以使用postMan来实现。第一步创建一个Collection第二步创建一个request第三步写接口其中不定的参数要用{{XX}}的方式来代替第四步准备好参数,如注意文件后缀名需要是csv第五步第六步左边选择接口,右边选择刚刚弄好的文件,加粗箭头的地方是延迟,单位是毫秒...

2021-12-31 09:17:16 5582

转载 JAVA利用HttpClient进行HTTPS接口调用

1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import org.a

2021-12-16 20:50:52 8032 1

原创 EasyExcel 使用Converter 转换注入时报nullPoint异常

使用EasyExcel报表导入导出时对其中的字段进行转换 @Override public CellData convertToExcelData(String code, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { if(StringUtils.isBlank(code)){ return new

2021-12-09 10:04:39 1664 2

原创 Eureka强制下线服务

Eureka强制下线服务平时使用启动Eureka进行开发的时候为了不让其他人错误的调用到我们的应用,都可以通过更改application.properties文件里spring.application.name的属性就可以指定我们服务在eureka上注册时的名称。但是如果其他同事没有更改名称阻碍到我们调试的话应该如何做呢?可以打开postman,通过delete方式发起一个如下的请求就可以了。http://106.14.27.199:8080/BOP/bop-69c6cc48cb-l7x2x:bo

2021-10-18 18:55:37 2251 1

原创 Java系统对接时导入具有父子结点关系的树状数据

系统对接时导入具有父子结点关系的树状数据做项目时,大部分情况都会遇到新老系统数据同步的问题,最近做的一个项目需要导入集团下的行政组织数据,其实就是集团下的各个子公司和行政部门,它再转入时提供的实体属性如下: //组织ID private String OBJID; //组织名称 private String ORGTX; //上级ID private String OBJIDUP;非常简单,但是新系统这边存储时要求该节点的父节点必须存在,所以就要求我这边组装好

2021-09-30 09:40:58 467

原创 Docker实时查看日志命令

Docker实时查看日志命令使用Docker容器时我们经常要查看它的相关日志,但对于启动了很久的Docker容器来说打印出来的日志太多了,有这样一条命令可以让我们实时的查看日志。docker logs -f -t -n=5 docker容器编码-f 就是跟踪实时日志,-t用来显示docker日志的时间戳,-n就是显示docker容器的最后n行日志,-n=5就是显示docker容器最后5行的日志,最后加上docker容器的编码就ok了。...

2021-08-31 17:04:05 4112

原创 二叉树的深度优先和广度优先遍历方式的实现

二叉树的深度优先和广度优先遍历方式的实现二叉树是什么二叉树是一种树存储结构,只要符合以下两个条件的树就是二叉树。本身是有序树。每个节点的度不能超过2树的度指的就是节点子树,也就是说二叉树每个节点的子树不能够多于2。Java中实现二叉树的结构class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val =

2021-07-28 10:34:08 290

原创 Java集合底层原理(1)

Java集合底层原理现在面试的时候相当多的面试官喜欢询问Java中集合的底层原理,因此整理后在这里对Java中集合的底层原理进行一下简单的介绍。首先我们来看一下Java中集合的种类。Java中集合主要有两个分类,单列集合和双列集合他们分别通过实现Collection和Map接口来实现,而Collection下又是由两个接口List和Set所继承。接下来我们就分别对其中的一些在Java中的底层实现原理做一下解析。ArrayList集合的底层原理首先来看一下ArrayList集合所实现的接口有哪些

2021-07-23 16:57:55 375

原创 Java中Stack类的使用 (栈)

Java中Stack类的使用(栈)Java中的栈虽然听说也学习过,但在实际开发却很少使用,最近在Leecode上刷算法题发现有很多的问题都使用了Stack(栈)来解决,那么我们今天再来学习一下。Stack继承自Vector类实现了一个标准的先进后出特点的栈,下面是他在Java中的具体使用...

2021-07-15 16:43:32 1303

原创 MybatisPlus的简单使用,和自定义Sql语句查询的实现

MybatisPlus的简单使用,和自定义Sql语句查询的实现1.创建一个SpringBoot+Maven的项目2.引入依赖 //MyBatisPlus依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId>

2021-07-13 10:39:41 2398

原创 Java中的函数式接口

Java中的函数式接口以前遇到传函数式接口的方法都不知道该如何使用,应该怎么去处理,所以本人去网上学习了一下,大致弄清楚了该如何使用它们,结果如下。public class Test { public static void main(String[] args) { //消费式接口,接受参数但没有返回值 Consumer<String> consumer=s-> System.out.println("消费式接口"+s); co

2021-07-09 16:38:55 136

原创 SpringBoot application.properties文件分家处理

SpringBoot application.properties文件分家处理在SpringBoot项目中,我们可以在resources目录下建一个application.properties并在这里进行项目名称,端口号,数据库的地址,账号,密码,eureka和feign相关配置等等,这样一来就会使得application.properties文件变得越来越臃肿不好管理,但是我发现SpringBoot提供了分解application.properties文件的方式,接下来让我们看一下。新建一个文件,要

2021-07-09 14:18:55 403

原创 数据库查询优化

数据库查询优化面试的时候很多面试官都会询问怎么优化数据库的查询,我当时只答出了建立索引和创建数据库的三范式,那么还有其他优化查询数据库的方式吗?下面就来了解一下。合理创建索引,当使用where,group by,order by等子句时优先使用索引字段。使用宽表,减少多表join查询,比如商品信息表减少join,如果不是作为查询条件,而仅仅是为了获取某个字段,则不需要把join到另一个表中。减少join,如果不是作为查询条件,而仅仅是为了获取某个字段,则不需要把join到另一个表中。查询分区

2021-07-09 10:24:15 58

原创 Java中关于Arrays用法的一个易错点

Java中Arrays用法的一个易错点Arrays是Java提供给开放人员对数组进行操作的类,他里面有很多对数组的操作方法,如sort(),toString(),asList()等,今天要说的易错点就是asList()方法,这个方法可以将一个数组转换为List。当我们对使用保存包装类的数组进行转换时会发现没有任何问题但是如果数组保存的是基本类型的话,就会发现不正确了。如下。public class Test01 { public static void main(String[] args)

2021-07-09 09:43:31 349

原创 Java中::的用法

“::”是什么?为什么要使用它?“::”是Java 8 引入的新特性之一,常常被称作为方法引用,提供了一种不执行方法的方法。使用“::”可以进一步简化一些使用了lambda表达式的代码,让代码更加简洁。“::”的使用场景和用法“::”可以省略某些情况的lambdapublic class Test01 { public static void main(String[] args) { String[] array = {"aaaa", "bbbb", "cccc"};

2021-07-08 16:31:53 52294

原创 RocketMQ怎么保证消息不重复消费

RocketMQ怎么保证消息不重复消费RocketMQ的架构图如下:当我们使用消费方消费消息时,我们要保证消息幂等,也就是不管生产者对一次重复的消息提交多少次,我们都要确保消费者只消费一次。但在实际情况中,常常会遇到以下情况导致消费者可能对同一消息消费多次。发送消息重复,生产者发送消息到服务端后因为网络波动或客户端宕机导致服务器端并没有及时响应,生产者可能会认为自己发送消息失败,再次发起提交,这样消费者就会获得两条MessageID相同内容也完全相同的消息。投递时消息重复,消息已被消费者消费并

2021-07-08 10:24:39 2947

原创 Java中Stream流的使用方法

为什么要使用Stream流?Stream流是JDK1.8更新后带来的新特性,通过将要处理的元素视作为在管道中的流,并进行诸如筛选,排序,分组等等的处理,通过Stream流进行数据处理可以极大的提高程序员的代码编写效率,还能提高代码的简洁度。如何获取Stream流获取Stream流的方式主要有以下三种。通过Collection获取流:Java在Collection接口中提供了default方法,Collection接口的所有实现类都可以通过下面的方式获取Stream流public class

2021-07-07 14:11:59 1264

原创 如何修改Android文件管理的默认打开目录

大家都知道打开Android自带的文件管理的时候会显示一个默认目录并显示出来,那我们如果想要更改这个显示的默认目录该如何做呢?其实很简单,首先我们要知道我们想要显示文件夹的路径,先启动文件管理,再点击想要显示的文件夹最后打印运行期间的日志,可以用“DocumentStack”作为关键字来筛选,如下图所示:以下载这个文件夹为例,大括号内部的title就是文件夹的名字,@符号后的content://com.android.providers.downloads.documents/document/down

2021-06-16 18:13:52 52562 2

原创 Android 在特定APP或活动中修改或添加特定实体键功能

Android 如何在特定APP或活动中屏蔽POWER键操作

2021-04-30 16:41:47 511

空空如也

空空如也

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

TA关注的人

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