
Java开发问题汇总
Java开发问题汇总
地平线上的新曙光
凡有的,还要加倍给他使他多余;没有的,要把他剩下的也夺走。
展开
-
动态创建xxl-job任务
动态创建xxl-job原创 2022-10-17 17:12:52 · 6898 阅读 · 2 评论 -
MyqlSql复杂排序 针对同一个字段根据不同条件分别做正序和倒序
mysql 单字段多排序原创 2022-08-31 14:38:40 · 1007 阅读 · 0 评论 -
Java List.sort()的使用 和Comparator转换器的实现原理
Java List.sort()的使用 和Comparator转换器的实现原理原创 2022-08-18 16:37:03 · 1873 阅读 · 0 评论 -
EasyExcel实现复杂导入 适用于导入1对N类型数据如组合商品,订单和订单明细等等
EasyExcel复杂导入原创 2022-08-10 10:55:48 · 2524 阅读 · 0 评论 -
idea 集成git后一些场景的使用方法
idea git使用简略原创 2022-08-08 14:46:39 · 685 阅读 · 0 评论 -
Java 1.8新特性 Optional的使用
1.使用Optional的目的是为了解决java代码运行过程中的空指针问题,以前在代码中为了判断空指针往往使用if(null!=XXXX)等方式来实现,对于一个嵌套对象来说,要重复的使用这种方法,最后写出不美观又冗余的代码.orElse()方法允许我们在获取的对象为空值时为我们返回一个自定义的对象.使用orElseGet()获取Option的值。使用ifPresent()获取Option的值。对于嵌套的对象来说一般的获取对象值的方法为。使用orElse()获取Option的值。......原创 2022-07-18 15:00:17 · 704 阅读 · 0 评论 -
MySql 随机获取符合条件的数据
MySql随机获取符合条件的数据原创 2022-06-29 11:21:22 · 1096 阅读 · 0 评论 -
SpringBoot项目运行初始化数据以及利用redis来实现延迟队列
SpringBoot项目运行初始化数据以及利用redis来实现延迟队列原创 2022-06-23 17:40:45 · 1072 阅读 · 0 评论 -
生成固定前缀固定长度的不重复字符串使用方法(可用于生成电商系统中的订单号,出库单号等等)
Java生成固定前缀固定长度的不重复字符串使用方法(可用于生成电商系统中的订单号,出库单号等等)原创 2022-06-21 17:16:13 · 399 阅读 · 0 评论 -
Nginx内网穿透映射多地址设置
nginx内网穿透原创 2022-06-21 11:19:32 · 1517 阅读 · 0 评论 -
二进制常用运算方式和基本概念
二进制常用运算方式和基本概念原创 2022-06-14 14:17:13 · 9043 阅读 · 0 评论 -
Java 获取多线程返回值的几种方式
Java获取多线程返回值的几种方式原创 2022-06-13 15:19:41 · 9627 阅读 · 0 评论 -
将任意长度的字符串压缩为指定长度的数字字符串的方式
最近在开发中遇到了一个需求,要求打印一个单据,并且需要有一个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 · 2521 阅读 · 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 · 915 阅读 · 0 评论 -
Java利用 URLConnection发起Post请求并携带参数的方法
现在涉及到第三方对接方面功能时很多第三方平台为了安全使用的都是https请求,传统的发起http请求的方法就不再适用了,但使用原生的URLConnection方法来进行调用效果确是非常不错的,接下来就来介绍一下它的使用方法。 String url = "https://xxx-你的请求地址"; URL serverUrl = new URL(url); HttpURLConnection conn = (Http原创 2022-02-10 14:48:19 · 11998 阅读 · 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 · 4403 阅读 · 0 评论 -
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 · 8088 阅读 · 3 评论 -
Java 事务监听的使用
Spring 提供了事务同步管理器让我们能监听Spring的事务操作,TransactionSynchronizationManager.isSynchronizationActive()这个可以获取到当前是否存在事务,TransactionSynchronizationManager.registerSynchronization()这是注册一个监听器,需要传入一个对象TransactionSynchronization他有两个方法@Override pub原创 2022-01-05 18:06:56 · 769 阅读 · 0 评论 -
POST定时自动请求接口方法
如果我们需要定时的请求某一个接口,可以使用postMan来实现。第一步创建一个Collection第二步创建一个request第三步写接口其中不定的参数要用{{XX}}的方式来代替第四步准备好参数,如注意文件后缀名需要是csv第五步第六步左边选择接口,右边选择刚刚弄好的文件,加粗箭头的地方是延迟,单位是毫秒...原创 2021-12-31 09:17:16 · 6353 阅读 · 0 评论 -
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 · 9448 阅读 · 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 · 1774 阅读 · 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 · 2307 阅读 · 1 评论 -
Java系统对接时导入具有父子结点关系的树状数据
系统对接时导入具有父子结点关系的树状数据做项目时,大部分情况都会遇到新老系统数据同步的问题,最近做的一个项目需要导入集团下的行政组织数据,其实就是集团下的各个子公司和行政部门,它再转入时提供的实体属性如下: //组织ID private String OBJID; //组织名称 private String ORGTX; //上级ID private String OBJIDUP;非常简单,但是新系统这边存储时要求该节点的父节点必须存在,所以就要求我这边组装好原创 2021-09-30 09:40:58 · 502 阅读 · 0 评论 -
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 · 4138 阅读 · 0 评论 -
二叉树的深度优先和广度优先遍历方式的实现
二叉树的深度优先和广度优先遍历方式的实现二叉树是什么二叉树是一种树存储结构,只要符合以下两个条件的树就是二叉树。本身是有序树。每个节点的度不能超过2树的度指的就是节点子树,也就是说二叉树每个节点的子树不能够多于2。Java中实现二叉树的结构class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val =原创 2021-07-28 10:34:08 · 312 阅读 · 0 评论 -
Java集合底层原理(1)
Java集合底层原理现在面试的时候相当多的面试官喜欢询问Java中集合的底层原理,因此整理后在这里对Java中集合的底层原理进行一下简单的介绍。首先我们来看一下Java中集合的种类。Java中集合主要有两个分类,单列集合和双列集合他们分别通过实现Collection和Map接口来实现,而Collection下又是由两个接口List和Set所继承。接下来我们就分别对其中的一些在Java中的底层实现原理做一下解析。ArrayList集合的底层原理首先来看一下ArrayList集合所实现的接口有哪些原创 2021-07-23 16:57:55 · 388 阅读 · 0 评论 -
Java中Stack类的使用 (栈)
Java中Stack类的使用(栈)Java中的栈虽然听说也学习过,但在实际开发却很少使用,最近在Leecode上刷算法题发现有很多的问题都使用了Stack(栈)来解决,那么我们今天再来学习一下。Stack继承自Vector类实现了一个标准的先进后出特点的栈,下面是他在Java中的具体使用...原创 2021-07-15 16:43:32 · 1326 阅读 · 0 评论 -
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 · 2434 阅读 · 0 评论 -
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 · 145 阅读 · 0 评论 -
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 · 375 阅读 · 0 评论 -
Java中::的用法
“::”是什么?为什么要使用它?“::”是Java 8 引入的新特性之一,常常被称作为方法引用,提供了一种不执行方法的方法。使用“::”可以进一步简化一些使用了lambda表达式的代码,让代码更加简洁。“::”的使用场景和用法“::”可以省略某些情况的lambdapublic class Test01 { public static void main(String[] args) { String[] array = {"aaaa", "bbbb", "cccc"};原创 2021-07-08 16:31:53 · 52724 阅读 · 0 评论 -
Java中Stream流的使用方法
为什么要使用Stream流?Stream流是JDK1.8更新后带来的新特性,通过将要处理的元素视作为在管道中的流,并进行诸如筛选,排序,分组等等的处理,通过Stream流进行数据处理可以极大的提高程序员的代码编写效率,还能提高代码的简洁度。如何获取Stream流获取Stream流的方式主要有以下三种。通过Collection获取流:Java在Collection接口中提供了default方法,Collection接口的所有实现类都可以通过下面的方式获取Stream流public class原创 2021-07-07 14:11:59 · 1293 阅读 · 0 评论 -
SpringBoot application.properties文件分家处理
SpringBoot application.properties文件分家处理在SpringBoot项目中,我们可以在resources目录下建一个application.properties并在这里进行项目名称,端口号,数据库的地址,账号,密码,eureka和feign相关配置等等,这样一来就会使得application.properties文件变得越来越臃肿不好管理,但是我发现SpringBoot提供了分解application.properties文件的方式,接下来让我们看一下。新建一个文件,要原创 2021-07-09 14:18:55 · 424 阅读 · 0 评论