自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kevin的博客

新年新气象!

  • 博客(46)
  • 资源 (5)
  • 收藏
  • 关注

原创 群晖nas synology DSM 7.2设置钉钉Webhooks通知,发送钉钉消息

注意这里的access_token=XXX,要把XXX替换为你的机器人的access_token(前面我们已经获取到复制出来了哈)在通知方式页面中,点击“新增”按钮,弹框中,提供商下拉选一下”自定义“,规则大家按需选择我这里选ALL。提供商名称:可以是任何你想要的名称,用于标识这个自定义通知方式。HTTP主休,把下面的json复制进去,记得把atMobiles的值换成真实的手机号。登录钉钉的PC端,到群设置-机器人里复制Webhook地址备用。在控制面板页面中,点击“通知”选项。

2023-10-18 14:04:17 3590 4

原创 基于springboot做了一个策略模式的demo(开箱即用)

使用springboot做了一个策略模式的demo下载工程GitHub - kevinmails/sprintboot-strategy-pattern-demo at masterContribute to kevinmails/sprintboot-strategy-pattern-demo development by creating an account on GitHub.https://github.com/kevinmails/sprintboot-strategy-pattern-de

2021-12-15 09:25:38 560

原创 我去dubbo线程池又被打爆(打满)了java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED

最近线上系统经常告警dubbo线程池打满报错如下:172.28.152.53/Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-172.28.149.131:20880, Pool Size: 500 (active: 500, core: 500, max: 500, largest: 500), Task: 7179

2021-12-07 13:04:35 1562 1

原创 金融电商支付类工程项目下的三方,二方接口开发设计指南(拒绝踩坑)

以下指南,都是作为过来人,曾经踩过或者了解到身边的同事真实踩过的坑,希望对一些即将步入金融金融电商支付等相关行业,和刚刚踏入关行业的兄弟一些启示和帮助!1.金融系统对金额的处理用bigdecimal,并指定小数位对于有一些有金融相关经验的人会知道,在进行金额处理时,尽量不要用double,float 因为会精度丢失,可能导致计算错误,应该用bigdecimal,但这依然不能阻止你踩坑,因为...

2019-04-09 18:49:17 883

原创 Maven依赖分析,jar包冲突解决利器intellij idea插件Maven Helper强烈建议安装

还在为解决jar包依赖冲突痛苦??? 那就好好看看下面的文章吧!目前大多公司的java项目都以Maven项目为主,最近也通过Maven Helper解决了一些生产问题,在这里分享一下安装和基本使用方法!安装方法: File-Settings-Plugins点击“Browse repositories” 在弹出搜索框输入"maven helper" 点击“Install”,安装完成后...

2018-12-29 18:33:24 36035 1

原创 查看oracle ojdbc所支持的JDBC驱动版本

其实上文中对ojdbc所支持的JDBC驱动版本已经有说明了,不过,因为oracle的驱动包很多时间,都是在公司内部私服里上传维护的,上传的时候,可以又没有写清楚是版本,导致我们搞不清jdbc版本,这里教大家快速查看ojdbc所支持的JDBC驱动版本。这个时候注意,你本地安装的jdk版本,ojdbc11.jar 是基于jdk11编译的,就是说你本地安装的jdk版本至少要是jdk11。我们到根据jar包的坐标,本地仓库找到jar文件,执行 java -jar 就可以很清楚的看到所支持的JDBC驱动版本。

2024-07-09 14:55:57 795

原创 简单使用Linux printf 将十进制转换为十六进制

在开发和排查问题过程中,有时我们需要做一些进制的转换,以下是一些快速的小技巧

2024-04-09 20:23:00 386

原创 Linux/mac 查看端口占用进程

最终发现是查询权限不够,因为登陆的是普通用户,所以不是当前用户下的进程查询不到,而占用端口的进程是root用户启动的,所以一直查不到,重新执行以下,返回了端口占用进程。大家以后注意,如果要查所有用户的端口情况,可以使用sodo切到root权限,或者切到root用户等权限比较大的用户。但是查不到端口,结果为空,telnet 127.0.0.1 50051又是通的,找了几天也没找到端口被占情况。就用lsof命令查看了一下商品占情况。

2023-03-22 19:47:40 344 1

原创 shell脚本批量执行ping和telnet测试网络

当我们在本地经常需要执行一组ping网络测试时,就可以通过shell脚本帮我们完成。

2023-03-14 13:00:13 2846

原创 java List元素删除的正确姿势

java List元素删除的正确方式,一行代码搞定。

2022-05-20 23:09:04 6576

