日常工作问题
weixin_45614626
这个作者很懒,什么都没留下…
展开
-
java kotlin混合变成java编译提示找不到符号
java编译提示找不到符号原创 2024-03-08 11:01:50 · 587 阅读 · 0 评论 -
java.lang.IllegalAccessError: class lombok.class lombok.javac.apt.LombokProcessor报错解决
项目lombok版本是其他依赖里边指定的,我没有办法更改(也可以exclude他们的lombok版本我再显示引用高版本的,但是这样一是太麻烦,二是不知道高版本是否向下兼容容易出问题),所以我检查了自己的IDEA中的project Structure,但是我发现配置的都是1.8版本,理论上1.8之上版本才会有这个问题,百思不得其解。后来看到有的博客说,maven编译的时候使用的jdk版本是环境变量中的jdk版本,赶紧去终端中执行命令。解决方法就是在mac的系统变量中手动降级jdk的版本。,结果显示是17.。原创 2024-03-01 21:32:43 · 2148 阅读 · 0 评论 -
记第二次线上问题排查过程
线上问题排查原创 2023-09-15 10:28:38 · 231 阅读 · 0 评论 -
关于java三元组的问题
三元组中的空指针异常原创 2023-08-24 13:20:28 · 263 阅读 · 0 评论 -
java后端接口实现302跳转
java后端实现302跳转原创 2023-07-26 18:10:19 · 2103 阅读 · 0 评论 -
记录两次问题排查过程
解决问题的记录原创 2023-07-12 14:47:04 · 597 阅读 · 0 评论 -
关于原生feign发起请求时,参数注解的相关问题
feign请求时传参需要怎么使用注解原创 2023-05-26 17:09:28 · 1144 阅读 · 0 评论 -
服务pod中下载大文件
容器服务中的大文件绕过运维帮助的下载方法原创 2023-04-14 13:32:16 · 286 阅读 · 0 评论 -
记一次内存泄漏问题的排查
内存泄漏的排查记录原创 2023-04-13 15:29:59 · 996 阅读 · 0 评论 -
java项目里配置feign,两种使用方式
java中使用feign原创 2023-03-31 11:36:30 · 568 阅读 · 0 评论 -
protobuf和pojo bean之间的属性复制
protobuf和bean属性复制的方法原创 2023-03-07 17:27:19 · 222 阅读 · 0 评论 -
子类继承时的@Data使用
lombok中@Data注解相关问题原创 2023-02-20 18:33:04 · 1237 阅读 · 0 评论 -
springBoot配置多个线程池
java配置多个线程池原创 2023-01-16 13:17:20 · 1487 阅读 · 0 评论 -
Druid平行替换为Hikari
hikari替换druid原创 2022-12-29 14:58:11 · 1894 阅读 · 0 评论 -
Druid关闭监控页面关闭不了
druid关闭监控页面关不掉原创 2022-12-29 14:47:05 · 3684 阅读 · 0 评论 -
DataGrip中mongodb的操作语句命令
mongodb的语法书写原创 2022-12-26 11:22:10 · 1041 阅读 · 0 评论 -
Dubbo 2.7.X版本升级后的问题
dubbo升级版本后出现的问题原创 2022-12-19 15:12:01 · 889 阅读 · 0 评论 -
GET请求中传参List<String>的一些问题
GET请求传参是List时候的问题原创 2022-11-04 10:35:23 · 1986 阅读 · 0 评论 -
feign配置hystrix,增加熔断降级,两种情况的不同配置
对于feign的两种调用方式,配置hystrix的方法原创 2022-09-29 17:51:54 · 1631 阅读 · 0 评论 -
多线程如何使用MDC传递上下文信息
多线程如何实现上下文信息传递原创 2022-09-01 15:03:07 · 1099 阅读 · 0 评论 -
关于IDEA文件TEST运行时在本地输出文件过大的问题
删除C盘中IDEA TEST代码输出文件原创 2022-08-30 15:07:40 · 681 阅读 · 0 评论 -
map中的getOrDefault
代码写的太快太习惯容易踩一些小坑原创 2022-08-12 10:34:36 · 144 阅读 · 0 评论 -
feign发起POST请求application/x-www-form-urlencoded
关于feign发起post请求且参数类型为application/x-www-form-urlencoded原创 2022-07-07 14:42:41 · 4273 阅读 · 0 评论 -
java面试之基础问题
java面试问题基础知识原创 2022-07-01 15:15:01 · 86 阅读 · 0 评论 -
关于Spring中BeanUtils.copyProperties的注意事项
BeanUtils相关方法复制时候的几种情况如果是拷贝的引用,那么两次输出的应该不一样,但是结果是两次输出都一样。这种情况和我遇到的bug不太一样,我就又试了如果是子对象的情况。此时,神奇的事情来了,如果赋值的两个类的属性名一样,但是种类不同,他还是会把source的种类复制到target上。看一下调试结果:明明T2这个类的values属性应该是List,但是现在却变成了List!!!再玩的花一点,把T2的属性改为其它类,T1的.........原创 2022-06-13 13:45:43 · 793 阅读 · 0 评论 -
关于kafka中一个consumer消费多个partition时消息拉取的问题
今天思考的时候突然想到一个问题。正常情况下,我们都知道一个partition只能被同一个消费组中的一个consumer消费,而且实际场景中,一般我们都是consumer多于partition或者等于partition,也就是,一个consumer只会从一个partition里pull消息。但是如果consumer比partition数量要少时,一个consumer就会对应多个partition,这个时候它会怎么拉消息呢?你的配置文件max.poll.records到底是从一个partition拉取的消息最原创 2022-05-18 18:58:56 · 5218 阅读 · 0 评论 -
关于java中controller层接收http请求参数的问题
看代码的时候发现了个奇怪的写法,post请求没有用注解接收参数,但是运行成功。自己试了一下:@RestController@Slf4j@RequestMapping("/test")public class TestController { @PostMapping("/t1") public R<?> test(String eva,String ava){ System.out.println(eva); System.out.pri原创 2022-05-18 17:58:53 · 818 阅读 · 0 评论 -
MySQL中自增更新某一列会有线程安全问题嘛?
同事突然问了一个这样的问题,自己写在代码里的更新语句update virtual_assets set amount = amount +1 where user_id='test';先说结论:没有线程安全问题。脑子突然想不明白,猜测可能不存在线程安全问题.还是自己实践一下最保险。@Update({"update virtual_assets", "set amount = amount + 1", "where user_id=#{userId}"原创 2022-05-17 17:43:31 · 975 阅读 · 0 评论 -
父子线程都放在一个线程池会有什么问题
记得之前面试的时候被问到一个问题,如果把父线程和子线程都放在同一个线程池会有什么问题?这个问题没百度到,今天就自己试了试,记录一下。1.父线程是在线程池提交执行,子线程是通过new Thread创建,这样其实子线程是不会占用线程池的线程数量的,所以对线程池无影响。import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;/** * Created by liu shuangzeng on 2017原创 2022-05-04 19:11:19 · 1288 阅读 · 0 评论 -
关于spring异步的一些问题
1.对于异步线程操作,其实spring中已经封装好了一个注解,@Async,如果需要自己配置线程池的参数,只需要单独覆写AsyncConfig配置文件即可。但是对于这个注解的使用有一点需要注意,必须把异步方法放在一个单独的service里边,如果在同一个文件中进行调用,该注解是不起作用的。另外还需要在启动类上加@EnableAsync注解。@Async2.还有一种传统的方式是自定义线程池,使用new Thread来创建异步线程,或者使用CompletableFuture来执行。但是这两个有个很大的区原创 2022-04-28 14:23:00 · 2489 阅读 · 0 评论 -
GET请求传参对象的list
之前试过get请求传参是数组,但是试的都是基本类型,现在需求要是自定义的对象,怕写的不对,就提前自测了一下。调用方代码:@Resource private TestClient testClient; @Test public void apiTest(){ List<UserVO> list= new ArrayList<>(); UserVO t = new UserVO(); t.setBizId(10原创 2022-04-24 17:40:05 · 9394 阅读 · 0 评论 -
本地上传dubbo的jar包到远程仓库
好记性不如烂笔头,好久没写dubbo的接口了,都快忘记怎么打包上传了,记录一下,IDEA配合Maven来实现这个操作。①IDEA中执行命令清空编译信息,mvn clean看到build success信息就表示命令执行成功。②进行本地编译操作,执行如下命令mvn compile -Dmaven.test.skip=true同理看到build success标识命令执行成功。③进行打包操作,执行如下命令:mvn package -Dmaven.test.skip=true成功标志同上原创 2022-04-20 09:53:27 · 450 阅读 · 0 评论 -
feign请求拦截器中读取配置文件的问题
码代码的时候遇到个问题,去请求某个服务方的时候,需要在header里放签名进行校验,签名是通过SHA256算法生成的。sig的值和密钥及key有关,不同环境这些配置又不一样,所以就想到,把key和secret放在不同环境的配置文件中,这样直接去读就行。拦截器的写法:@Component@Slf4jpublic class LabelInterceptor implements RequestInterceptor { @Value("${key}") private String K原创 2022-04-18 10:09:45 · 735 阅读 · 0 评论 -
feign中在路径中动态拼接参数
有时候我们会遇到在路径中拼接参数的情况,如果是原生http的话我们自己拼接url字符串时候进行替换就可以了,但是feign调用的时候就不会了,于是我就研究了一下。feign调用分为两种情况,1.我经常使用的注解是@RequestLine,即通过工厂类来生成feignclient,然后需要重写feignBuilder,此时想要替换,只能搭配@Param注解,具体如下:public interface ArticleClient { /** * @param articleId原创 2022-03-28 15:04:02 · 3112 阅读 · 0 评论 -
java打印请求参数日志
之前写过一篇博客,是通过拦截器的方式对所有http请求进行日志打印,但是这有一个严重的问题,那就是body数据只能从流里取出来一次,虽然通过复制的方式解决了这个问题,却又引入新的问题。项目进行流读取及流复制的操作是一件非常消耗CPU资源的一件事,当并发数不高的时候服务会很正常,但是并发数高起来之后就需要更多的CPU核数来支持服务运行。正因为上述考虑,随后将日志从拦截器中改为了aop,这样就不存在多次读取流的问题,本质上切面拿的是controller层方法入参,跟servlet就无关了。具体代码如下:@原创 2022-03-24 17:24:16 · 4438 阅读 · 0 评论 -
feign发起请求传参的坑
今天写feign调用的时候发现个问题,本来写法是这样的public interface TestClient { @RequestLine("GET /test/param") JSONObject getTest(@RequestParam("param") List<String> params);}这是我习惯的写法,专门有个feign工厂类来生成对应的feignclient,@Configurationpublic class TestFactory {原创 2022-03-23 16:39:28 · 515 阅读 · 0 评论 -
git相关操作
1.今天遇到的,git提交时写错了描述信息,需要重新修改,修改描述2.但是我只醒了1之后带出了第二个问题,我本来在1步骤中提交的是部分修改代码,修改描述之后莫名的多了一部分提交,所以我需要回退,首先执行git log命令查看你要回退的版本号,之后执行git reset --soft 版本号,此时你本地已经回退到了你指定的版本,同时你得修改也保留在本地,这时继续本地commit你想要的部分,最后使用git push -f强制推到远程即可...原创 2022-03-22 10:29:17 · 113 阅读 · 0 评论 -
dubbo filter中有关bean注入和配置文件读取的问题
今天在写dubbo的filter时候,需要注入bean和读取配置文件,然后理所当然的就像springboot其他地方的写法一样,直接用了@Resource和@Value注解。但是本地调试的时候,发现报错,注入的bean和读取的配置变量全部为null,很是不解,于是就上网查了以下资料。首先,dubbo的拦截器这些组件是由dubbo自己管理的,并不是直接由spring管理的,因此spring的那些注入注解在dubbo里统统不能用。如果想用可以采取以下代码: private Environment envi原创 2022-03-10 14:50:07 · 3358 阅读 · 0 评论 -
java如何在拦截器中取出post请求参数
get请求参数很好取出,但是对于post请求body里边的参数,因为是从流里边取,而这个流又只能取出来一次,如果你再拦截器里取出打印,后边的controller接口就无法在接受到请求参数,因此,你只能取出数据的同时,复制一份再放回去。具体代码如下:public class NewHttpRequestWrapper extends HttpServletRequestWrapper { private final String body; public NewHttpRequestWr原创 2022-03-01 15:04:33 · 4384 阅读 · 0 评论 -
记一次feign拦截器报错404NOT FOUND问题排查
因为链路追踪需要将前端请求中的header参数统一转发至下游服务。对下游服务http接口的调用我使用的是feign,因此我采用了统一加拦截器配置的做法,写了一个拦截器。具体见feign拦截器但同时我也需要将请求的参数打印出来,这里牵扯到另一个问题,post的body参数是从流里边取出的,但是这个流只能取一次,所以我又重写了一个方法,来复制流中的数据。这时候出现了诡异的事情,本地运行完全没问题,一上测试就出问题。容器里边的报错信息是404 NOT FOUND,这个第一想法是路径有问题,可是本地调用完全没原创 2022-03-01 14:55:30 · 2724 阅读 · 2 评论