![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 79
烤鸭的世界我们不懂
烤鸭的世界我们不懂。
展开
-
优化体验差点优化出大问题,imageio真的会用么?
ImageIO.read画的图片多出来了1KB多,搞不懂了。原创 2023-07-26 08:00:00 · 731 阅读 · 0 评论 -
易盾sdk引起项目的整体耗时问题?
大家好,我是烤鸭。今年年初的时候,项目接入易盾sdk之后,随着接口调用次数增多(用到易盾sdk的接口),项目整体性能变差。写篇文章做个复盘记录,其实同事已经写过了,我借鉴部分再拓展一些。原创 2023-01-19 08:15:00 · 1768 阅读 · 0 评论 -
上线到凌晨4点半 pagehelper的bug?
大家好,我是烤鸭: 上上周末上线到凌晨4点半,哭了,没想到问题竟然如此简单。最近又懒惰了,写了开头就一直放着了,今天终于补上。 问题日志Error querying database. Cause: com.github.pagehelper.PageException: 被分页的语句已经包含了Top,不能再通过分页插件进行分页查询!奇怪的是报错的语句并没有使用分页插件,只是一个简单的查询。原因猜想遇到问题第一时间回滚之后就好了,说明问题原创 2022-04-05 20:47:52 · 1567 阅读 · 0 评论 -
记一次线上cpu飙升100%的排查过程
大家好,我是烤鸭: 最近没怎么写技术文章,还是得回归下初心,正好前几天出现个线上问题,记录下排查过程。问题描述某个时间点,接收到接口响应慢报警。过一会收到服务器cpu可用率低(<10%)报警。去cat上查看发现younggc次数频繁。排查思路业务代码近期没改动和发版,出现问题大概率是中间件或者环境问题(服务器硬件或网络)。尝试回滚代码和扩容机器。输出堆栈日志和gc快照,调整jvm参数。排查结果中间件和网络:使用到的中间件包原创 2022-01-10 08:15:00 · 594 阅读 · 0 评论 -
FutureTask isDone 返回 false
大家好,我是烤鸭: 今天看一下 FutureTask源码。好吧,其实遇到问题了,哪里不会点哪里。伪代码package src.executor;import org.springframework.scheduling.annotation.AsyncResult;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.c原创 2021-07-07 20:15:41 · 1328 阅读 · 3 评论 -
java 调用linux 脚本并获取返回值
大家好,我是烤鸭: 今天分享下java 调用 shell脚本 并获取返回值。代码实践String cmd = "df -h";StringBuffer sb = new StringBuffer();Process process = Runtime.getRuntime().exec(cmd);BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputS原创 2021-03-25 22:59:47 · 957 阅读 · 1 评论 -
redis出现过多command 慢查询slowlog出现command命令
大家好,我是烤鸭:今天分享一个问题,一个关于redis slowlog,执行过多 command命令的问题。问题来源所有走redis 的接口tp99和平均耗时是原来的两倍不止,运维说redis 的qps也翻倍了。查了下slowlog,发现command 命令占大多数,除了两条业务请求,其他都是command。command命令返回的是当前redis所能执行的命令和对应的账号权限,也就不超过200条数据吧。(但频繁执行会增加qps,影响集群性能)这个command命令是确实..原创 2021-01-13 20:09:42 · 1534 阅读 · 0 评论 -
es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
大家好,我是烤鸭:es中几种常见的查询场景,使用java读取es的json文件进行查询。es 中文使用手册。https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html1. 从最简单的查询开始GET /_search{ "hits" : { "total" : 14, "hits" : [ { "_index": .原创 2020-08-07 18:49:19 · 2371 阅读 · 0 评论 -
从 class 文件 看 synchronize 锁膨胀过程(偏向锁 轻量级锁 自旋锁 重量级锁)
大家好,我是烤鸭: 前几天看马士兵老师的并发的课,里边讲到了 synchronize 锁的膨胀过程,今天想用代码演示一下。1. 编写代码原创 2020-06-22 09:58:49 · 441 阅读 · 0 评论 -
springboot 整合 kafka demo 顺便看一下源码
大家好,我是烤鸭: 今天分享下 springboot 整合 kafka。1. 环境参数: windows +kafka_2.11-2.3.0 +zookeeper-3.5.6 + springboot 2.3.02. 下载安装zookeeper+kafkazookeeper:https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar...原创 2020-06-02 09:18:06 · 511 阅读 · 0 评论 -
maven 关于使用 snapshot 的坑
大家好,我是烤鸭: 今天分享一下maven项目引入"快照"版依赖的问题。1. snapshot 和 realease顾名思义 就是 快照和稳定版。快照是不稳定的开发版本,不定时更新。稳定版不会有这个问题。不定时更新有什么危害。maven install 或者package 的时候,如果 pom中依赖的版本是快照版,会从私服或者中央仓库同步一下快照版本的jar包。如...原创 2020-05-01 13:13:00 · 4152 阅读 · 1 评论 -
springboot启动后卡住 无日志的几种情况
大家好,我是烤鸭: 今天分享一下springboot启动后无日志的问题。1.场景复现springboot项目启动后卡住无日志,肯定是报错了或者其他原因,并且日志没有打印出来。 1.1 说一下比较通用常见的场景。 检查一下 是否 exclude了springboot自带的日志包,放开后可能就有具体的错误原因了。 <dependency> ...原创 2020-03-28 10:20:26 · 7664 阅读 · 0 评论 -
hession调用json解析异常 com.caucho.hessian.io.HessianProtocolException: expected integer at 0x74 java.util
大家好,我是烤鸭: 采坑实录,使用hession报错 expected integer at 0x74 java.util.ArrayList。1. 报错信息如下:2020-03-18 14:27:48.057 [TID: N/A] [Apollo-RemoteConfigLongPollService-1] WARN [class:com.ctrip.framework.ap...原创 2020-03-31 06:51:45 · 3494 阅读 · 0 评论 -
The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/etc] is not valid
大家好,我是烤鸭: 下面又来踩坑实录了。主要是两个问题,第一是图片上传异常,第二是下载文件异常。其实都是在服务器上写入失败。有的人说是权限问题,但是这个一直没人动过。 由于过年放假,导致测试环境很长时间没动过。 The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/etc] is not ...原创 2020-02-16 13:20:10 · 1681 阅读 · 1 评论 -
记一次 OOM 的原因和处理 出现大量 close_wait,项目无法访问 activeMq和 poi 出现的 OOM
大家好,我是烤鸭: 记一次项目无法访问的事件和处理。由于某个模块每隔几天就会出现无法访问,目前的最简单粗暴的方法就是重启。1. 现象 项目内日志打印正常,经过dubbo的rpc服务和接口调用正常。http接口无法访问。提示nginx 502。 2. 原因猜想 通常提示502 基本是项目本身原因。但是日志一直打印正常,很奇怪。 ...原创 2019-10-29 15:59:54 · 4193 阅读 · 0 评论 -
ssh sftp 免密码 公钥登录
大家好,我是烤鸭: 今天分享的是java ssh sftp 免密码登录。 1. JAVA代码 ssh连接http://www.360doc.com/content/14/0409/16/9552892_367544139.shtmlhttps://blog.csdn.net/u013066244/article/details/70198839公钥和私钥不需要用代码...原创 2018-10-12 11:40:27 · 6452 阅读 · 0 评论 -
Java 面试题(3)—— JVM
JVM的内存结构。JVM主要结构:堆内存、栈、方法区,程序计数器,永久代)(jdk 8采用元空间替代)。堆内存又分成年轻代和年老代。年轻代由三部分组成,Eden、From Survivor 和 To Survivor,这三者默认分配的比例是8:1:1。方法区主要存储类信息、常量、静态变量等数据。栈又分为java虚拟机栈和本地方法栈,每创建一个线程对应一个java栈,每调用一个方法就...原创 2019-08-27 12:58:06 · 478 阅读 · 0 评论 -
HttpsURLConnection 返回 400
大家好,我是烤鸭: 记一次 由 HttpsURLConnection 引起的返回值400的错误。1. 场景复现 今天线上调用第三方接口的时候突然报错了。 严格来说也不是报错,就是发的请求不通了,http报400的错误。 问了下对接方,也没有改代码,我们这边也没什么大的改动。 奇了怪了。。。 这是请求原来的代码HttpsUR...原创 2019-01-19 09:51:12 · 5746 阅读 · 2 评论 -
由excel导出引起的cpu 100% 和gc 的问题
大家好,我是烤鸭: 记一次 由excel导出 导致的cpu飙升200%,jvm 内存不足。1. 场景复现 前端页面导出Excel,之前导出4,5W条数据都没什么问题的。 今天业务突然反馈说导出不了了,我试着导出了2w数据,发现页面卡住了, 没有响应了,查日志,报错如下。java.lang.IllegalStateException: Cannot c...原创 2018-12-29 14:20:11 · 4948 阅读 · 2 评论 -
redis实践的一点思路,关于支付回调
大家好,我是烤鸭:如果作为第三方支付平台,需要通知调用方付款成功。但是出现通知失败的情况,怎么处理。 支付宝的异步通知,每个订单的异步通知实行分频率发送:15s 3m 10m 30m 30m 1h 2h 6h 15h。 如果没有收到success,就会一直按上边的进行通知。 就上述的情景说一下想到的解决方案,并不一定是有效的,只是一些想法: 1. 定时...原创 2018-11-30 22:35:33 · 1211 阅读 · 2 评论 -
【objectMapper实体转换异常】 com.fasterxml.jackson.databind.exc.MismatchedInputException
大家好,我是烤鸭: 采坑实录,想把json数据直接转成对象,其中有个属性是list<T>:异常 1com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of START_OBJ...原创 2018-11-05 09:17:01 · 63501 阅读 · 1 评论 -
java 实现 常见排序算法(三)快速排序
大家好,我是烤鸭: 今天分享一下基础排序算法之快速排序。快速排序是内部排序(基于比较排序)中最好的比较算法。 1. 快速排序:原理:在要排的数(比如数组A)中选择一个中心值key(比如A[0]),通过一趟排序将数组A分成两部分,其中以key为中心,key右边都比key大,key左边的都key小,然后对这两部分分别重复这个过程,直到整个有序。 整...原创 2018-11-06 15:40:30 · 229 阅读 · 0 评论 -
java 实现 常见排序算法(四)基数排序
大家好,我是烤鸭:今天分享一下基础排序算法之基数排序。1.基数排序:原理:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort。将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到...原创 2019-08-17 07:51:26 · 227 阅读 · 0 评论 -
java 爬虫 抓取 网易云音乐
大家好,我是烤鸭: 今天和大家交流一下爬虫,抓取网易云音乐。只讨论技术,不提倡其他的。1. 找音乐源地址谷歌浏览器 F12 ,找请求类型是 Media的。 2. 找请求链接切换请求类型到 All,看 Response 包含 mp3 链接的。 3. 分析请求请求头就不说了,主要是 formData 中有两个加密参数 par...原创 2018-10-11 09:04:16 · 5450 阅读 · 4 评论 -
springboot websocket
大家好,我是烤鸭: 今天想分享一下springboot+websocket。 之前接到一个需求,需要在页面监听后台的数据(输入邮箱后,需要用户打开邮箱,页面监听用户是否点击激活邮件)。之前的实现方式,是每隔几秒发送ajax请求,根据返回值处理。 后来想试着用websocket实现一下,思路是差不多的。但是方式要简单很多。环境 springboot ...原创 2018-11-13 19:41:46 · 515 阅读 · 0 评论 -
springboot : Failed to decode downloaded font 和 OTS parsing error
大家好,我是烤鸭:采坑实录,看了很多人跟我有类似问题,但是都没解决我的问题:Failed to decode downloaded font 和 OTS parsing error:尝试了把woff文件移动到其他可以加载的静态资源文件夹下,还是无法加载。浏览器打开访问直接跳转到登录页。猜测是字体的静态资源被拦截。 解答参考这个:https://stackoverfl...原创 2018-10-24 10:19:56 · 2676 阅读 · 1 评论 -
多线程创建方式 线程池、Future和CompletableFuture
大家好,我是烤鸭: 今天说一下 多线程的几种创建方式及使用。1. Thread 和 Runnable 继承 Thread 类 和实现 Runnable 接口。 这种就不举例子了。2.线程池 现在主要有5种线程池。 //缓存线程池 ExecutorService cachedThreadPool = Executors.newCachedT...原创 2019-07-08 19:14:02 · 2016 阅读 · 0 评论 -
【Shiro】Unsatisfied dependency expressed through method 'securityManager' parameter 3
大家好,我是烤鸭: 采坑记录,springboot 整合 shiro。 环境: springboot 2.0.5.RELEASE shiro-spring 1.4.0 shiro-redis 3.1.01.问题org.springframework.beans.factory.Unsatisfie...原创 2019-04-04 19:28:58 · 10631 阅读 · 3 评论 -
springboot项目 tomcat8.x 频繁宕机 原因分析
大家好,我是烤鸭: 今天分享一次线上tomcat宕机原因。1 . 最近两次的宕机时间部分日志 1.12019-04-04 13:22:27.187 [Thread-10] INFO o.s.context.support.DefaultLifecycleProcessor - Stopping beans in phase 02019-04-04 13:22:...原创 2019-04-16 14:36:39 · 3508 阅读 · 0 评论 -
javax.mail.MessagingException: while sending message;Connection reset by peer: socket write error
大家好,我是烤鸭:阿里云邮件推送服务报错。当你也使用阿里云的邮件推送服务提示上面这个错误的话,我先告诉你原因和目前能想到的解决方案。解决思路:1. 换企业邮箱,阿里的上限15M,网易的不知道,反正30M没问题。2. 把附件上传到oss上,邮件发送oss地址,让用户自己去下载。3. 附件内容拆分,分成几个邮件发出。由于这个问题花了些时间,也记录一下过程。1 问...原创 2019-10-12 18:43:39 · 12339 阅读 · 4 评论 -
Java 面试题(4)—— 多线程
Java实现多线程有哪几种方式。implements Runnable, implements Callable,extends ThreadCallable和Future、FutureTask的了解。Callable和 Future 是juc包下的接口。Callable 可以异步执行任务,一般和 ExecutorService 的submit方法一起使用。Future 可以监听任...原创 2020-01-29 16:21:14 · 376 阅读 · 0 评论 -
Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢
大家好,我是烤鸭: 今天分享一下使用dubbo遇到的几个问题。1. cause: KeeperErrorCode = ConnectionLoss for /dubbo/ xxx异常如下:pid=9965&qos.accept.foreign.ip=false&qos.enable=true&qos.port=10887×tamp=1...原创 2019-09-12 13:10:31 · 1086 阅读 · 0 评论 -
今天分享一下做支付宝小程序遇到的坑。ISV权限不足,建议在开发者中心检查对应功能是否已经添加。验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配
大家好,我是烤鸭: 今天分享一下做支付宝小程序遇到的坑。pom版本 <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java --> <dependency> <groupId>com.alipay.sdk</gro...原创 2019-09-04 19:29:57 · 17547 阅读 · 0 评论 -
javax.script.ScriptException: ReferenceError: "xxx" is not defined in <eval>
大家好,我是烤鸭: 今天使用 javax.script.ScriptEngine 遇到一个奇怪的问题,无法识别js方法。1. 报错内容:javax.script.ScriptException: ReferenceError: "a" is not defined in <eval> at line number 1057 at jdk.nashorn.api...原创 2019-08-06 16:33:36 · 17098 阅读 · 4 评论 -
mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
大家好,我是烤鸭: 今天记录一下线上的问题,由于不是我们组的代码,所以没参与全程,只是最后有幸听各位大佬探讨解决方案。mybatis 执行插入操作,insert返回1,日志记录和接口返回都正常,但是数据库中无数据。1.场景介绍 该接口是一个从mq中消费数据的接口,每消费一条记录,数据库插入一条数据(无事务)。项目上线后,不定时会出现Mybatis日志插入成功,但是数...原创 2019-10-09 09:03:32 · 1245 阅读 · 0 评论 -
dubbo源码解析(一)
大家好,我是烤鸭: 今天和大家分享dubbo的源码解析。1.SPIhttp://dubbo.apache.org/zh-cn/docs/source_code_guide/dubbo-spi.html介绍:SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件...原创 2019-12-22 17:26:51 · 305 阅读 · 0 评论 -
lombok 的bug?lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败
大家好,我是烤鸭: lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败。 环境版本: spring 5.x1. 场景复现 问题出现在创建对象的属性名称。比如我有一个类中的属性值是 String aTest; 首字母小写,第二个字母大写。 lombok 生成的ge...原创 2019-06-14 16:19:51 · 3199 阅读 · 0 评论 -
springboot 闪退。falling back to default profiles: default StandardService - Stopping service [Tomcat]
大家好,我是烤鸭: 今天分享一个springboot 闪退的问题。确切得说是没有起来。环境: springboot 版本 2.1.0.RELEASE异常:2019-05-25 19:39:00.822 ==> [main] ==> INFO com.cgmanage.migrate.MigrateApplication - Starti...原创 2019-05-28 09:13:13 · 730 阅读 · 0 评论 -
【dubbo】http.conn.HttpHostConnectException.host: 'org.apache.http.HttpHost' could not be instantiated
大家好,我是烤鸭: dubbo遇到如下问题。1. 异常详细信息: 某个异常对象无法实例化。com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote method: updateCardBycustomerNum, provider: dubbo://20.x.xx.48:20883/com.etc....原创 2019-06-26 10:20:23 · 2909 阅读 · 4 评论 -
springboot 多数据源 读写分离 AOP方式
大家好,我是烤鸭: 今天分享springboot读写分离配置。 环境: springboot 2.1.0.RELEASE 场景说明,目前的需求是 读数据源 * 2 + 写数据源 * 11. 配置文件 application.ymlserver: port: 8085...原创 2019-04-30 13:26:04 · 1349 阅读 · 0 评论