Java和Jvm
非ban必选
黑,真他妈的黑
展开
-
java md5签名首位为0时被忽略
这是因为MessageDigest返回的结果是无符号数的byte数组,所以一个byte表示2位的十六进制数时,高位可能为0,而且在JAVA中byte默认是按有符号数的来读取的,转换时会出现负数。由于hex加密时0不被解析。即0x0001和0x1在表现上都是1只是占用内存大小不同。而如果数字相同自动0x01和0x1加密出来是一样的,所以0x01无论前面有几个0都会去掉。1、转换为字符串时,高位的0被舍去;2、出现负数时会有多个连续的F;原创 2022-12-28 10:41:41 · 988 阅读 · 0 评论 -
阿里云语音服务语音通知
【代码】阿里云语音服务语音通知。原创 2022-10-31 11:00:34 · 619 阅读 · 0 评论 -
hutool工具包发送restful请求
【代码】hutool工具包发送restful请求。原创 2022-10-09 15:38:52 · 837 阅读 · 0 评论 -
使用Arthas监控docker容器中的java进程
注意 /opt/arthas/arthas-boot.jar必须在容器中存在。2、容器启动 Arthas。1、下载Arthas。3、Arthas命令。原创 2022-09-01 10:28:09 · 2220 阅读 · 0 评论 -
图片和16进制字符串互转
1、图片转16进制字符串。原创 2022-08-30 16:10:35 · 2848 阅读 · 1 评论 -
jdk11生成SSL证书并添加信任
1、使用jdk执行,生成keystore对,所有输入密码都是1234562、把jks证书转换为p12格式证书3、导出cer证书4、下载安装openssl然后打开openssl命令窗口执行将cer格式证书转pem格式提取私钥nginx配置添加到jdk11信任列表1、获取访问网址的证书.cer文件。以chrome为例。......原创 2022-08-01 13:04:02 · 1735 阅读 · 1 评论 -
Java判断经纬度点是否在给定区域内
1、经纬度类2、判断工具类原创 2022-07-14 14:18:01 · 1698 阅读 · 0 评论 -
责任链模式加建造者模式结合使用改造多个ifelse
抽象处理者( Handler ) 角色: 定义出一个处理请求的接口, 维护一个自身的对象, 如果需要, 接口可以定义出一个方法, 以返回对下家的引用。package com.example.demo.util;import lombok.Data;import java.util.Objects;@Datapublic abstract class Handler { public Handler nextHandler; public String handle(原创 2022-05-05 12:57:48 · 237 阅读 · 0 评论 -
阿里异步发送短信
pom <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>2.2.1</version> </dependency> <!-- https:/原创 2022-04-08 10:38:52 · 759 阅读 · 0 评论 -
java计算两个经纬度之间的直线距离
package com.pojo.common.core.utils;public class CaculateDistanceUtil { private final static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } /** * 根据两点间经纬度坐标(double值),计算两.原创 2022-03-30 11:04:54 · 1099 阅读 · 1 评论 -
java树结构stream工具类
菜单实体类package com.example.demo.entity;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.util.List;@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class Menu { /原创 2022-03-16 10:14:38 · 617 阅读 · 0 评论 -
JSON转SQL
JSON转sql-BeJSON.com原创 2022-03-16 10:12:55 · 3422 阅读 · 0 评论 -
logging-log4j2代码本地编译安装
1、代码下载地址logging-log4j2: Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback's architecture原创 2021-12-11 11:14:34 · 816 阅读 · 0 评论 -
Apache Log4j 远程代码执行漏洞自查以及修复
1、人工检测jar解压后是否存在org/apache/logging/log4j相关路径结构,判断是否使用了存在漏洞的组件,若存在相关Java程序包,则很可能存在该漏洞。应用程序能引用org.apache.logging.log4j的包,很大概率存在漏洞如果应用程序引用了log4j-core-2.xx.xx.jar 或log4j-api-2.xx.x.jar 很大概率存在漏洞。如果pom文件引用了以下<!-- https://mvnrepository.com/a...原创 2021-12-10 21:28:39 · 1792 阅读 · 0 评论 -
ICP域名备案查询
1、pom文件添加 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.6</version> </dependency>2、MD5工具类pa原创 2021-11-03 14:29:17 · 239 阅读 · 0 评论 -
集合中元素某个属性值求和
List<PackageStatistics> packageStatistics = packageStatisticsService.list(); long dataCount = packageStatistics.stream().collect(Collectors.summingLong(PackageStatistics::getSum));原创 2021-10-21 15:23:16 · 504 阅读 · 0 评论 -
APK文件解析
<dependency> <groupId>net.dongliu</groupId> <artifactId>apk-parser</artifactId> <version>2.6.10</version> </dependency>package com.pojo.apk.ut...原创 2021-08-27 15:42:10 · 992 阅读 · 0 评论 -
java一行代码获取文件md5
String md5 = DigestUtils.md5Hex(new FileInputStream("d:/apk/base.apk"))原创 2021-08-13 16:41:48 · 108 阅读 · 0 评论 -
JAVA使用poi实现excel转html
<!-- 针对2007以上版本的库 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ...原创 2021-08-08 19:31:02 · 571 阅读 · 0 评论 -
JAVA使用poi实现word转html
<!-- 针对2007以上版本的库 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> ...原创 2021-08-08 17:50:08 · 344 阅读 · 0 评论 -
FTP上传文件
问题描述:在公司测试环境可以通过ftp上传文件至生产环境的ftp服务器上,当把应用程序发布到生产环境后,无法通过ftp上传文件至生产环境的ftp服务器上。了解到ftp上传文件有主动模式和被动模式,通过代码设置模式。 Ftp ftp = new Ftp(ftpIp, Integer.valueOf(ftpPort), ftpUser, ftpPwd); ftp = ftp.reconnectIfTimeout(); ftp.setMode(FtpMode.Pas原创 2021-07-05 15:11:21 · 351 阅读 · 0 评论 -
指定jvm参数启动jar
/usr/local/java/jdk1.8.0_131/bin/java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/spb_zcmweb/8103/dump/heap/ -Djava.io.tmpdir=/data/spb_zcmweb/8103/tmp/ -Dserver.port=8103 -Dcom.sun.management.jmxremote -Dcom.sun.management.j.原创 2021-07-02 09:38:19 · 231 阅读 · 0 评论 -
有序可重复集合分段
1、给定集合 输入集合 【a a b c c b b a】 转为输出【【a a】,【b】,【c,c】,【b,b】【a】】package sample.cluster.simple;import com.google.common.collect.Lists;import java.util.*;public class ListTest { public static void main(String[] args) { List<String> l原创 2021-05-19 22:06:37 · 144 阅读 · 0 评论 -
Linux调用so
1、环境配置vim /etc/profile在文件末尾加入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:{你的so目录}执行source /etc/profilewindows下开发 把dll文件放到resources目录下或者C:\Windows\System32目录下package com.example.testa.jna;import com.sun.jna.Library;import com.sun.jna.Na.原创 2020-12-17 13:36:40 · 1343 阅读 · 1 评论 -
JNA调用dll或so
Java primitive types (and their object equivalents) map directly to the native C type of the same size.Native Type Size Java Type Common Windows Types char 8-bit integer byte BYTE, TCHAR short 16-bit integer short WORD wc原创 2020-12-16 22:54:18 · 148 阅读 · 0 评论 -
linux启动jar开启远程debug端口
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10091nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10096 -jar /home/zg-stm-pms/jar/zg-stm-pms-management.jar > /home/zg-stm-pms/jar/pms.log &原创 2020-11-27 15:31:09 · 1567 阅读 · 0 评论 -
JAVA反射工具包
1、 <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.12</version> </dependency>2、package com.example.learn原创 2020-10-31 16:24:15 · 517 阅读 · 0 评论 -
libreoffice
soffice --headless --invisible --convert-to pdf:writer_pdf_Export D:/22.doc --outdir D:/doc2htmltest OKsoffice --headless --invisible --convert-to pdf:writer_pdf_Export D:/11.docx --outdir D:/doc2htmltest OKsoffice --headless --invisible ...原创 2020-09-14 09:57:55 · 650 阅读 · 0 评论 -
Java反射工具包reflectasm
1、<dependency> <groupId>com.esotericsoftware</groupId> <artifactId>reflectasm</artifactId> <version>1.11.9</version> </dependency>1、实体类package com.redisson;原创 2020-09-10 09:33:57 · 409 阅读 · 0 评论 -
Stream
package com.redisson;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Map;import java.util.concurrent.CompletableFuture;import java.util.function.Supplier;import java.util.stream.Collectors;import java.原创 2020-09-02 12:49:30 · 110 阅读 · 0 评论 -
linux把jar做成服务
1、创建开机启动文件touch /etc/rc.d/init.d/stm-nec2、vi /etc/rc.d/init.d/tm-nec3、文件内容如下#!/bin/bash#chkconfig: 2345 10 90#description:stm-necBASE_DIR="/home/stm/jar/" JAR_FILE="stm-nec.jar"SERVICE_N...原创 2020-04-29 10:46:07 · 1255 阅读 · 0 评论 -
使用winsw把java程序安装为windows服务
https://segmentfault.com/a/1190000019520072https://github.com/winsw/winsw/releases原创 2020-04-17 09:08:57 · 528 阅读 · 0 评论 -
使用jconsole监控springboot内置tomcat
1、启动程序 添加远程监控的jmx参数nohup java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -ja...原创 2020-03-06 15:43:40 · 1391 阅读 · 0 评论 -
java实现上位机与下位机串口通信
串口通信是在工程应用中很常见。在上位机与下位机通讯过程中常通过有线的串口进行通信,在低速传输模式下串口通信得到广泛使用。在说个之前先来简单解释一下上位机与下位机的概念。上位机与下位机通常上位机指的是PC,下位机指的是单片机或者带微处理器的系统。下位机一般是将模拟信号经过AD采集将模拟量转换为数字量,下位机再经过数字信号处理以后将数字信号通过串口发送到上位机,相反上位机可以给下位机发送...原创 2020-01-09 14:20:11 · 995 阅读 · 0 评论 -
java中替代if-else的大段逻辑
问题: java本来是一门以面向对象为主的语言,但很多人嘴上说着java面向对象,然后除了表映射实体之外,其他的还是面向过程的思路。 就比如今天要说的,代码中大段大段的if-else判断,每个if-else代码块中又有很多复杂的逻辑,导致整个代码混乱不堪,让别人看到就感觉看到屎一样的代码一样。 那么,如何优雅的替代这些代码呢,其实有个设计模式(策略模式)就很好的解决了这个...原创 2020-01-08 00:11:16 · 532 阅读 · 0 评论 -
Thumbnails使用方法(图片处理工具类)
我们在java开发时,使用Thumbnails工具类能帮助我们对图片进行很好的处理,Thumbnails对图片的操作进行了很好的封装,往往很复杂的步骤能用一行代码就完成。Thumbnails支持:指定大小进行缩放按照比例进行缩放不按照比例,指定大小进行缩放旋转水印裁剪转化图像格式输出到OutputStream输出到BufferedImage使用步骤导入架包<...原创 2019-12-25 15:25:22 · 887 阅读 · 0 评论 -
java实现rs485串口通讯
https://www.cnblogs.com/jinghuyue/p/10226848.html 需要先要下载RXTX的jar包,win64位下载地址:http://pan.baidu.com/s/1o6zLmTc);将解压后的rxtxParallel.dll和rxtxSerial.dll两个文件放在%JAVA_HOME%/jre/bin目录下,这样该包才能被正常的加载和调用。 ...转载 2019-12-24 21:53:56 · 3839 阅读 · 0 评论 -
java实现OpenCV 4.1.0人脸相似度对比
需要opencv的jar,从opencv的安装路径中可以获取。package com.ahies.dit.management.util;import org.opencv.core.*;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;import org.opencv.obj...原创 2019-12-10 14:55:04 · 1685 阅读 · 1 评论 -
Modbus4j
项目上使用继电器控制器对供电、断电进行控制,继电器使用Modbus协议,java代码使用框架Modbus4j对继电器进行控制。maven的pox引入 <dependency> <groupId>com.infiniteautomation</groupId> <artifactId&...原创 2019-11-12 21:23:54 · 1752 阅读 · 1 评论 -
crc16 modbus校验
package com.pjmike.netty.server;/** * @Description TODO * @Date 2019/10/14 18:09 * @Author zsj */public class CRC16MUtil { /** * 计算CRC16校验码 * * @param bytes 字节数组 * @r...原创 2019-11-08 09:11:30 · 465 阅读 · 0 评论