JAVA
JAVA
黄黄黄黄黄莹
这个作者很懒,什么都没留下…
展开
-
二维数组多次排序 或 嵌套list多次排序
可以排序int[ ][ ]的顺序,也可以排序List 顺序。可是该方式耗空间较大,于是又会想,能不能从直接用数组的方式,不另外构造新对象。原题中给了一个双重数组,并要求返回一个List。既然数组能用流处理,那是不是可以全部用流的形式过滤和排序呢。但是提交的结果然后是耗时耗空间。原创 2023-10-09 10:54:48 · 878 阅读 · 0 评论 -
使用Feign调用form-data的接口
当不想用restTemplate处理form-data接口时,采取以下方式:原创 2023-02-10 13:49:02 · 1726 阅读 · 0 评论 -
fastJson和jackJson的使用和区别
情况1:现在我有一个正常的序列化后的字符串(note:序列化字段均为java对象中的字段),需要将其反序列化为一个对象。情况2:当现在我有一个不正常的序列化后的字符串(note:存在序列化字段不smartMatchHashArray中。即:当现在我有一个不正常的序列化后的字符串(note:序列化字段在java对象字段中,但是大小写不一样),需要将其反序列化为一个对象。分析:jackJson不支持不存在的字段进行对象的反序列化,fastJson则会过滤掉该情况。note:序列化字段均为java对象中的字段。原创 2023-02-06 16:49:13 · 1086 阅读 · 0 评论 -
自动更新MongoDB的updateTime
1.在MongoDB的实体类定义的updateTime字段上加上@LastModifiedDate注解。2.在启动类上加@EnableMongoAuditing使MongoDB注解生效。重新调用update方法,更新完成,完美~~原创 2023-01-07 16:09:23 · 853 阅读 · 0 评论 -
Feign和restTemplate 单个接口超时拦截处理
1. Feign超时2. restTemplate超时(全局)3. restTemplate超时(指定接口,用注解实现切面拦截)原创 2022-12-22 16:30:59 · 1202 阅读 · 0 评论 -
使用feign下载文件响应流格式(java)
【代码】下载文件响应流格式。原创 2022-11-21 14:34:08 · 1572 阅读 · 0 评论 -
java 实现html页面内容
最近刚好有类似的需求,在这里记录一下(主要针对简单的文件邮件),我用的是。后续持续更新 2022.09.28。5.写入超链接 & 指定色号。4.加粗 & 指定色号。来实现的文本的拼接。原创 2022-09-28 17:11:02 · 670 阅读 · 0 评论 -
遍布星辰的晚上
1.使用JPA更新数据时,如果数据没有变化,不会执行更新代码。意味着你尽管写了更新逻辑,但是底层并不会执行update。因此数据库的版本号和更新时间不会修改。返回的是Integer类型,会被拆箱为int类型。用一个喜欢的名字定义平时开发时遇到但没有想到的知识点吧。,会被识别是int类型的基本数据类型。,可能会迷惑为啥,下面我简单描述一下。解释一下原因,因为另一个情况是。原创 2022-09-22 14:09:49 · 152 阅读 · 0 评论 -
git命令使用
1.git fetch:拉取远程所有分支到本地2.git checkout:切换分支3.git branch:列出所有分支名4.git tag:列出所有tag版本5.git push原创 2022-07-07 13:58:47 · 119 阅读 · 0 评论 -
IDEA的JAVA项目中遇到的问题
1.【报错】java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession分析:可能是忘记加上mybatis依赖和mybatis-spring解决:<dependency> <groupId>org.mybatis</groupId> <artifactId...原创 2019-07-31 10:48:45 · 3948 阅读 · 1 评论 -
Java:事务提交之后再做其他操作
不管TransactionSynchronizationManager.registerSynchronization放在代码逻辑的任何地方,都会在事物提交之后,重新创建一个线程来执行doSth()的逻辑。TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { @Override public void afterCommit() {原创 2022-04-25 21:50:37 · 2394 阅读 · 0 评论 -
ElasticSearch的java实现主要方法
以下是基于自己的项目中实际使用的java实现,版本为5.5.0@Autowiredprivate ElasticsearchOperations esTemplate;引入pom依赖<properties> <elasticsearch.version>5.5.0</elasticsearch.version> <es.rest.client>5.6.0</es.rest.client></properties>&l原创 2022-03-30 21:48:33 · 2899 阅读 · 1 评论 -
java 四舍五入保留指定小数位数 & 保留小数后,整数位为0
全文我以Double类型举例。有两种情况,a>1 和 0<a<1的情况1.假设已有待转换数据:==double a = 12.235534double a = 12.235534;//法1 四舍五入保留两位小数,可以增删小数点后0的个数来修改需要保留的小数个数DecimalFormat decimalFormat = new DecimalFormat(".00");System.out.println(".00:" + decimalFormat.format(a));/原创 2022-03-02 15:44:06 · 2001 阅读 · 2 评论 -
如何看待加锁后事务的执行情况
最近看到的一篇比较赞的文章,分享一下。侵权必删 原文链接:https://blog.csdn.net/qq_27243343/article/details/119866833 前几天在某平台看到一个技术问题,很有意思啊。 涉及到的两个技术点,大家平时开发使用的也比较多,但是属于一个小细节,深挖下去,还是有点意思的。 来,先带你看一下问题是什么,同时给你解读一下这个问题: https://segmentfault.com/q/1010000040361592 ..转载 2022-03-02 14:07:26 · 883 阅读 · 0 评论 -
SSH密钥生成
ssh-keygen -t rsa三次回车即可如果是在windows环境,直接查找打印信息中的路径,找到公钥如果是linux系统,cat ~/.ssh/id_rsa.pubwindows下:原创 2022-01-06 22:01:29 · 667 阅读 · 0 评论 -
java异步方法调用且获取返回结果
目前就只学了一种方法,看了很多,能看明白的好少,自己总结一下:导包:import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Async;import org.springframework.scheduling.annotation.AsyncResult;类1:写正常逻辑,含异步方法的调用@Autowiredprivate A原创 2021-12-23 21:48:59 · 5041 阅读 · 0 评论 -
springboot中使用redis存token,考虑过期情况
笔者场景:跨系统调用接口(A系统调用B),B系统的token有效时间7天,调用接口响应较慢(1s)。分析:A系统的调用会引发两个操作: 1. 需要携带用户信息登录B系统(因为B系统有身份鉴权,否则可以忽略) 2. 调用B系统接口/test其中,A系统的获得B系统返回结果的耗时影响较大。–> 想要缩短响应时间,使用redis存储。( 200ms+ )原理说明:使用拦截器对该接口进行拦截:实现RequestInterceptor并重写apply(RequestTemplate re原创 2021-12-23 21:11:55 · 3154 阅读 · 0 评论 -
java实现postman中用x-www-form-urlencoded参数的请求
首先,先给出postman的参数构造:java代码实现(以post方法为例):PostMethod postMethod = new PostMethod(valueConfig.getImpsAuthUrl()) ;postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") ;//参数设置,需要注意的就是里边不能传NULL,要传空字符串//key value 形式原创 2021-12-23 20:02:14 · 4263 阅读 · 0 评论 -
配置feign后报错Load balancer does not have available server for client: xxx
系统间调用报错:Load balancer does not have available server for client: xxx分析:是否配置的value和注册到eureka上的名字保持一致定位:1.打开eureka注册中心,找到相对应的项目,复制该项目名,如test2.找到代码写feign接口处@FeignClient(value = "test",configuration = {FeignRequestIntercepter.class})public interface Test原创 2021-12-22 21:46:07 · 1585 阅读 · 0 评论 -
使用entityManager.createNativeQuery更新数据库
StringBuffer sql = new StringBuffer();String value = time == null ? "null" : "\"" + sdf1.get().format(time) + "\"";sql.append("update student set update_time=now()") .append(", start_class_time").append("=").append(value) .append(" where ").appe.原创 2021-11-14 15:15:22 · 1718 阅读 · 0 评论 -
IDEA中内存分析工具—JProfiler插件的下载、安装和使用
MAT是Eclipse使用的,而IDEA可以用JProfiler实现插件的下载和安装:1.IDEA中--File--Settings--plugins,搜索JProfiler--install2.可以看到界面有一个新图标,说明插件安装成功。但是此时点击并不会直接响应(正常情况,点击后即运行程序并打开JProfiler软件)3.务必下载一个exe文件,安装的时候注意一下,有一个选择IDE界面,选择IDEA即可。JProfiler下载:https://pan.baidu.com/s.原创 2021-10-12 20:07:14 · 18569 阅读 · 2 评论 -
不同数据类型的转换 && 按属性排序
1.String转ListString str="1,2,3,4";List<String> list= StringUtils.isEmpty(str)?new ArrayList<>() :new ArrayList<>(Arrays.asList(str.split(",")));原创 2021-09-02 18:14:21 · 1788 阅读 · 0 评论 -
lambda表达式的使用
note:lambda是java1.8后新增的功能,一定要确保jdk在1.8及以上才能使用。基本语法格式(parameters) -> expression或(parameters) ->{ statements; }举例:// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. 接受2个参数(数字),并返回他们的差值 (x, y) ->原创 2021-07-14 14:08:54 · 1474 阅读 · 0 评论 -
ArrayList删除一个Student对象
ArrayList删除一个对象步骤:1.不要慌2.想想怎么获取一个对象(equals)3.想想arraylist怎么删除(remove方法)class Student{ //用于存储student对象 private String code; public String getCode(){ return code; }}ArrayList<Student> students= new ArrayList<>().原创 2021-04-17 17:54:12 · 429 阅读 · 0 评论 -
mybatis-generator.xml文件和运行步骤
快速生成POJO对象、mapper文件以及sql操作语句<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">原创 2021-02-27 16:43:05 · 2026 阅读 · 1 评论 -
HashMap集合的整理
1.首先留个位置给常用的底层源码2.方法1.map.getOrDefault(a,default)//假设map中含有一个键值对{"name","huang"}output=map.getOrDefault("name","xiaoming");此时output="huang",//假设map为空output=map.getOrDefault("name","xiaoming");此时为默认值output="xiaoming"...原创 2021-01-20 00:37:39 · 142 阅读 · 0 评论