java
南下狩猎的小花猫
天生喜欢编程,就像自己喜欢地理一样,热爱到骨子里。
工作使用7年多的Java、JavaScript;
工作之外研究ANSI C、Python
展开
-
CompletableFuture多线程加速
CompletableFuture多线程加速原创 2023-04-03 14:18:27 · 98 阅读 · 0 评论 -
Mybatis-Plus数据权限插件DataPermissionInterceptor
Mybatis-Plus数据权限插件DataPermissionInterceptor原创 2023-01-30 16:49:12 · 378 阅读 · 0 评论 -
CompletableFuture多线程加速
CompletableFuture 多线程加速原创 2022-06-06 16:36:37 · 111 阅读 · 0 评论 -
阿里云邮箱25端口被关闭,改用465端口Java发送邮件
阿里云出于安全考虑默认关闭25端口,开发的是465端口,我们只讲怎么发送邮件。 <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency&原创 2021-12-30 15:09:52 · 1745 阅读 · 0 评论 -
类钉钉,activiti5.22发起流程时候动态指定审批人
一个简单的申请流程如下:<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activit原创 2021-12-15 16:51:56 · 3417 阅读 · 2 评论 -
两张表数据合并显示,还要分页?
这个问题说起来挺难受的,假设表table1和table2是两个不同的表,但是基本该有的字段一致,除了有几个字段不同,由于历史的遗留的设计原因,不知道到你已经第几手代码(此时你想骂娘,我也想。我就遇上了。)奇葩的需求是:前端UI设计师要求一个列表页面同时要显示两表的数据(要分页)。说白了就是后端实际两张表,前端UI设计师看来就是一张表的数据,呵呵,必须分页啊,两张表分页?难搞哦,话说来,分库分表中间件才会遇上的事情被你遇上了。好了,我们开干。分析://①表示table1//②表示table2//假原创 2021-12-06 17:23:13 · 3486 阅读 · 7 评论 -
Java使用FFmpeg(自定义cmd)系列之官方API获取视频/音频信息(URL方式)
ffmpeg系列Java使用FFmpeg(自定义cmd)Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长Java使用FFmpeg(自定义cmd)系列之官方API获取视频/音频信息Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长(File文件方式)Java使用FFmpeg(自定义cmd)系列之mp4转hsl编码m3u8Java使用FFmpeg(自定义cmd)系列之MP4 转码 HLS m3u8 AES128 加密使用ffmpeg 官方API获取视频/音频信息,废话原创 2021-11-19 14:20:11 · 1765 阅读 · 0 评论 -
Java多线程异步编程之:Futrue、FutureTask、CompletionService、CompletableFuture
上结论:demo为先,上代码:一、Futrue:package com.hsj.future;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c原创 2021-11-18 10:36:40 · 635 阅读 · 0 评论 -
acriviti_5.22,获取流程全部的UserTask节点
import com.alibaba.fastjson.JSON;import com.iwmake.activiti.IwmakeActivitiApplication;import com.iwmake.activiti.contant.ActivitiConstantActive;import lombok.extern.slf4j.Slf4j;import org.activiti.engine.*;import org.activiti.engine.history.HistoricA.原创 2021-11-16 11:41:36 · 1230 阅读 · 0 评论 -
数据权限dataScope的一种实现方式:mybatis拦截器改写SQL(springboot)
import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.apache.ibatis.executor.statement.StatementHandler;import org.apache.ibatis.mapping.BoundSql;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibat原创 2021-10-08 17:30:18 · 1102 阅读 · 0 评论 -
springboot2.x玩转quartz
介绍springboot2.x整合quartz,并给出一个基本的jdbc持久化的cron示例。maven依赖: <!--spring boot集成quartz--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</ar原创 2021-09-18 11:27:43 · 620 阅读 · 0 评论 -
netty protobuf 序列化协议之 自定义协议头、协议体
接上篇:netty protobuf 序列化协议之 多个message本篇讲讲自定义协议头、协议体时候,怎么使用protobuf作为序列化和反序列化。部分代码思路来源黑马netty教程。gitee:https://gitee.com/hsjjsh123/itcast_netty/tree/master/code/my_netty_study/Netty-protobuf-selfDef先看一下自定义协议编解码器: 4 字节的魔数 1 字节的版本 1 字节的序列化方式 protobuf = 0原创 2021-07-30 13:09:16 · 1812 阅读 · 3 评论 -
netty protobuf 序列化协议之 多个message
netty已经实现了对Google protobuf序列化协议的编解码:◎编码过程: 通过ProtobufVarint32LengthFieldPrepender 将整个消息体的长度作为消息头附加在消息体,然后使用ProtobufEncoder进行编码,编码完成后将编码结果字节数组通过Netty进行传输。◎解码过程: 接受消息的时候,ProtobufVarint32FrameDecoder 先接受消息头,获取消息体的字节数组长度,直到获取到等于消息字节数组长度的字节数,才使用Protobuf原创 2021-07-30 11:44:46 · 1311 阅读 · 0 评论 -
【看完就会】Netty的LengthFieldBasedFrameDecoder的用法详解(转)
前言LengthFieldBasedFrameDecoder类是Netty提供的用来解析带长度字段数据包的类,继承自ByteToMessageDecoder类。一,粘包与拆包问题经典的粘包拆包问题在Netty的官网文档中已经有很详细的解释,这里我直接复制过来:In a stream-based transport such as TCP/IP, received data is stored into a socket receive buffer. Unfortunately, the buffe转载 2021-07-08 17:15:23 · 1825 阅读 · 0 评论 -
Java使用FFmpeg(自定义cmd)系列之官方API获取视频/音频信息(FIle方式)
使用ffmpeg 官方API获取视频/音频信息,废话不多说,代码说话:不用我们安装FFmpeg,项目自动依赖ffmpeg,已经有开源实现:https://github.com/a-schild/jave2下面的代码基于:3.1.1 versionmaven坐标:<dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <ver原创 2021-07-02 18:21:30 · 2170 阅读 · 1 评论 -
Java知识,String intern之==比较;实际中千万不要==比较,推荐equals
package test;/** * JDK1.8测试 * @Description:(intern之String==比较;实际中千万不要==比较,推荐equals) * @author: HeShengjin * @date: 2021年6月30日 下午4:05:48 * @Copyright: */public class StringTest { public static void main(String[] args) { String s1 = "he"原创 2021-06-30 16:14:55 · 115 阅读 · 0 评论 -
Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长(File文件方式)
使用ffmpeg 自定义的cmd命令获取时长,废话不多说,代码说话:不用我们安装FFmpeg,项目自动依赖ffmpeg,已经有开源实现:https://github.com/a-schild/jave2下面的代码基于:3.1.1 versionmaven坐标:<dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <vers原创 2021-06-30 14:27:10 · 1902 阅读 · 3 评论 -
Java使用FFmpeg(自定义cmd)系列之MP4 转码 HLS m3u8 AES128 加密
使用ffmpeg 自定义的cmd命令MP4 转码 HLS m3u8 AES128 加密,废话不多说,代码说话:不用我们安装FFmpeg,项目自动依赖ffmpeg,已经有开源实现:https://github.com/a-schild/jave2下面的代码基于:3.1.1 versionmaven坐标:<dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</art原创 2021-06-28 13:00:03 · 2446 阅读 · 2 评论 -
Java使用FFmpeg(自定义cmd)系列之mp4转hsl编码m3u8
使用ffmpeg 自定义的cmd命令MP4转hls编码m3u8文件,废话不多说,代码说话:不用我们安装FFmpeg,项目自动依赖ffmpeg,已经有开源实现:https://github.com/a-schild/jave2下面的代码基于:3.1.1 versionmaven坐标:<dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId>原创 2021-06-28 09:22:16 · 1525 阅读 · 2 评论 -
java参数值传递基础易错点
①请问输出什么?public class Test { public static void main(String[] args) { A a = new A(); a.setName("baidu"); a.setB(new B() {{setName("xiaomi");}}); System.out.println("(1)调用change前"+a.getName()+"--"+a.getB().getName());原创 2021-06-24 10:07:01 · 101 阅读 · 0 评论 -
java继承初始化
package test;public class Test002 { public static void main(String[] args) { new Child(); System.out.println("/////////////////////////////////////////////////"); new Child(); }}class Parent{ static { System.out.print原创 2021-06-23 17:56:44 · 248 阅读 · 0 评论 -
Java使用FFmpeg(自定义cmd)系列之获取视频/音频时长
使用ffmpeg 自定义的cmd命令获取时长,废话不多说,代码说话:package com.hsj;import java.io.IOException;import java.io.InputStream;import java.math.BigDecimal;import java.util.HashMap;import java.util.Map;import java.util.concurrent.CompletableFuture;import java.util.concur原创 2021-06-23 15:04:31 · 2134 阅读 · 0 评论 -
Spring Security Oauth2 授权码模式下 自定义登录、授权页面
一开始网上教程一堆,都是各抄各的,有的直接代码缺少,有的直接不可以用(MLGB的),于是乎去spring官网找找看,还真找到,最终自己配置搭建成功跑了一遍demo,美滋滋。一些HTML文件还是网上的,见谅~由于是springcloud项目(注册和配置中心是nacos),认证中心在auth模块,自己demo搭建测试直接在auth模块,没有走网关gatewaysys_oauth_client_details表:CREATE TABLE `sys_oauth_client_details` ( `cli原创 2021-06-18 10:16:33 · 12833 阅读 · 31 评论 -
Java CompletableFuture.allOf() 、thenApplyAsync()、thenRun()等使用
package java8;//import com.google.common.util.concurrent.ThreadFactoryBuilder;import java.time.Instant;import java.time.temporal.ChronoUnit;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.*;im原创 2021-05-07 16:37:14 · 3615 阅读 · 2 评论 -
springcloud 线程池进行微服务之间调用,传递Authentication
上代码:import org.springframework.security.core.Authentication;import org.springframework.security.core.context.SecurityContextHolder;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;@ResourceThreadPoolTaskExecutor threadPoolTaskE原创 2021-05-07 15:39:27 · 439 阅读 · 0 评论 -
excelpptword2pdf(excel、ppt、word、格式转pdf)
源自网上收集整理,搭建了demo的项目工程实例,废话不多说,直接上代码:普通版:https://gitee.com/hsjjsh123/excelpptword2pdfmaven版:https://gitee.com/hsjjsh123/excelpptword2pdf-maven原创 2020-08-21 11:14:28 · 173 阅读 · 0 评论 -
springMVC @RequestBody接收ajax的前端配置(jquery ajax)
@RequestMapping(value = "/insertAndUpdate", method = { RequestMethod.GET,RequestMethod.POST }) public Result<Object> insertAndUpdate(@RequestBody List<Object> list){ return new Result<Object>("0","操作成功",service.insertAndUpd原创 2020-08-13 11:50:35 · 282 阅读 · 0 评论 -
Springboot redis hash操作demo
pom依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</group原创 2020-06-03 16:38:17 · 559 阅读 · 0 评论 -
获取一段时间内的每天的小时
获取一段时间内的每天的小时import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.HashMap;import j...原创 2019-12-03 13:14:10 · 475 阅读 · 0 评论 -
HashMap初始化指定大小,负载因子0.75
import java.util.HashMap;import java.util.Map;public class HashMapTest { /** * The largest power of two that can be represented as an {@code int}. * * @since 10.0 * 00000000 0000...原创 2019-10-31 10:38:09 · 453 阅读 · 0 评论 -
Builder模式简单理解
Builder模式简单理解转载 2019-10-15 16:31:44 · 147 阅读 · 0 评论 -
jvm
https://segmentfault.com/a/1190000014395186转载 2019-01-06 15:29:17 · 118 阅读 · 0 评论 -
Java 多线程
https://www.cnblogs.com/wxd0108/p/5479442.html转载 2019-01-06 15:30:46 · 149 阅读 · 0 评论 -
google protobuf
https://github.com/protocolbuffers/protobuf/releaseshttps://blog.csdn.net/liupeifeng3514/article/details/78985575转载 2019-02-12 14:36:23 · 159 阅读 · 0 评论 -
JVM
https://www.cnblogs.com/cnki/p/8933996.html转载 2019-06-25 09:40:11 · 113 阅读 · 0 评论 -
教你实现一个简易版的retrofit(最基本原理实现)
*************************************************代理的真相*************************************************//当你写下下面接口代码时候public interface IUserService{ Object login(String username, String password)...原创 2019-06-25 17:02:18 · 447 阅读 · 0 评论 -
javaweb输出JavaScript代码(相当于别人引用了一个.js的文件)
@RequestMapping(value="/PrintWriter", method={RequestMethod.GET,RequestMethod.POST},produces="text/html;charset=UTF-8") @ResponseBody public void PrintWriter(HttpServletRequest request...原创 2019-07-09 15:41:12 · 829 阅读 · 0 评论 -
spring-security-crypto加密模块
<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-crypto</artifactId> <version>5.1.2.RELEASE</version>...原创 2019-06-28 15:15:28 · 5146 阅读 · 0 评论 -
java服务接口参数校验的一种方式(hibernate-validator使用)
文章主要讲解在Springboot里面使用hibernate-validator,默认Springboot已经帮我们集成了hibernate-validator。其他方式加入依赖:<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-valida...原创 2019-07-10 14:36:45 · 1862 阅读 · 0 评论 -
Spring boot中配置事务管理
https://blog.csdn.net/weixin_44554160/article/details/86775915转载 2019-09-25 16:04:54 · 123 阅读 · 0 评论