自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (3)
  • 问答 (9)
  • 收藏
  • 关注

原创 com.jcraft.jsch.JSchException: Algorithm negotiation fail 异常解决

异常错误信息com.jcraft.jsch.JSchException: Algorithm negotiation fail at com.jcraft.jsch.Session.receive_kexinit(Session.java:595) at com.jcraft.jsch.Session.connect(Session.java:325) ...出现这个问题主要是客户端与服务器的算法不一致导致的,只要将其中一边添加上对方的算法即可。查看支持的算法代码增加jsch的日志输出,根据

2022-03-23 20:16:30 10313 2

原创 mysql无唯一索引下不存在才新增数据

INSERT INTO table(column1,column2,column3)SELECT value1,value2,value3 FROM DUALWHERE NOT EXISTS (SELECT id FROM table where column1 = value1);

2022-01-10 11:01:18 611

原创 java版flink应用启动获取自身的applicationId

直接上代码StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.getJobListeners().add(new JobListener() { /** * 监听flink应用提交成功事件 */ @Override public void onJobSubmitted(JobClient jobClient, Throwable throwable) { /

2021-11-02 17:39:51 1922 3

原创 spring-shell启动时执行命令,即通过命令行执行内置命令,非交互式执行

spring-shell本来支持启动时执行脚本文件的,如java -jar my-sprint-shell.jar @/home/user/script.txt有时候执行内容很简单,可能就一两行命令,用脚本就显得有点麻烦,所以写了一个直接执行命令的方式添加CmdShellApplicationRunner// 关键一步,必须在开启交互式界面执行@Order(InteractiveShellApplicationRunner.PRECEDENCE - 101)public class CmdSh

2021-05-29 15:11:49 847

原创 java打包tar时遇到的坑

用的是apache的工具包:commons-compress写入文件名长度超过100时报异常// 具体可参考官方文档: http://commons.apache.org/proper/commons-compress/tar.html#Long_File_NamestarArchiveOutputStream.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);写入文件报异常java.io.IOException: Request to

2021-03-23 20:32:39 1741

原创 解决winrm4j中文乱码问题和执行脚本文件

基于winrm4j版本0.10.0上重新写了个执行类,原代码关于设置编码的地方都写死了,无法重新设置,所以返回的中文会是乱码。这问题已向原作者反馈了https://github.com/cloudsoft/winrm4j/issues/133 ,希望后期能完善。我自己重写了一个类,可以把这代码弄到自己项目:https://gitee.com/lnkToKing/codes/l7uej9od1ntxi5rkf8wbc87注意需要依赖 org.apache.commons:commons-lang3 工具包

2020-11-28 23:36:12 1284 8

转载 恢复git中误删的stash记录代码

今天手误在idea把git上的stash记录全清了,本来只想drop一条记录,点错了clear全给清了。其中一条是这两天的工作,找不回来就要周末加班了,我也吓出了一头冷汗,为什么是“也”,因为这位救了我的博主也一遇到一样的情况。救了我的博主挽救了我的方法:https://www.jianshu.com/p/c00d6e289ef3这个博文有些点没有写出来,所以我重新整理了一下:# 执行下面的命令,会打印一大堆信息git fsck# 等全部打印出来,使用下面命令找你要恢复的点,只找commit类型

2020-08-28 16:45:02 960

原创 snmp4j迭代getTable返回的集合会出来异常:java.util.ConcurrentModificationException: null

异常信息java.util.ConcurrentModificationException: null at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966) at java.util.LinkedList$ListItr.next(LinkedList.java:888) at com.shsnc.agent.common.util.snmp.SnmpTools.getTable(SnmpTools.j

2020-08-21 17:12:00 605

原创 snmp4j使用v3连接报异常:Message processing model 3 returned error: Unknown security name

异常现象java通过snmp4j使用snmpv3连接偶而会出现异常:org.snmp4j.MessageException: Message processing model 3 returned error: Unknown security name at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:524) at org.snmp4j.Snmp.sendMessage(Snmp.java:1089)

2020-08-21 15:16:55 2772

原创 linux系统-contos7 配置snmpv3

安装工具包要用root服务安装安装命令:yum install net-snmp-utils net-snmp创建v3用户创建用户前要先停止服务:service snmpd stop创建用户命令:net-snmp-config --create-snmpv3-user -ro -A authpwd -a MD5 -X privpwd -x DES username参数说明:-A authpwd: 认证密码-a MD5: 认证加密方式-X privpwd: 报文加密密码-x D

2020-08-21 12:19:49 1139

原创 java 打包zip时添加描述和读取描述

添加描述ZipOutputStream out = new ZipOutputStream(new FileOutputStream("xxx.zip"));out.setComment("描述内容");读取描述ZipFile zipFile = new ZipFile(new File("xxx.zip"));System.out.println(zipFile.getComment());

2020-07-22 20:04:10 485

原创 【netty】使用ConnectionlessBootstrap实现udp协议接收数据时,如果数据长度超过732会被丢弃

ConnectionlessBootstrap serverBootstrap = new ConnectionlessBootstrap( new OioDatagramChannelFactory(Executors.newCachedThreadPool()));Channel channel = serverBootstrap.bind(new InetSocketAdd...

2020-04-24 15:58:12 637

原创 JAVA内存泄露使用MAT(Memory Analyzer Tool)快速定位代码

导出java进程的堆内存信息使用下面命令导出java进程的堆内存,其中pid为java进程id,文件可能会很大,视进程分配多少内存。jmap -dump:live,format=b,file=heap.bin pid打开MAT工具导入heap.bin文件这步主要说一点,如果heap.bin很大MAT可能不够内存加载文件,可以修改配置文件加大MAT内存,我的是1.9.0版本,修改配置文件M...

2019-12-13 22:43:41 2840

原创 elasticsearch自定义分词器实现like模糊匹配查询,代替使用通配符模糊搜索慢的实现

前段时间第一次使用es实现全文索引功能,由于第一次使用,所以只想实现类似数据库 LIKE ‘%关键字%’这样的就可以了。简单研究了一下es之后,发现将字段类型指定为keyword或查询字段加上.keyword,然后再通过*实例模糊匹配,如下面查询,就可以实现类似LIKE ‘%关键字%’的搜索。GET /my_index/_doc/_search{ "query": { "query_s...

2019-10-25 15:00:18 7251 4

原创 简单粗暴的记录一下浮点数原理

浮点数在计算机存储的计算方式和10进制的科学记数法类似10进制科学记数法的表达式是±aEn,其中En表示10的n次方,计算公式:±a × (10 ^ n)a是任意数,n是任意整数,可以通过n移动小数点的位置例如:100 = 1E2 = 1 × (10 ^ 2)0.001 = 1E-3 = 1 × (10 ^ -3)820 = 82E1 = 8.2E2-0.082 = -8.25E-...

2019-05-08 20:20:36 463

原创 docker在windows下上传文件到容器

我的系统是windows10,docker是用DockerToolbox工具安装的,安装完之后会默认挂载Windows的C:/Users目录,在docker里面对应路径是/c/Users,docker默认的用户路径是/c/Users/windows的登录用户名,对应windows的登录用户目录:C:/Users/windows的登录用户名。登录Docker Quickstart Terminal...

2018-12-25 17:28:06 11177 1

原创 测试Thread.interrupt()方法中断线程时,join方法的异常只能在自身线程才能被捕获,在其它线程调用时无法被捕获

测试环境:JDK1.8测试代码:@Testpublic void testJoin() throws InterruptedException { Thread t1 = new Thread() { @Override public void run() { try { this.join();...

2018-12-06 17:47:06 853

原创 SonarQube 解决代码误判的问题

SonarQube 解决误判有两个方式。第一种是通过注释在被误判的代码行后面加上注释://NOSONAR// 这里的user被sonar认为可能会为nullString name = user.getName(); //NOSONAR注意:注释一定要写在代码的同一行后面。第二种是使用注解 @SuppressWarnings在类或方法上面加上 @SuppressWarnings 注...

2018-11-23 15:59:00 8839

原创 java JDK1.8 利用lamdba表达式简化获取值时的空指针处理

一直一以来 java 对 null 处理都是挺麻烦和痛苦的,为了防止 NullPointerException 我们需要做很多 null 检查。例如:root.getSecond().getThird().getValue() ,为了从 root 获取到 third.value 的值,代码上需要做很多 null 检查if(root != null && root.getSeco...

2018-11-13 17:34:46 779 1

原创 jxls2 动态合并单元格指令

将merge指令的代码注册到jxls的指令集里代码传送门:https://gitee.com/lnkToKing/jxlss/blob/master/src/main/java/pres/lnk/jxlss/command/MergeCommand.java注册代码:XlsCommentAreaBuilder.addCommandMapping("merge", MergeCommand.c...

2018-10-19 09:51:42 6073

原创 使用ByteBuffer 将int,long,short,double,float,char与byte[]数组互相转换

public void test(){ byte[] longArray = ByteBuffer.allocate(8).putLong(Long.MAX_VALUE).array(); byte[] intArray = ByteBuffer.allocate(4).putInt(Integer.MAX_VALUE).array(); byte[...

2018-10-16 17:21:48 3659

原创 String Boot 异常 HttpMediaTypeNotAcceptableException 的原因和处理

错误信息摘要org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMat...

2018-10-15 18:37:22 66785 3

原创 java从JDK里提取全球数据,包含国家(名称、二字代码、三字代码)、币种(名称和代码)、和语言种类的数据

工具类代码:https://gitee.com/lnkToKing/codes/eom09jrdp8ybf56nu423v77JDK版本:jdk1.8.0_66 主要需要依赖的类import sun.util.locale.provider.LocaleProviderAdapter;import sun.util.locale.provider.ResourceBundleBased...

2018-07-21 12:46:52 13873

原创 SQLyog 的 截位数据库(又叫截断数据库)的作用

突然发SQLyog有个功能叫截位数据库,位置在:右键数据库-更多数据库操作-截位数据库 试了一下,是把数据库下所有表给清空了,相当于将所有表执行了一次 TRUNCATE...

2018-07-17 17:23:46 2622

原创 docker使用commit创建自定义镜像,启动容器时内部应用自动启动

使用 commit 创建 docker 镜像时,因为 docker 容器启动机制与原来的 linux 系统不一样,所以原来的自启动的应用在启动容器之后都不会自动启动。如docker容器里的mysql服务不启动。解决方法创建镜像时,在容器里面添加以下操作:将自启动的应用的启动服务命令添加到 /etc/rc.local。 如添加 mysql 自启动服务: 编辑:vi /ect/rc.l...

2018-06-25 17:21:25 3844 1

原创 笔记-使用docker构建自己的服务镜像和容器

环境平台:win10 家庭版 docker安装:http://www.runoob.com/docker/windows-docker-install.html 创建镜像:https://blog.csdn.net/hylexus/article/details/52854470 安装mysql:https://blog.csdn.net/love_zngy/article/details/...

2018-06-25 16:39:54 846

原创 Windows下使用linux bash执行文件时遇到Permissions 0555 for 'xxx' are too open.

问题现象在Windows下的 linux bash 使用 pem 文件远程 ssh 连接 linux 服务器 其中 pem 文件放在e盘的文件夹下 使用命令 ssh -i "/mnt/e/xxx.pem" [email protected] 连接不上并提示下面信息Permissions 0555 ...

2018-06-19 18:47:17 5341 3

原创 多线程之子线程共享父线程的ThreadLocal:InheritableThreadLocal

ThreadLocal 相当于是线程的一个局部静态对象,它的值的作用域是当前整个线程,别的线程是无法获取到的它的值。如果子线程想获取到父线程的ThreadLocal的值该怎么办呢?这时候可以用 InheritableThreadLocal,InheritableThreadLocal的作用就是为了解决子线程想获取到父线程的ThreadLocal的值。使用 InheritableThreadLo...

2018-05-18 12:26:05 3649 1

原创 linux 使用非root用户开机自启动sh脚本失败原因

linux 设置非root用户开机自启动sh脚本非常简单 使用root用户修改文件/etc/rc.d/rc.local,在文件最后添加命令和要执行的脚本su my -c "/home/my/startup.sh"添加完之后重启linux,发现并没有执行脚本,然后看了一下rc.local的授权是-rw-r--r--,发现并没有执行权限。使用root用户添加可执行权限,然后重启就解决了。...

2018-04-10 10:09:19 5361

转载 Elasticsearch 启动失败错误收集

don’t run elasticsearch as root.原因是不能用root用户启动,需要使用一个非root用户启动 https://blog.csdn.net/mengfei86/article/details/51210093因环境问题启动失败启动失败一ERROR: [2] bootstrap checks failed[1]: max file des...

2018-04-04 15:33:11 1154

原创 Logstash 使用 nginx 做负载均衡收集 log4j2 的日志

Logstash 的配置,分别有A和B两台服务器,两台服务器的配置一样的input { #开启远程输入日志服务 tcp { port => "4560" mode => "server" type => "log4j2" proxy_protocol => true #开启后只能通过ngin...

2018-04-03 17:23:13 1853 1

原创 ELK日志-logstash的tcp日志收集使用nginx反向代理之后获取真实的IP地址

logstash 的配置:proxy_protocol 设置为 trueinput { #开启远程输入日志服务 tcp { port => "4560" mode => "server" type => "log4j2" proxy_protocol => true #开启后能获取到代理IP...

2018-04-03 17:05:00 1716

原创 ELK - log4j2自定义Layout以json格式输出日志到logstash,支持收集多个项目的日志

logstash 新增配置文件 log4j2.confinput { #开启远程输入日志服务 tcp { port => "4560" mode => "server" type => "log4j2" }}filter { #将日志转成json对象 json { ...

2018-03-15 10:13:19 10553

原创 Win10 子系统 Kali linux 安装 openjdk-8-jdk 失败的解决方法

Kali linux 在线安装 openjdk-8-jdk 出现下面问题:king@DESKTOP-7NTJR8A:/mnt/c/Windows/System32$ sudo apt-get install openjdk-8-jdksudo: unable to resolve host DESKTOP-7NTJR8A[sudo] password for king:Reading...

2018-03-12 15:51:15 2453

原创 Spring WebSocket+SockJS+Stomp 最大连接数测试

测试目的测试默认配置下的Spring WebSocket+SockJS+Stomp 最大连接数服务器环境系统:win10 内存:8G 运行环境:spring-boot-starter-undertow,以Spring jar包造型运行 服务器搭建参考《Spring Boot 的 WebSocket 开发说明文档》 服务器没有进行调优,使用的是SpringBoot默认配置。测...

2018-03-09 15:13:30 8996 2

原创 Spring定时任务Scheduled分布式/集群应用插件,支持redis缓存、zookeeper、数据库等

Spring 自带定时器Scheduled是单应用服务上的,不支持分布式环境。目前Spring集群环境下的定时任务调度执行的现成解决方案有 quartz 和 spring cloud task两种,不知道还有没有其它的解决方案,如果有麻烦请告知一下。quartz 和 spring cloud task都是只能用数据库解决,并且如果现有的项目一直用的是@Scheduled方式做定时任务,因为要做...

2018-03-07 17:02:13 10078 7

原创 spring集成swagger生成api文档的丢弃接口添加删除线效果

直接在api接口上添加注解 @Deprecated 即可

2018-02-27 09:47:22 1654

原创 jxls2-java生成/导出excel工具!基于jxls2写的jxls增强版jxlss的完整教程

jxls估计还是有很多人不知道或者没用过吧,我现在的公司也会有做excel生成,但都是用poi直接写代码生成,没有人知道可以用jxls的excel模板生成。 jxls是一个生成excel文件的库,只要事先做excel文件,再加入jxls指令和表达式做成模板文件,然后几乎可以原样生成excel文件。开发人员只需要关心生成excel内容,不需要操心excel的样式版面问题。 jxls官网地址:...

2018-01-29 15:29:38 5501 9

原创 Http请求 RestfulApi请求工具类 RestfulHttpClient

简介现在大多数的http请求都是使用 restful 风格,系统之间的交流也是使用 restful 风格的http请求,所以就写了一个工具类来简化这些工作。点击查看工具类代码 这个工具类是基于 HttpURLConnection 写的。 并依赖 jackson 对 json 进行解析,你可以在代码里改成其它的 json 解析工具。使用方法请求事例try {

2018-01-26 17:03:00 8209

原创 JAVA日期工具类,简单实用、支持计算工作日、节假日和休息日

java的日期操作一直都是比较鸡肋,用起来超麻烦的,所以我自己写了一个工具类。 点击查看代码源码 代码依赖 org.apache.commons.lang3 的包工具类方法的使用创建时间日期// 当前时间DateUtil.DateTime date = DateUtil.date();// 使用 java.util.Date 创建Date jdkDate =

2018-01-26 11:13:00 3966 5

使用 jxls2.X 导出excel文件源码

项目案例 http://blog.csdn.net/lnktoking/article/details/52932679

2016-10-26

jxls2 依赖jar包

commons-jexl-2.1.1.jar commons-lang3-3.4.jar commons-logging-1.2.jar jxl-2.6.10.jar log4j-1.2.17.jar poi-3.12.jar poi-ooxml-3.12.jar poi-ooxml-3.12.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.7.jar xmlbeans-2.6.0.jar

2016-10-26

jxls 2.3.0

jxls 2.3.0主要jar包 jxls-2.3.0.jar jxls-jexcel-1.0.6.jar jxls-poi-1.0.9.jar

2016-10-26

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

TA关注的人

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