java
多来哈米
或悲极或大喜,总要留给回忆!
展开
-
java类复制mapstruct(convertor转换器)
类拷贝或属性拷贝,采用BeanUtil会用反射,性能不佳。通过字段的值,条件判断赋值//其他场景:不同字段映射;来自其他参数赋值(多个参数实体,赋值到同一对象);调用外部方法赋值;java自带的系统类;日期转换;原创 2024-07-03 10:47:16 · 420 阅读 · 0 评论 -
javax validation常用注解
NotEmpty:验证字符串,数组,Collection,Map不可为 null或者长度必须大于0,对于字符串不可以为"",但是可以为" ";@NotBlank:只能验证字符串且该字符串执行trim()方法(删除字符串头和尾的空字符)之后长度大于0也就是说" "会报错;@Size:验证对象(数组、集合、Map、字符串等)的长度是否在指定的范围内;@DecimalMin:验证数字是否大于等于指定的值;@Min:验证数字是否大于等于指定的值;@Max:验证数字是否小于等于指定的值;转载 2024-04-22 09:19:09 · 143 阅读 · 0 评论 -
java实体设置默认值
通过build的方式,默认值不起作用;直接new,默认值有效;原创 2024-02-28 14:39:06 · 1095 阅读 · 0 评论 -
List分页处理,利用subList截取(java截取拼接URL)
N多个参数,截取指定个数,拼接URL。原创 2023-12-08 15:25:17 · 854 阅读 · 0 评论 -
spring事件和线程池区别
Spring事件(Spring Event)和线程池(Thread Pool)是两个不同的概念原创 2023-08-28 10:18:42 · 506 阅读 · 0 评论 -
idea中cherry pick怎么用
cherry pick简而言之就是同一个commit,然后复制提交到其他分支(只检出本次提交的);解决:两个分支都需要提交相同代码,但是又不能用同一份代码提到开发和测试环境(因为两个环境代码不一样可能存在冲突)写这篇文章的目的:网上的文章比较杂乱,具体idea里面怎么操作,好像没有个成型的文章原创 2023-08-04 17:15:47 · 1982 阅读 · 0 评论 -
@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭
@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭原创 2023-06-25 14:17:16 · 454 阅读 · 2 评论 -
jvm参数详解、jvm调优
jvm参数详解转载 2022-10-30 16:23:13 · 2063 阅读 · 0 评论 -
java普通的类,利用内部类注入依赖的service(注入静态变量)
场景:在普通类或枚举类中,需要调用service,查数据库等;示例代码:public class XXX { private static testService test = null; @Component public static class GetService{ @Autowired private TestService testService; @PostConstruct..原创 2022-03-16 17:04:58 · 1581 阅读 · 0 评论 -
java 字符串转换为算数表达式(eval表达式)
例如-表达式:2500*2^(5-2) 说明:^为次方符号 import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public static void main(String[] args) throws ScriptException { int base = 2500; int hisCount = 5;..原创 2022-03-04 15:25:09 · 3046 阅读 · 0 评论 -
java计算经纬度距离
代码如下:package com.mortals.iot.retail.business.api.handler.order;public class LocationUtils { // 地球赤道半径 private static double EARTH_RADIUS = 6378.137; //等同——Math.toRadians() private static double rad(double d) { return d * Math.原创 2021-08-09 14:06:12 · 1653 阅读 · 0 评论 -
java强转报错[Ljava.lang.Object; cannot be cast to [Ljava.lang.Long;
如下:Long[] ids = (Long[]) result.stream().map(UserExtEntity::getId).collect(Collectors.toList()).toArray();就报错了toArray()返回的是Object[];解决办法:Long[] ids = new Long[result.size()];ids = (Long[]) result.stream().map(UserExtEntity::getId).collec..原创 2021-06-22 10:57:38 · 1278 阅读 · 1 评论 -
java发送163邮件
第一步:设置邮箱获取授权码(记得拷下来)第二步:代码jar包 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>java原创 2021-05-08 11:42:12 · 654 阅读 · 1 评论 -
nginx分发请求到多节点,sessionid变化不一致问题处理
场景:如图,系统有个验证码,通过sessionId为key,存在redis中;问题摘要:单节点怎么都没毛病,but————通过nginx分发请求到双节点,就会导致每次sessionId不同,从而导致验证码验证不了;简单解决办法:在Application加注解:@EnableRedisHttpSession说明:sessionId会保存在redis中,只要浏览器不关闭,sessionId就不会改变;(默认保存2100秒)...原创 2021-04-22 10:45:31 · 1210 阅读 · 0 评论 -
Sentinel快速运用(十分钟快速集成)
快速集成:Spring Boot2 集成 Sentinel 实现接口流量控制原理讲解(看得有点晕):阿里Sentinel原理解析转载 2021-03-19 09:54:15 · 485 阅读 · 0 评论 -
jmeter性能测试初尝试
首先打假:postman的runner不是真正的并发测试……但是网上却资料横飞,神TM的无脑复制文章;jmeter配置:个人觉得比较核心的4个配置,如图:1、HTTP Cookie管理器——配置cookie简单粗暴的方式——浏览器调试模式把cookie手敲进来cookie模板(未知的列,留着就行)# JMeter generated Cookie file#[域] 未知 [路径] 安全 未知 [名称] [值].原创 2021-03-01 17:36:44 · 397 阅读 · 1 评论 -
当天剩余时间,当月剩余时间(秒数),用于redis设置过期时间
public static void main(String[] args) { DateTime dateTime = new DateTime().millisOfDay().withMaximumValue(); long daySeconds = new Duration(new DateTime(), dateTime).getStandardSeconds(); System.out.println("当天剩余秒:" + daySe...原创 2020-11-18 18:31:54 · 1110 阅读 · 0 评论 -
AOP切面记录日志,并计算请求接口耗时
借鉴:https://blog.csdn.net/vtopqx/article/details/79917305package com.mortals.iot.framework.aspect;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import com.mortals.framework..原创 2020-09-11 16:00:15 · 1574 阅读 · 0 评论 -
使用JSONObject.toJavaObject报错 java.lang.VerifyError:(Incompatible argument to function)
错误:java.lang.VerifyError: (class: com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_12_GoodsForm, method: deserialzeArrayMapping signature: (Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava...原创 2020-09-04 18:33:20 · 2084 阅读 · 0 评论 -
java生成gif动图验证码
package com.mortals.iot.module.system.valid.web;import com.mortals.framework.util.SecurityImage;import com.mortals.iot.module.common.web.CommonController;import com.mortals.iot.module.system.base...原创 2020-04-10 14:01:48 · 850 阅读 · 0 评论 -
SpringMVC获取、重写请求request中的json参数
如图,postman中的json格式,后台解析参数我的json:{"loginName":"shanghu001","password":"shanghu1","belongType":1}请求体解析参数的工具类:package com.mortals.iot.framework.util;import com.alibaba.fastjson.JSONObject;imp...原创 2020-03-06 10:12:15 · 1345 阅读 · 0 评论 -
java分布式唯一序列号生成(如订单号)
/** * 订单号分布式——序列号生成工具 */public class SeqGenerator{ /** 开始时间截 (2017-01-01) */ private static final long twepoch = 1483200000000L; /** 时间所占的位数 */ private static final long times...原创 2019-12-30 10:48:52 · 1832 阅读 · 0 评论 -
java8常用技能
示例:List<Long> areaList = couponBaseExtraList.stream().filter(entity -> entity.getAreaId() != null).map(CouponBaseExtraEntity :: getAreaId).collect(Collectors.toList());初次看一脸懵逼1、箭头函数...原创 2019-12-12 13:32:12 · 2872 阅读 · 4 评论 -
java将InputStream或bytes写入本地文件
/***将InputStream写入本地文件* @param destination 写入本地目录* @param input输入流* @throws IOException*/private static void writeToLocal(String destination, InputStream input)throws IOException {i原创 2016-02-19 16:22:34 · 28302 阅读 · 1 评论 -
httpclient4.3.X post请求上传,将文件封装到请求体中(不以form表单形式)
场景:后台不是以form表单形式接收上传的文件,而是从请求体中直接获取(像这样req.getInputStream())http请求代码如下:public static void main(String[] args) throws Exception { CloseableHttpClient httpClient = null; HttpResponse response =原创 2016-05-04 10:19:24 · 1551 阅读 · 0 评论 -
mybatis配置中sql莫名其妙报错,多半是条件中小于符号捣的鬼
场景说明:sql语句是正确的,但是莫名其妙会报一个错误出来,让人很是费解经过许久的思考,发现小于符号和标签的开始符号有些端倪,如下:解决办法:1、<2、如上替换小于符号,即可完美解决此问题总结:xml格式的,不允许出现类似“ <原创 2016-03-28 10:33:36 · 2154 阅读 · 0 评论 -
git简单基本操作
Git操作:Git clone 【项目或者文件的地址】git pull originmaster 更新最新代码git status 检查待提交内容git add-A 增加提交文件,或者git add 【具体改动的某一个文件路径】git commit -m "addcomment"原创 2016-03-02 18:01:50 · 1083 阅读 · 0 评论 -
spring aop切面应用,记录日志、请求处理耗时
依赖jar包aopalliance.jar、aspectjrt.jar、aspectjweaver-1.6.jarspring配置文件(标红部分):<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:原创 2016-05-25 15:24:25 · 6105 阅读 · 0 评论 -
java利用set给数组去重
hashSet 无序treeSet 有序(对数据按其默认排序方式,进行排序) @Test public void test() throws Exception { Gson gson = new Gson(); Set hashSet = new HashSet(); Set treeSet = new TreeSet()原创 2016-05-13 14:14:35 · 5492 阅读 · 0 评论 -
正则匹配以某字符串开始的整行
如下,匹配以“http”开头的整行字符串^http.*$原创 2016-03-15 18:52:26 · 22655 阅读 · 0 评论 -
tomcat部署项目如何去掉项目名称
去掉项目名和端口:首先,进入tomcat的安装目录下的conf目录,我的目录是 /usr/local/apache-tomcat-6.0.20/conf,编辑文件server.xml. 1、去除端口号8080。将server.xml中的 connectionTimeout="40000" redirectPort转载 2016-03-03 10:12:40 · 18244 阅读 · 3 评论 -
linux查看Tomcat连接数;日志统计某字段出现的次数
Tomcat连接数netstat -na | grep ESTAB | grep 8080 | wc -l某字段出现的次数cat /XXXlog.txt | grep "hello" | grep "download" | wc -l原创 2016-02-03 14:12:18 · 1871 阅读 · 0 评论 -
长连接与nginx
长连接详解http://www.cnblogs.com/cswuyg/p/3653263.htmlnginx 配置详解:http://www.cnblogs.com/bluestorm/p/4574688.html转载 2016-01-15 10:35:21 · 1120 阅读 · 0 评论 -
eclipse编辑jsp文件和javascript代码很卡解决办法
Window -> Preference -> General -> Editors -> Text Editors -> HyperLinking -> 在用Ctrl键控制的HyperLinking Style Nevigation列表下, 取消勾选与JPS或Javascript有关的选项转载 2015-04-14 11:29:35 · 1111 阅读 · 0 评论 -
行业类别-树形结构(数据字典、参数化,数据库)
花一天时间整理【国民经济行业分类(GB/T 4754-2011)】,将其整理成树形结构数据一、Excel中整理数据二、数据库中数据三、最终界面参数字典展示相关Excel、数据下载原创 2015-04-11 17:18:14 · 5607 阅读 · 2 评论 -
周、月、季度、半年、年自动生成任务,存储过程
create or replace package body pg_task_generate as procedure p_biz_task_generate /****************************************************************** 功能说明:自动任务生成,定时扫描任务配置中任务计划,分周、月、季度、半年、年生成原创 2015-02-06 14:24:55 · 1851 阅读 · 0 评论 -
调试模式启动项目,老是自动弹出ThreadpoolExecutor
最近调试模式启动项目,时不时就自动弹出ThreadpoolExecutor,真心的很烦解决办法:(去掉Suspend execution on uncaught exceptions选项)原创 2015-02-06 14:05:21 · 1485 阅读 · 0 评论 -
java读取word内容
一个简单的读取word内容的方法,只限读取文本,需要tm-extractors-0.4.jarpublic static void main(String args[]) throws Exception { new ResaveDoc().readText(); } public void readText() throws Exception { FileInputStrea原创 2015-01-22 14:50:11 · 1022 阅读 · 0 评论 -
JAVA,JSP,Servlet获取当前工程路径-绝对路径
在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。另:在Jsp,Servlet,Java中详细获得路径的方法!1.jsp中取得路径:以工程名为TEST为例:(1)转载 2015-01-20 14:26:49 · 815 阅读 · 0 评论 -
calendar循环展示过去12个月
public static void main(String[] args) { // 展示过去12个月 Calendar calendar = Calendar.getInstance(); Date now = null; try { now = DateUtils.parseDate( DateFormatUtils.format(new Date(), "y原创 2015-01-08 10:31:25 · 2141 阅读 · 0 评论