原创 java sftp下载文件报错 Caused by: com.jcraft.jsch.JSchException: session is down

最近线上有一个下载文件的报错:Caused by: com.jcraft.jsch.JSchException: session is down业务场景是我们使用jsch连接到三方提供的一个sftp服务器,每日定时下载所需的文件。 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <versi

2021-07-05 18:17:18 4668

原创 通过python 批量导出wind系统中的基金日万份和七日年化

最近项目上有需求要导出wind系统中的数据,写了个python 脚本批量导出, 脚本如下:from WindPy import wimport pandas as pd"""wind路径:量化-API接口-代码生成器(GC) 生成python代码批量导出货币基金的日万份和七日年化"""w.start()print("是否已连接wind:", w.isconnected())fund_str = "000009.OF,000010.OF"fund_arr = fund_str

2021-01-25 18:47:41 2730

原创 当kafka分区不能再增加的情况下,使用多线程提升kafka消费能力(附源码)

正常情况下,kafka的消费线程数据是分区(patition)一对一,单个patition是kafka并行操作的最小单元,kafka只允许单个partition的数据被一个consumer线程消费,例如我们做20个分区,实际上就对应着20个消费线程,当我们做一些活动的时候,就会有发生消息量猛增,而我们的消费线程有限,处理消息的能力有可能跟不上,导致大量的消息堆积处理不完。这时我们可能就需求要优化,加大处理能力,多数人可能会想到增加分区,分区是可以增加,但是不可能一直无限向上增加,我们这里参用...

2020-09-24 14:44:51 3425

原创 访问20W了

访问20W了,没有花哨的东西,希望文章真的帮助到了你!

2020-07-14 08:27:57 194

原创 java8 ThreadLocalRandom获取一个区间内的随机数,很实用

在java里,要取一个随机数方法也有很多,例如Math类,Random类,ThreadLocalRandom类,SecureRandom类,今天借用ThreadLocalRandom类使用java8的语法,,写一个获取区间内的随机数的工具类。大家要注意ThreadLocalRandom类生成的随机数是一个“伪随机数”,是可以被破译的,这种方式仅限于一些对随机数要求不高的场景,ThreadLocalRandom多线程环境下推荐使用,更为高效,用来补充(取代Random)另外随机数生成...

2020-06-29 11:46:13 2281

原创 Connection is not available, request timed out after 5000ms.总算解决了

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: XXPool - Connection is not available, request timed out after 5000ms.

2020-05-16 00:20:17 32518 14

原创 努力吧,不用考虑结果

你只管努力,不用考虑,计算回报,相信我,上帝一定不会辜负一个努力的人!

2020-05-11 13:01:23 356

原创 应用频繁的发生FULLGC怎么办,如何排查?

FULLGC的发生在应用里经常会有,怎么才算的上是频繁?我个人理解如果每天发生2次以上应该就算的上是频繁,FULLGC发生也会为我们的应用带来一些问题,比如会发生gc stw(stop the world),会停止所有的工作线程,如果gc时间很长的话,有些带有心跳的应用软件,会认为应用不在存活,做出一些错误的处理等。 这里给大家分享一下,FULLGC的一个协查的思...

2019-12-12 10:34:38 5036

原创 CSDN访问10w+记录一下

今天文章的访问达到了10w+,很是兴奋,从来没有想过,因为本身自己也不擅长写文章,还担心写的内容会误人子弟(如果文章有问题希望刷到的同学提出,多多指正)。 不太喜欢重复的东西,网上一搜,除了作者不一样,别的都一样,我只会写工作中遇到的问题,解决办法,解决思路以及工作中的一些总结,让还未踩到坑的同学避免踩坑。 更要感谢csdn这个知识共享平台!我在...

2019-11-26 18:12:26 597

原创 Linux awk命令原来可以干那么多事

这里假设读者还是有点Linux 基础(敲过一些linux 命令).haha...awk是一个强大的文本分析工具,生产中,我们也会经常用到,这里我就列举一下作为开发人员,常用的一些操作开发人员在开发过程中,其实很要在Linux环境下操作,更多的是上线后的一些分析协查,就比如我们经常会分析程序导出,下载的一些文件有没有问题,本文也是基于这么一个场景,列举一些常用操作举例中用到的文件我上传...

2019-08-30 14:26:32 719

原创 一次线程java.lang.OutOfMemoryError(OOM)协查后的思考

