Java
huayang183
不积跬步无以至千里
不积小流无以成江海
展开
-
iText PDF设置字体样式
iText PDF设置字体样式。原创 2022-10-21 12:14:02 · 9249 阅读 · 0 评论 -
java接口签名(Signature)实现方案
由于之前写过的一片文章 (java接口签名(Signature)实现方案 )收获了很多好评,此次来说一下另一种简单粗暴的签名方案。相对于之前的签名方案,对body、paramenter、path variable的获取都做了简化的处理。也就是说这种方式针所有数据进行了签名,并不能指定某些数据进行签名。 1、线下分配appid和appsecret,针对不同的调用方分配不同的appid和appsecret 2、加入timestamp(时间戳),10分钟内数据有效 3、加入流水号non..原创 2021-09-01 18:50:56 · 1718 阅读 · 0 评论 -
window 后台启动java&参数启动
Windows 后台执行jar我们都知道Linux下可用命令nohup /opt/jdk1.8.0_131/bin/java -jar xxx.jar &来后台执行jar如果是Windows环境,要如何在后台执行呢新建一个bat文件,输入:普通的启动: java - jar test.jar后台启动:javaw -jar xxx.jar系统需要退出的时候,可以查看任务管理器。从命令行中找到你启动的项目,进而杀掉。引入外部日志配置文件启动引入外部日志配置文件启动: java原创 2021-08-28 10:47:11 · 1059 阅读 · 0 评论 -
java的io操作(将字符串写入到txt文件) 转载
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java.io.PrintWriter;import java.io.RandomAccessFile;public class Write.原创 2021-08-25 18:35:22 · 283 阅读 · 0 评论 -
java的io操作(将字符串写入到txt文件
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java.io.PrintWriter;import java.io.RandomAccessFile;public class Write.原创 2021-08-24 16:04:47 · 842 阅读 · 0 评论 -
jasperreports ireport使用sql语句中有in时动态赋值
<parameter name="a_id" class="java.util.List"/> <queryString language="SQL"> <![CDATA[select * from Apoplexy where $X{IN, apoplexy_id, a_id}]]> </queryString> import net.sf.jasperreports.engine.JRExporter;import net.sf.原创 2021-07-30 09:57:53 · 755 阅读 · 0 评论 -
java(包括springboot)读取resources下文件方式
1、使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用) File file = new File("src/main/resources/resource.properties"); @Test public void testReadFile2() throws IOException { File file = new...原创 2021-07-26 15:15:14 · 322 阅读 · 0 评论 -
java.exe和javaw.exe区别吗
jdk的java.exe和javaw.exe文件都可以运行由javac.exe编译出来的java文件,但是,这两个程序都是有区别的:1、java启动的程序是命令行程序或阻塞程序,如果该程序未执行完毕或未被关闭,则所打开的命令行将被阻塞,不能执行其它命令如dir等,可以通过Ctrl+C等方式关闭程序;2、javaw启动的程序是窗口程序或非阻塞程序,在使用该命令运行程序后,可接着在命令行中执行下一命令,且启动的程序与命令行无关不依赖命令行,不能通过Ctrl+C关闭。也可以这样解释:两者的根本区别:j原创 2021-07-26 14:52:58 · 215 阅读 · 0 评论 -
JSON.toJSONString 出现 {$ref: “$.deduceGridCellVoSet[0].stateFlightsBasic[0]“}
// 使用参数 SerializerFeature.DisableCircularReferenceDetecJSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);原创 2021-07-10 16:49:37 · 182 阅读 · 0 评论 -
Lambda表达式将数组/字符串列表转换为数组/整数列表
1转换List成ListList l1 = Arrays.asList("1", "2", "3");List r1 = l1.stream().map(Integer::parseInt).collect(Collectors.toList());// the longer full lambda version:List r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());2转换原创 2021-07-10 16:36:51 · 3668 阅读 · 0 评论 -
NaN,是Not a Number的缩写
NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根原创 2021-07-08 09:17:28 · 245 阅读 · 0 评论 -
Java将时间加10分钟的方法
如代码所示: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); System.out.println("当前时间:" + sdf.format(now)); 方法一: Date afterDate = new Date(now .getTime() + 600000); System.out.println(sdf.format(after原创 2021-07-07 12:58:50 · 5990 阅读 · 0 评论 -
Java 使用Collections.reverse对list集合进行降序排序
确实,使用Collections.reverse结合一定方法可以实现对list集合降序排序,但是直接使用Collections.reverse(list)这种方式来降序是错误的。reverse的意思是反转,而不是降序。只是将list集合原来的顺序反转了一下,反转并不意味着降序了。所以要想实现降序,可以先对集合进行升序,然后再反转,这样就降序了。...原创 2021-07-05 18:18:06 · 372 阅读 · 0 评论 -
java中的NaN和检测NaN
正无穷大负无穷大NaN(不是一个数字)if(Double.isNaN(x)) if(x==NaN) //这个是永远不对的原创 2021-07-05 16:53:49 · 180 阅读 · 0 评论 -
guava中Range的使用方法(com.google.common.collect.Range)
1.构造Range实例必须使用Range中的静态方法,因为Range的构造方法被设置为private,当a > b使,或者当a == b且为(a,b)时会抛出IllegalArgumentException (a,b) Range.open(a, b) (a, b] Range.openClosed(a, b) [a, b] Range.Closed(a, b)原创 2021-07-05 16:53:01 · 893 阅读 · 0 评论 -
Map定义了几个用于插入和删除元素的变换方法
clear() 从Map中删除所有映射remove(Object key) 从Map中删除键和关联的值put(Object key,Object value) 将指定值与指定键相关联remove(Object key) 从Map中删除映射putAll(Map t) 将指定Map中的所有映射复制到此map ...原创 2021-07-02 17:49:20 · 104 阅读 · 0 评论 -
MyBatis 批量插入(ExecutorType.BATCH)
一、在mybatis中ExecutorType的使用1.Mybatis内置的ExecutorType有3种,默认的是simple,该模式下它为每个语句的执行创建一个新的预处理语句,单条提交sql;而batch模式重复使用已经预处理的语句,并且批量执行所有更新语句,显然batch性能将更优;2.但batch模式也有自己的问题,比如在Insert操作时,在事务没有提交之前,是没有办法获取到自增的id,这在某型情形下是不符合业务要求的;在测试中使用simple模式提交10000条数据,时间为18248 毫原创 2021-07-02 17:41:16 · 6212 阅读 · 3 评论 -
map循环删除某个元素
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class TestMapRemove { public static void main(String[] args){ new TestMapRemove().removeByIterator(); // new TestM原创 2021-07-01 16:28:49 · 2833 阅读 · 0 评论 -
java精确除法运算-BigDecimal
一、BigDecimal介绍Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高精度计算. 其中 BigInteger 类是针对大整数的处理类,而 BigDecimal 类则是针对大小数的处理类. BigDecimal 类的实现用到了 BigInteger类,不同的是 BigDecimal 加入了小数的概念. float和Double只能用来做科学计算或者是工程计算;在商业计算中,对数字精度原创 2021-07-01 11:24:51 · 1124 阅读 · 0 评论 -
Java中Double保留后小数位的几种方法
返回double型的1.能四舍五入1 double d = 114.145;2 d = (double) Math.round(d * 100) / 100;3 System.out.println(d); 2. BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。1 double d =.原创 2021-07-01 11:24:02 · 290 阅读 · 0 评论 -
java使double保留两位小数
代码如下:mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0;double d3 = 2.0;df.format(d1);df.format(d2);df.format(d3);3个结果分别为:复制代码代码如下:3.230.002.00java保留两位小数问题:方式一:原创 2021-07-01 11:23:27 · 361 阅读 · 0 评论 -
累加List对象中的某一个值
Long totalAircraftNumber=pieChartVoOfAircraftTypeList.stream().collect(Collectors.summingLong(PieChartVo::getValue));原创 2021-07-01 11:22:32 · 1205 阅读 · 0 评论 -
mybaties :required string parameter ‘XXX‘is not present
情况一:原因是由于头文件类型不对,可以在MediaType中选择合适的类型,例如GET和POST情况二:jquery提交delete时,不支持@RequestParam,只支持@PathVariable形式情况三:若api在调用的时候,如果存在重类型,但不重名;例如:/id与/name,两者在类型上是一样的情况四:这里提示Required String parameter ‘XXX’ is not present并不一定是XXX的错,也有可能是后面的参数错误。总的来说就是页面传递的参数和后台接受参数名原创 2021-06-28 09:08:03 · 450 阅读 · 0 评论 -
计算百分比工具类
一 代码public static String percentageConversion(long divisor, long dividend) { String percentage = "";// 接受百分比的值 double y = divisor * 1.0; double z = dividend * 1.0; if (y == 0 || z == 0) { return "0.00%";原创 2021-06-28 09:06:17 · 552 阅读 · 0 评论 -
Java计算两个日期相差的天数
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) thro原创 2021-06-28 09:05:04 · 501 阅读 · 0 评论 -
Java 关于日期加一天(日期往后多一天)
1.原来Java的日期添加不像.NET的.Add;import java.util.Date ; Date date=new Date();//取时间System.out.println(date.toString()); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.YEAR, 1);//把日期往后增加一原创 2021-06-28 09:04:31 · 629 阅读 · 0 评论 -
Java日期操作工具类
/** * 格式化日期显示格式 * * @param sdate * 原始日期格式 s - 表示 "yyyy-mm-dd" 形式的日期的 String 对象 * @param format * 格式化后日期格式 * @return 格式化后的日期显示 */ public static String dateFormat(String sdate, String format).原创 2021-06-28 09:03:37 · 198 阅读 · 0 评论 -
Java将日期拆分成按周或月时间段统计
/** * 根据传入的参数,来对日期区间进行拆分,返回拆分后的日期List * @param statisticsType * @param map * @return * @throws ParseException * @author lihq 2019-6-24 * @editor * @editcont */ public List<String> doDateByStatisticsTy原创 2021-06-28 09:01:29 · 7488 阅读 · 1 评论 -
博客园首页新随笔联系管理订阅订阅随笔- 610 文章- 0 评论- 83 阅读- 144万 Calendar时间获取天,周,月,季度,年度时间段
Date类Date类的大多数构造函数和方法都已经抛弃,只留下和毫秒有关的操作,目前常用的构造函数常用方法设置毫秒数读取毫秒数toString()打印结果//创建日期对象,把当前的毫秒值转成日期对象Date date = new Date(1607616000000L);System.out.println(date);//打印结果:Fri Dec 11 00:00:00 CST 2020DateFormate类格式化日期DateFormat 是日期/时间格式化子类的抽象类,它以与语言无原创 2021-06-28 08:59:49 · 241 阅读 · 0 评论 -
Java 将一段时间以周、月、季分割
本文所有使用的时间戳均为毫秒级 得到的集合区间也是毫秒级的时间戳按周分割时间代码如下:@Testpublic void timeSplitByWeek() { // 1.开始时间 2019-06-09 13:16:04 Long startTime = 1560057364000L; // 2.结束时间 2019-07-09 13:16:04 Long endTime = 1562649364000L; // 3.开始时间段区间集合 List&l原创 2021-06-28 08:58:19 · 1468 阅读 · 0 评论 -
java把一段时间分成周,月,季度,年的时间段
package com.mq.test.activeMQ;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class TimeDateUtils { public static final String YYYYMMDD = "yyy原创 2021-06-28 08:56:01 · 940 阅读 · 0 评论 -
Calendar 日期判断 等于 、小、。大于
public static void main(String[] args) throws Exception {String startTime = "2012-12-12 12:45:45"; String endTime = "2012-04-12 12:45:40"; String SYSendTime = "2012-11-12 12:45:40";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Da原创 2021-06-26 16:50:05 · 958 阅读 · 0 评论 -
calendar的使用以及如何获取某月份最后一天的方法
cal.set(2019,2,0);//设置成3月的第0天,也就是2月的最后一天 同理,如果设置成cal.set(2019,0,0);就表示 2018年的最后一天原创 2021-06-26 15:26:00 · 642 阅读 · 0 评论 -
Long值比较大小
在java中Long值不能直接使用==或者>等比较运算符去进行比较的,需要使用特殊的方法进行比较Long值进行比较:使用Long.equals()进行操作比较Long值进行>比较:使用Long.longValue()>Long2.longValue()Long值进行<比较:使用Long.longValue()<Long2.longValue()如果是基本类型中的long的话,可以使用比较运算符去进行直接比较...原创 2021-06-26 15:25:06 · 3511 阅读 · 0 评论 -
Java Integer.compareTo()比较大小
定义compareTo(Integer anotherInteger) //用数字比较两个Integer整数对象如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。源码//Integer的compareTo方法,底层依据的是compare方法public int compareTo(Integer anotherInteger){//实际上Integer的比较是通过Integer中包括的整数来比较的return compare(this.value, another原创 2021-06-26 15:24:41 · 1553 阅读 · 0 评论 -
java 怎么从date取得年份
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date d = sdf.parse("2011-10-20");Calendar c = Calendar.getInstance();c.setTime(d);int year = c.get(Calendar.YEAR);原创 2021-06-26 15:24:03 · 7707 阅读 · 0 评论 -
java获取当前时间的年周月季度等的开始结束时间
```javapackage com.hzcloud.hz.admin.utils;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 获取当前时间的年周月季度等的开始结束时间 */public class TimeUtil { public static void main(String[] args) { System.out.println("当前小时.原创 2021-06-24 13:17:31 · 1928 阅读 · 2 评论 -
JAVA 不足N位后面补XX符号
/** * 后面不空格 * @param str * @param strLength * @return */ public static String addSymbol(String str, int strLength,String symbol) { int strLen = str.length(); StringBuffer sb = null; while (strLen < s...原创 2021-06-20 12:53:30 · 404 阅读 · 0 评论 -
MinIO环境搭建及使用
一、什么是MinIO?MinIO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。二、MinIO环境搭建1、Linux系统方式一、docker安装MinIO(推荐)使用环境要求:Li原创 2021-06-16 20:57:16 · 1948 阅读 · 2 评论 -
Java把时间毫秒数转换成日期和时间
例如给定毫秒值:1570650412089转换方法:public static void main(String[] args) { long milliSecond = 1570650412089L; Date date = new Date(); date.setTime(milliSecond); System.out.println(new SimpleDateFormat().format(date));}...原创 2021-06-16 09:08:08 · 5938 阅读 · 0 评论