
java
多来哈米
或悲极或大喜,总要留给回忆!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个接口多线程异步处理提速,方案
本文探讨了分页查询性能优化方案,提出四种多线程并发处理思路:1)基于线程池状态判断(仅适合单机定时任务);2)推荐使用CountDownLatch+线程池,通过计数器实现分页任务同步;3)CyclicBarrier方案(适用性有限);4)Phaser方案(适合多阶段业务流,但复杂度高)。其中方案2通过countDown()和await()机制实现任务协调,是最推荐的通用解决方案。原创 2025-08-09 15:11:57 · 127 阅读 · 0 评论 -
MQTT 协议快速入门 2025:基础知识和实用教程
MQTT物联网协议指南:核心原理与实战应用 MQTT是专为物联网设计的轻量级发布-订阅协议,具有低带宽、高可靠性的特点。本指南系统讲解了MQTT的核心优势、工作原理和实际应用: 核心特点: 轻量级架构适合资源受限设备 三种QoS等级保障消息可靠性 双向通信和会话保持能力 支持TLS/SSL加密和安全认证 工作流程: 通过Broker中转消息,实现发布者与订阅者解耦 主题层级和通配符支持灵活的消息路由 提供保留消息、遗嘱消息等高级功能 实战演示: 使用EMQX公共Broker和MQTTX工具 包含主题订阅、消转载 2025-07-02 10:54:25 · 174 阅读 · 0 评论 -
java利用smartdoc生成api接口说明文档
smartdoc生成api接口说明文档。原创 2025-01-03 15:10:04 · 224 阅读 · 0 评论 -
java类复制mapstruct(convertor转换器)
类拷贝或属性拷贝,采用BeanUtil会用反射,性能不佳。通过字段的值,条件判断赋值//其他场景:不同字段映射;来自其他参数赋值(多个参数实体,赋值到同一对象);调用外部方法赋值;java自带的系统类;日期转换;原创 2024-07-03 10:47:16 · 564 阅读 · 0 评论 -
javax validation常用注解
NotEmpty:验证字符串,数组,Collection,Map不可为 null或者长度必须大于0,对于字符串不可以为"",但是可以为" ";@NotBlank:只能验证字符串且该字符串执行trim()方法(删除字符串头和尾的空字符)之后长度大于0也就是说" "会报错;@Size:验证对象(数组、集合、Map、字符串等)的长度是否在指定的范围内;@DecimalMin:验证数字是否大于等于指定的值;@Min:验证数字是否大于等于指定的值;@Max:验证数字是否小于等于指定的值;转载 2024-04-22 09:19:09 · 408 阅读 · 0 评论 -
java实体设置默认值
通过build的方式,默认值不起作用;直接new,默认值有效;原创 2024-02-28 14:39:06 · 1764 阅读 · 0 评论 -
List分页处理,利用subList截取(java截取拼接URL)
N多个参数,截取指定个数,拼接URL。原创 2023-12-08 15:25:17 · 1015 阅读 · 0 评论 -
spring事件和线程池区别
Spring事件(Spring Event)和线程池(Thread Pool)是两个不同的概念原创 2023-08-28 10:18:42 · 685 阅读 · 0 评论 -
idea中cherry pick怎么用
cherry pick简而言之就是同一个commit,然后复制提交到其他分支(只检出本次提交的);解决:两个分支都需要提交相同代码,但是又不能用同一份代码提到开发和测试环境(因为两个环境代码不一样可能存在冲突)写这篇文章的目的:网上的文章比较杂乱,具体idea里面怎么操作,好像没有个成型的文章原创 2023-08-04 17:15:47 · 2244 阅读 · 1 评论 -
@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭
@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭原创 2023-06-25 14:17:16 · 612 阅读 · 2 评论 -
jvm参数详解、jvm调优
jvm参数详解转载 2022-10-30 16:23:13 · 2914 阅读 · 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 · 1717 阅读 · 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 · 3202 阅读 · 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 · 1796 阅读 · 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 · 1450 阅读 · 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 · 789 阅读 · 1 评论 -
nginx分发请求到多节点,sessionid变化不一致问题处理
场景:如图,系统有个验证码,通过sessionId为key,存在redis中;问题摘要:单节点怎么都没毛病,but————通过nginx分发请求到双节点,就会导致每次sessionId不同,从而导致验证码验证不了;简单解决办法:在Application加注解:@EnableRedisHttpSession说明:sessionId会保存在redis中,只要浏览器不关闭,sessionId就不会改变;(默认保存2100秒)...原创 2021-04-22 10:45:31 · 1414 阅读 · 0 评论 -
Sentinel快速运用(十分钟快速集成)
快速集成:Spring Boot2 集成 Sentinel 实现接口流量控制原理讲解(看得有点晕):阿里Sentinel原理解析转载 2021-03-19 09:54:15 · 600 阅读 · 0 评论 -
jmeter性能测试初尝试
首先打假:postman的runner不是真正的并发测试……但是网上却资料横飞,神TM的无脑复制文章;jmeter配置:个人觉得比较核心的4个配置,如图:1、HTTP Cookie管理器——配置cookie简单粗暴的方式——浏览器调试模式把cookie手敲进来cookie模板(未知的列,留着就行)# JMeter generated Cookie file#[域] 未知 [路径] 安全 未知 [名称] [值].原创 2021-03-01 17:36:44 · 526 阅读 · 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 · 1240 阅读 · 0 评论 -
AOP切面记录日志,并计算请求接口耗时
借鉴:https://blog.youkuaiyun.com/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 · 1736 阅读 · 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 · 2273 阅读 · 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 · 982 阅读 · 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 · 1455 阅读 · 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 · 2024 阅读 · 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 · 3568 阅读 · 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 · 29007 阅读 · 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 · 1651 阅读 · 0 评论 -
mybatis配置中sql莫名其妙报错,多半是条件中小于符号捣的鬼
场景说明:sql语句是正确的,但是莫名其妙会报一个错误出来,让人很是费解经过许久的思考,发现小于符号和标签的开始符号有些端倪,如下:解决办法:1、<2、如上替换小于符号,即可完美解决此问题总结:xml格式的,不允许出现类似“ <原创 2016-03-28 10:33:36 · 2313 阅读 · 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 · 1184 阅读 · 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 · 6225 阅读 · 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 · 5604 阅读 · 0 评论 -
正则匹配以某字符串开始的整行
如下,匹配以“http”开头的整行字符串^http.*$原创 2016-03-15 18:52:26 · 23760 阅读 · 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 · 18437 阅读 · 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 · 1984 阅读 · 0 评论 -
长连接与nginx
长连接详解http://www.cnblogs.com/cswuyg/p/3653263.htmlnginx 配置详解:http://www.cnblogs.com/bluestorm/p/4574688.html转载 2016-01-15 10:35:21 · 1211 阅读 · 0 评论 -
eclipse编辑jsp文件和javascript代码很卡解决办法
Window -> Preference -> General -> Editors -> Text Editors -> HyperLinking -> 在用Ctrl键控制的HyperLinking Style Nevigation列表下, 取消勾选与JPS或Javascript有关的选项转载 2015-04-14 11:29:35 · 1202 阅读 · 0 评论 -
行业类别-树形结构(数据字典、参数化,数据库)
花一天时间整理【国民经济行业分类(GB/T 4754-2011)】,将其整理成树形结构数据一、Excel中整理数据二、数据库中数据三、最终界面参数字典展示相关Excel、数据下载原创 2015-04-11 17:18:14 · 5915 阅读 · 2 评论 -
周、月、季度、半年、年自动生成任务,存储过程
create or replace package body pg_task_generate as procedure p_biz_task_generate /****************************************************************** 功能说明:自动任务生成,定时扫描任务配置中任务计划,分周、月、季度、半年、年生成原创 2015-02-06 14:24:55 · 2012 阅读 · 0 评论 -
调试模式启动项目,老是自动弹出ThreadpoolExecutor
最近调试模式启动项目,时不时就自动弹出ThreadpoolExecutor,真心的很烦解决办法:(去掉Suspend execution on uncaught exceptions选项)原创 2015-02-06 14:05:21 · 1595 阅读 · 0 评论