上周一同事找我协查一个线上OOM的问题,协查的过程这里就不讲了,跟我之前协过的一个OOM过程其实差不多,之前的协查参看这篇:通过mybatis源码,分析一次由mybatis使用不当导致的OutOfMemoryError的协查今天主要讲一下结果和对结果做一下总结:这次的OOM的发生主要由于,一个不常用的查询功能,做的全表查询,因为数据量太大,导致的堆内存溢出先来看一sql(列了一个相近的...

2019-08-19 13:12:12 377 2

原创 Linux(基于Ubuntu)下Docker容器的安装

Docker容器就不介绍了,今天主要是安装,安装,安装!咱们今天主要是基于官方的Guide来完成一次安装,参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ceDocker主有两个版本,Docker Community Edition (CE),Docker Enterprise...

2019-07-09 17:50:50 1169 1

原创 无意间发现我的一台云服用器中了矿机xmrig的毒,再续!!

接上无意间发现我的一台云服用器中了矿机xmrig的毒,续!!今天主要是跟大家同步一下昨天处理的结果,哈哈!截止到我发稿,没有看到矿机再运行!!!再分享一个禁用root 远程登录的方法(用其它用户su过去):$ sudo vi /etc/ssh/sshd_configFind PermitRootLogin and set to no:PermitRootLogin no...

2019-06-14 12:58:50 7241 12

原创 三方支付接口之异步代扣接口的正确开发方法(线上填坑的总结)

前几天的新坑,还热乎着呢,赶紧拿来给大家分享一下.我相信不认真看我的文章,你如果做这个功能,会有99%的挖坑的可能,哈哈!声明:我这里都是用一些简单流程,简单表等做一个设想,实际业务场景会比举例复杂很多!先列几个名词:表 t_order_pay 有个支付状态pay_state 有这么几个值I:init初始状态U:unknown 未知(处理中)状态S:success 成功...

2019-06-14 11:46:59 650

原创 无意间发现我的一台云服用器中了矿机xmrig的毒,续!!

接上 无意间发现我的一台云服用器中了矿机xmrig的毒,哎!!上次没根除接着来!看一下是不是设置了定时任务:这里要注意一下,我一开始 crontab的时候没有指定用户(我是用ubuntu用户登陆的),没有看到这个任务,以为没有问题,不指定用户列出的是当前用户的任务,编辑也是同样如此.果然,去下载了一脚本执行!打开看看就是你了! 这段脚本也比较简单好理解大概意思:清清本地...

2019-06-13 10:06:32 13407 6

原创 无意间发现我的一台云服用器中了矿机xmrig的毒,哎!!

矿机自己平时用来做测试的一台机器,所以也没做什么防护,今天上去无意见看到有一个xmrig进程cpu 99%,Xmrig是啥?原来是矿机,还用的root干的,我花的银子买的机器,天天给人挖矿, 好不爽啊!!!看一下在哪里/proc/27336/exe都跑一个月了。。。。kill -9 27336 先灭了再说!吓得我赶紧修改root密码还没...

2019-06-11 20:18:59 33580 5

原创 oracle sql in 超过1000个参数报错(ORA-01795: 列表中的最大表达式数为 1000)解决办法之一

在oracle数据库中,sql使用in时,如果in的能数超过1000就会报出"ORA-01795:列表中的最大表达式数为1000/ORA-01795: maximum number of expressions in a list is 1000"的错误,这个也是生产中大家常踩的坑之一! 在测试环境下,因为数据量小,测试时用例没有覆盖到。有些场景,大家在评估的时...

2019-04-25 12:30:40 11029 4

原创 java微基准测试JMH引入报错RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList

在我引用JMH后,运行的时候报了一个如下的错误:/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=61638:/Applications/IntelliJ IDE...

2019-04-01 11:16:11 4741 1

原创 使用java8的java.util.Base64报“java.lang.IllegalArgumentException: Illegal base64 character d”的问题

参考原创:https://blog.csdn.net/java_4_ever/article/details/80978089这里要再次感谢一下原创,本人也找到了解决问题的办法,只是没搞明白原因是什么,学习上面的文章才得以明白。是生产的上线后发现的问题:java.lang.IllegalArgumentException: Illegal base64 character d ...

2019-02-22 15:26:33 71010 10

原创 java8中获取两个时间的时间差

工作中我们经常会想查看一个方法执行的性能,就会通过在方法入口和出口处记算一下时间差值,像下面代码这样: long start = System.currentTimeMillis(); //business code Thread.sleep(1000); long over = System.currentTimeMilli...

2019-02-20 14:16:14 30603

原创 java.util.List中subList方法让我们栽了一个坑然后我们写了一个填坑方法

这是前段时间线上发现的一个问题,来自于一个分批处理的分页需求,需求里要对集合里的数据分批次处理,于是有了下面代码,我还原生产的demo:public class SubListTest { public static void main(String[] args) {// List&lt;String&gt; srcList = Arrays.asList("a...

2019-01-24 14:54:44 648

原创 通过mybatis源码,分析一次由mybatis使用不当导致的OutOfMemoryError的协查

    说是mybatis使用不当,其实也不准确,应该说是不了解mybatis的一些工作机制,下文带着大家一起分析一下mybatis源码,了解一下这次线上OOM原因.    首先了解一下是什么OOM?    OOM 是Out Of Memory 的简写,中文翻译:内存溢出. 百科上的说:内存溢出(out of memory)通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要...

2018-12-13 12:41:59 3034

原创 intellij idea 开发效率增强必设配置(超实用插件)

首先想说,如果你是elipse 转到intellij idea,我非常的反对将快捷键设置为elipse快捷键,否则还是换回elipse吧!这里原因我觉得主要有两个:1).idea的快捷键也是这个工具的一部分精华,非常的丰富好用2).如果团队里有人用elipse快捷键,在相互指导开发,调试代码的时候,你就会发,就像一个只会说中文,一个只会说英语 ,“交流”起来很不方便,因为你的idea只...

2018-12-02 12:00:14 3158

原创 java httpclinet请求https地址报java.io.IOException: Invalid keystore format 解决办法

=这又是一次生产问题协查,痛苦的协查。起因是合作方调用地址变更,变更后的地址是https协议地址,对方新增了一个.jks的证书库要加载代码写完后,一上线发https请求就报错,因为合作方封装了一个sdk的包,报错堆栈信息没有向上返回,是返回了一个“加密失败”,哎。。。。这里只能把ssl debug打开来,打开方法不太清楚的参考另一篇文章 java ssl调试打开ssl debug日志打...

2018-11-28 20:01:03 14122 1

原创 java ssl调试打开ssl debug日志

添加jvm 参数-Djavax.net.debug=ssl或者-Djavax.net.debug=allall turn on all debuggingssl turn on ssl debuggingThe following can be used with ssl: record enable per-...

2018-11-27 09:29:33 11574 5

原创 com.alibaba.dubbo.remoting.RemotingException: Caused by: java.nio.channels.ClosedChannelException

生产遇到的一个异常如下:com.alibaba.dubbo.remoting.RemotingException: Failed to send message Response [id=0, version=2.0.0, status=20, event=false, error=null, result=RpcResult [result=Fruit(name=null, color=o...

2018-10-13 23:36:54 8044

原创 java8 通过18位身份证号提取用户信息(年龄,生日,姓别)

工作中经常用到的通过身份证号(18位)提取用户信息(年龄,生日,姓别),分享给大家:先做一个javabean 存用户信息:package com;import lombok.*;import java.time.LocalDate;/** * @author kevin * Date 2018/9/5 * Time 9:34 */@Builder@Datapub...

2018-09-07 17:03:31 11456

原创 java8生成可自定义长度的随机数

刚好工作中用到,用java8的语法写了一个获取随机数的工具分享给大家:源代码:https://github.com/kevinmails/javase/blob/master/src/main/java/com/test/java8/RandomUtil.javapackage com.test.java8;import java.util.Random;import java.u...

2018-09-02 15:16:28 9486

原创 javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake 痛苦解决之旅

上周另外一项目组的同事找到我说,遇到一个问题很棘手两天了还没解决掉,报错如下:javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java...

2018-08-28 13:17:33 123019 44

原创 java8 httpclient NameValuePair转换14行代码一行搞定!

工作中,我们常常会通过httpclient调用一些三方提供的api, 进行参数传递的时候会用NameValuePair[ ]于是我们同事写了一个方法封装一下 NameValuePair,将map中用  参数key ,参数值value,做一个转换如下:public static NameValuePair[] convertMap2NameValuePairs(Map&lt;Str...

2018-08-24 11:33:39 3661 1

sprintboot-strategy-pattern-demo-master.zip

基于springboot做了一个策略模式的demo(开箱即用)

2021-12-15

awk_demo.txt

awk_demo.txt https://blog.csdn.net/kevin_mails/article/details/100153456

2019-09-05

dubbo_demo-maven

dubbo_demo-maven demo里还基于Spring Aop,运用dubbo的"隐式参数"+DMC 实现了日志追踪 demo里还添加了filter 的基本应用 demo里集成 Bean Validation

2019-04-23

java_web文件下载(maven)

java,文件下载,maven

2016-11-19

md5java代码+md5工具

md5java代码+md5工具

2016-04-13

空空如也

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

TA关注的人

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