java
文章平均质量分 56
connection_
这个作者很懒,什么都没留下…
展开
-
基于java实现图片中任意封闭区域识别
在浏览器中给用户呈现一张图片,用户点击图片中的某些标志物,需要系统给出标志物的信息反馈,达到一个交互的作用。后续只需要通过xy坐标得到颜色,在通过颜色得到对应的图片相关信息即可。应用时候的复杂度为O(1)比如下图中,点击某个封闭区域时候,需要告知用户点击的区域名称及图形形状特性等等。实现思路模仿 window系统中画图工具的区域填充工具。原创 2024-05-29 21:30:00 · 734 阅读 · 0 评论 -
pdf和图片java代码生成水印
水印会随着水印文本的长度而自动是修改字体大小,使其可以合理的放置于一行。原创 2023-02-01 17:31:53 · 604 阅读 · 0 评论 -
通过feign的RequestInterceptor 修改实际调用服务名称
通过feign的RequestInterceptor 修改实际调用服务名称原创 2023-01-11 22:30:35 · 927 阅读 · 0 评论 -
java解决web端系统内嵌跨越问题,Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。
Cookie 的SameSite属性用来限制第三方 Cookie,从而减少安全风险。它可以设置三个值。StrictLaxNone1、Strict 最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie。Set-Cookie: CookieName=CookieValue; SameSite=Strict;这个规则过于严格,可能造成非常不好的用户体验。比如,当前网页有一个 GitHub 链接,原创 2022-03-17 19:11:01 · 1955 阅读 · 0 评论 -
mybatis ${ } 内部如果有 #{} 变量占位,是可以正常解析的变量的
package org.apache.ibatis.scripting.xmltags;import org.apache.ibatis.builder.SqlSourceBuilder;import org.apache.ibatis.mapping.BoundSql;import org.apache.ibatis.mapping.SqlSource;import org.apache.ibatis.session.Configuration;public class DynamicSqlSo原创 2022-03-07 18:15:12 · 130 阅读 · 0 评论 -
Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。
Cookie 的SameSite属性用来限制第三方 Cookie,从而减少安全风险。它可以设置三个值。StrictLaxNone1、Strict 最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie。Set-Cookie: CookieName=CookieValue; SameSite=Strict;这个规则过于严格,可能造成非常不好的用户体验。比如,当前网页有一个 GitHub 链接,原创 2021-12-13 09:29:08 · 737 阅读 · 0 评论 -
resilience4j-timelimiter 1.7.1 解读
RateLimiterConfig config = RateLimiterConfig.custom() //当令牌不够时,等待1秒钟,若1秒钟后得不到则抛出异常RequestNotPermitted .timeoutDuration(Duration.ofSeconds(1)) //5秒钟一次重置令牌到limitForPeriod,若时间被回拨,回拨时间点周期有所影响 .limitRefreshPeriod(Duration.o原创 2021-07-19 18:07:17 · 977 阅读 · 0 评论 -
雪花算法不受服务器时间的影响解决方案
在这里插入代码片/** * * 获取系统运行期间,永远增长时间搓,可以使用年限146. * 每次重新启动运行后,都从0开始,能够保证在运行期间,一直自增,不受系统时间被回拨(回退,前进)的影响。 * 使用场景举例: * 有人提了雪花算法如何保证服务器时间回拨了还保证生成的id递增的问题,其实想想也很简单。 * 1、系统基准时间商定: 系统在初始化生成器时,寻找初始化基准时间,先去已经启动的其它任何一个节点获取它们当前记录的时间搓,若没有启动的节点,那么取数据库中当前最大ID进行分析原创 2021-04-26 16:28:24 · 761 阅读 · 0 评论 -
java实现在运行时即时编译及执行代码
private void compileTheJavaSrcFile(String sourceCode, String className) {try {/////////////////////////////////////////////1、源代码保存到文件中/////////////////////////////////////long n = ThreadLocalRandom.current().nextLong();File file = new File("D:\\tmp原创 2021-02-06 13:47:59 · 964 阅读 · 3 评论 -
xxl-job 2.2.0
前言: 什么是定时任务?希望代码在未来的时间里,按照一定的规律执行。类似于闹钟的开发,希望每天早上7点叫我起床。如果你的系统不进行分布式部署,仅仅是单机部署目前我们的定时任务如何写的: 定时调度器与业务代码共存@Cron(" * * 1 * * ?")public void fun (){ //.......... code .....}部署后的运行方式如下图整个系统调度与执行在一起,单系统部署不存在问题,能够保证定时任务在指定的调度时间被执行一次。...原创 2020-12-22 09:22:59 · 1052 阅读 · 1 评论 -
netty使用http协议开发文件服务器
本文通过netty实现一个简单的文件服务器,能够像nginx一样将目录结构列举出来并且支持下载 1、 对应目录: 点击文件目录可以进行下钻, 而且可以通过 ".."进行回退到上一个目录。 2、对应文件: 支持下载。一、首先先编写服务启动类,配置好netty的启动参数及pipeline。相关代码如下:public class HttpServer { //绑定端口 private int port; //boss线程...原创 2020-12-10 18:07:18 · 418 阅读 · 0 评论 -
mysql根据.frm和.ibd文件恢复表结构和数据的具体代码实现,能够批量恢复数据
本文是为了让这篇博客 https://blog.csdn.net/hzw19920329/article/details/78045864 能够进行半自动的实现数据恢复。让恢复速度快起来package com.mysql.data.recover;import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.HashMap;import java.util.L原创 2020-09-15 15:00:44 · 730 阅读 · 2 评论 -
debezium+kafka connect的mysql增量同步解决方案
debezium+kafka connect的mysql增量同步解决方案本次安装版本记录:Kafka: kafka_2.12-2.5.0Debezium: debezium-connector-mysql-1.2.0.Final-plugin.tar.gzJava: java8+Mysql: mysql7+kafka_home: /server/kafka/kafka_2.12-2.5.0 (kafka主目录截图如下)启动kafka:cd kafka_原创 2020-07-21 18:36:13 · 2472 阅读 · 2 评论 -
wait释放锁的说明
wait释放锁的说明wait仅仅释放调用这个对象的锁wait仅仅释放调用这个对象的锁package com.hengyunsoft.msg.future;/**线程在对象的wait方法上面会释放锁,但是仅仅释放指定对象的锁,比如下面的仅仅释放了锁o2,但是(but)o1锁是没有被释放掉的哦@author pdy*/public class Test implements Run...原创 2019-07-16 21:05:28 · 7723 阅读 · 0 评论 -
shiro Ajax请求未登陆响应json串实现
package com.cc.sec;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servle...原创 2016-09-18 11:00:27 · 410 阅读 · 0 评论 -
rabbitmq实现高吞吐量的rpc调用
rabbitmq实现rpc调用基本思路:客户端(client):客户端发起rpc调用,这当成一个消息,发送到rabbitmq服务器。这个消息会携带两个特殊(额外)的信息,一个是调用序号,一个是回调队列名称。调用序号需要服务端原样返回,而回调队列名称是用于服务端将结果放入这个队列中,以便客户端取回结果。服务端(service):服务端接收到了一个rpc调用后,执行调用代码,将结果返回到指定的...2016-10-09 16:21:13 · 1721 阅读 · 0 评论 -
Rabbitmq高可用设计思路
Rabbitmq高可用设计思路设计保证:1、消息不丢失(将消息存储到磁盘)。Rabbitmq服务器分为内存服务器和磁盘服务器,若你需要你的消息服务器保证消息不丢失,则将消息保存到磁盘,是磁盘消息。如何将消息设置为磁盘消息:A.将消息的投递模式设置为2(持久模式)BasicProperties.deliveryMode = 2B.发送到持久化的交换机C.存储到持久...原创 2016-10-14 17:41:02 · 610 阅读 · 0 评论 -
通过修改web.xml让服务器重启的问题
通过修改web.xml让服务器重启的问题?通过修改web.xml让服务器重启时,项目中开启的线程都不会自动的被关闭,只有你自己去传达web容器关闭事件,通知运行中的线程,让其自动关闭。这里我经常使用的是观察者模式,代码如下:监听web容器关闭事件,并自启动一个关闭线程来进行关闭操作,因为web容器的关闭时间是有限的。public class WebContentClose impl...2015-11-26 09:28:13 · 667 阅读 · 0 评论 -
支持分布式的id生成器
import java.util.concurrent.atomic.AtomicInteger;/** * 这里的位是从高位说起的,第一位说的是符号位。 * 1bit + 41bit + 17bit + 5bit * 第1bit固定是0 符号位不动 。 * 第2bit到第42bit使用时间蹉,精确到毫秒 41bit。 使用年限是69年 * 第43bit到第59bi...原创 2016-11-09 18:00:27 · 158 阅读 · 0 评论 -
用java代码来定时增量同步数据库表的实现代码
import java.io.Serializable;import java.util.List;/** * Created by Administrator on 2017/4/19. * 这是基于是单线程来执行同步 千万不允许多线程执行 多线程执行太难写了 放弃吧!!!!! * 这里我们考虑有时间因素、以及mysql mvcc非锁定读的因素。 * 时间...原创 2017-04-20 17:08:30 · 13934 阅读 · 1 评论 -
md5加密,jdk7 与jdk8对含有中文的明文加密注意
private static final String ALGORITHM_MD5 = "MD5"; /** * Encrypt the password with MD5 * * @param pass * the password to encryption * @return encryption string */ p...原创 2015-12-29 12:27:05 · 1486 阅读 · 0 评论 -
java读写锁升级与降级、并会发现死锁。抛出异常
package com.huawei.test;import java.util.HashMap;import java.util.Map;public class SpinReadWriteLock { private volatile Thread writeThread = null; private volatile int writeCount = 0;...原创 2017-08-10 16:35:50 · 996 阅读 · 0 评论 -
java模拟多处理器调度
import java.util.LinkedList;import java.util.Random;public class ThreadDispatch extends Thread{ //需要暂用几个时间片 private int count; //是否分配到了处理器标志 private volatile boolean holdCpu; //暂用的处理...原创 2017-08-14 10:10:31 · 429 阅读 · 0 评论 -
多个key,单个value的缓存实现
假如一条记录可以用id,idcard,name分别唯一的查询到,且提供了三个接口(支持上面的查询)存储映射key:id idcard namevalue:id id id存储真实值key:id value:value需要查询两次(用idcard 与name来查询)想的是比方用idcard来查询,查询缓...原创 2017-09-11 17:58:39 · 939 阅读 · 0 评论 -
api调用计数限制
import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.atomic.AtomicInteger;public class ApiInvokeLimit { private volatile long nextTime = 0; private final long invetime...原创 2017-10-10 09:56:35 · 554 阅读 · 0 评论 -
javac 和 java不同小版本时会报错,最后配置一样
Information:Using javac 1.8.0_111 to compile java sourcesInformation:java: javacTask: 源发行版 1.8 需要目标发行版 1.8Information:java: Errors occurred while compiling module 'boot-pdy'Information:2017/2/24...原创 2017-02-24 14:20:33 · 297 阅读 · 0 评论 -
spring声明式事物不起作用的原因
09:41:37,848 [main] INFO jdbc.connection - 3. Connection opened org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)09:41:37,849 [main] DEBUG ...原创 2017-03-04 21:52:50 · 332 阅读 · 0 评论 -
使用java反射机制实现java的深拷贝
import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.util.Date;import com.pdy.test.User;//这就是一个实现了深拷贝的反射pu...原创 2014-09-10 11:32:59 · 720 阅读 · 0 评论