自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 mysql公用表表达式CTE

公用表达式是MySQL8.0的新特性,它是一个命名的临时结果集,作用范围是当前语句。可以理解成为当前sql语句定义了一个视图,sql语句的任何地方都可以使用这个视图,如果被多次使用就体现出了公用表达式的特点公用。依据语法结构和执行方式不同,公用表达式可以分为普通公用表达式和递归公用表达式。#公共表表达式定义语法。

2024-03-28 16:28:27 380

原创 pdf和图片java代码生成水印

水印会随着水印文本的长度而自动是修改字体大小,使其可以合理的放置于一行。

2023-02-01 17:31:53 570

原创 通过feign的RequestInterceptor 修改实际调用服务名称

通过feign的RequestInterceptor 修改实际调用服务名称

2023-01-11 22:30:35 811

原创 seata源码解读

1、GlobalTransactionalInterceptor seata事务管理器。GlobalTransactionalInterceptor 作为seata事务管理器,他负责全局事务的开启及提交。他解析 @GlobalTransactional 和 @GlobalLock。我们先分析 @GlobalTransactional。由@GlobalTransactional 以及代理调用方法MethodInvocation构建TransactionalExecutor事务执行器。执行器提供了获取

2022-06-12 20:05:03 375

原创 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 1802

原创 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 114

原创 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 697

原创 cannal 项目分析

cannal 1.1.5 版本先有一个整体的认识,canal分为如下三个独立运行的项目。canal.deployer 实现数据从binlog日志解析到提供数据给其他组件消费。以下简称canalcanal.admin-web 是cannal的管理平台,能够实现cannal的动态配置,动态启停,知道cannal是否运行,查看canal运行日志,以下简称canal-adminclient-adapter.launcher cannal提供了数据接口

2021-09-15 17:01:05 388

原创 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 895

原创 雪花算法不受服务器时间的影响解决方案

在这里插入代码片/** * * 获取系统运行期间,永远增长时间搓,可以使用年限146. * 每次重新启动运行后,都从0开始,能够保证在运行期间,一直自增,不受系统时间被回拨(回退,前进)的影响。 * 使用场景举例: * 有人提了雪花算法如何保证服务器时间回拨了还保证生成的id递增的问题,其实想想也很简单。 * 1、系统基准时间商定: 系统在初始化生成器时,寻找初始化基准时间,先去已经启动的其它任何一个节点获取它们当前记录的时间搓,若没有启动的节点,那么取数据库中当前最大ID进行分析

2021-04-26 16:28:24 717

原创 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 909 3

原创 xxl-job 2.2.0

前言: 什么是定时任务?希望代码在未来的时间里,按照一定的规律执行。类似于闹钟的开发,希望每天早上7点叫我起床。如果你的系统不进行分布式部署,仅仅是单机部署目前我们的定时任务如何写的: 定时调度器与业务代码共存@Cron(" * * 1 * * ?")public void fun (){ //.......... code .....}部署后的运行方式如下图整个系统调度与执行在一起,单系统部署不存在问题,能够保证定时任务在指定的调度时间被执行一次。...

2020-12-22 09:22:59 1024 1

原创 netty使用http协议开发文件服务器

本文通过netty实现一个简单的文件服务器,能够像nginx一样将目录结构列举出来并且支持下载 1、 对应目录: 点击文件目录可以进行下钻, 而且可以通过 ".."进行回退到上一个目录。 2、对应文件: 支持下载。一、首先先编写服务启动类,配置好netty的启动参数及pipeline。相关代码如下:public class HttpServer { //绑定端口 private int port; //boss线程...

2020-12-10 18:07:18 396

原创 svn命令行总结及jenkins使用本地命令行进行svn项目检出,提高检出效率

svn命令行总结及jenkins使用本地命令行进行svn项目检出,提高检出效率之所以使用的svn命令行,是因为jenkins的在svn导出的时候,其使用的svn导出方式太慢,项目比较大的时候几乎无法进行checkout代码。1.从服务端导出相应的工程与文件夹:步骤:先在本地进入想要导出到的目录下,然后执行命令:svn checkout serverPath说明:使用此方式导出的工程文件受到svn版本控制与版本库保持关联,工程中存在隐藏文件.svn,可以进行svn的其他操作。2.从服务器导出相应的单

2020-10-27 14:52:27 1612

原创 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 602 2

原创 nexus3安装配置手册,nexus自动物理清除多余一个以上的快照,保留最新一个快照版本

nexus3安装配置手册,nexus自动物理清除多余一个以上的快照,保留最新一个快照版本定义:install_path: /var/server/nexusnew 安装的位置下载安装包: nexus-3.13.0-01-unix.tar.gztar –zxvf nexus-3.13.0-01-unix.tar.gz解压到 install_path位置:解压后的结构如下nexus-3.13.0-01 是软件的安装sonatype-work 是工作空间,数据方面的存储都放在这

2020-08-26 17:22:22 4084

原创 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 2361 2

原创 1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验

1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水?看着网上给出的都是从二进制的角度出发去解决问题,理解不是那么容易。本人将尝试从数学的角度去给出一个方案。并以此说明二进制方案的合理性。首先简化问题:想一想 2 只老鼠最多能够一次检测出多少瓶毒药?图一、两只老鼠构成的二维...

2020-01-06 11:40:02 4866

原创 应对高并发量的数据汇聚方案

在统计文章的阅读数,点赞量或者高并发量的数据统计解决方案。 基本思路: 汇聚层: 1、希望所有的外部请求都将数据保存到汇聚层就可结束,类似于消息中间件。 汇聚的重点在于数据的可聚合性,比如文章的点赞数量,访问数量等等。 若请求过来的时候,发现汇聚层中有同一篇文章的数据,那么可以...

2019-12-15 07:35:55 995

原创 rxjava设计解读

Observable作为入口类,包装了所有的操作功能。静态方法基本都是create方法 而所有的操作:map flatmap filter等等都通过包装模式实现。都继承自AbstractObservableWithUpstream。其内部通过protected final ObservableSource<T> source对目标Observabl...

2019-09-25 10:36:23 120

原创 图片任意凸体区域识别

这个是通过数学方法【基于凸体的定义】实现假的图片识别,比如:我们在一个小区俯视图中,需要 通过点击图中的某个楼栋,需要得到这个楼栋的信息,比如我点击了15号楼,程序需要知道点的是15号楼。 而且支持图片的等比例缩放功能。这样可以满足实际中的图片拖动,放大缩小等等操作。 凸体的定义: 在凸几何中,凸集(convex set)是在凸组合下闭合的仿射空间的子集。...

2019-09-25 07:01:25 652

原创 otter源码理解 S E T L

OtterController “otter node”的总入口,管理了setl的所有调度,包含启动,停止setl。 OtterController 通过实现接口NodeTaskListener 来支持manager对node的调度,可以随时停止一个pipeline, 启动一个pipeline 的S E T L中任何一个过程。注意,一个node可以包含S E T L中的任何...

2019-08-15 09:25:08 832

原创 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 7649

原创 java代码实现定时增量同步完整方案

import java.lang.management.ManagementFactory; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import org.springframework.util.Collec...

2018-09-25 10:09:53 4872

原创 指定时间段内的同时在线最大用户数解决方案

时间段内的同时在线最大用户数研究 问题描述: 需要统计任意一个时段内的同时在线最大用户量,比如统计上个月,上个周,今天凌晨到当前时间为止等等。不失一般性,我们用 start表示统计的开始时间,用end表示统计的结束时间,我们统计在区间[start,end]中的某个时间点达到最值。 定义一个...

2018-09-25 02:10:45 1795

原创 递归转非递归通用解决方案

递归转非递归总结递归的时候,计算机透明的帮我们做了入栈,出栈等等操作,而且在入栈的时候,还记录了上下文信息,很重要的是记录了当此节点出栈后,应该继续从什么位置进行执行。 若我们自己进行递归转非递归,那么我们就得自己记录上面的信息了。入栈及记录出栈后从什么位置开始执行。列子:递归public class Recursion {public static int count =...

2018-09-25 02:07:44 375

原创 递归转非递归通用模型

递归转非递归总结:递归的时候,计算机透明的帮我们做了入栈,出栈等等操作,而且在入栈的时候,还记录了上下文信息,很重要的是记录了当此节点出栈后,应该继续从什么位置进行执行。若我们自己进行递归转非递归,那么我们就得自己记录上面的信息了。入栈及记录出栈后从什么位置开始执行。列子:递归public class Recursion { public static in...

2018-06-29 08:37:29 515

原创 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 540

原创 多个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 911

原创 二叉堆的数组实现

package com.hengyunsoft.test;import java.util.Comparator;import java.util.Random;import edu.emory.mathcs.backport.java.util.Arrays;public class PriorityArray { /** * 当前已用大小 */...

2017-08-18 11:35:15 447

原创 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 405

原创 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 964

原创 用java代码来定时增量同步数据库表的实现代码

import java.io.Serializable;import java.util.List;/** * Created by Administrator on 2017/4/19. * 这是基于是单线程来执行同步 千万不允许多线程执行 多线程执行太难写了 放弃吧!!!!! * 这里我们考虑有时间因素、以及mysql mvcc非锁定读的因素。 * 时间...

2017-04-20 17:08:30 13830 1

原创 定时同步数据表的思考

定时任务:1小时一次:1、商定取值时间:时间 = min(主服务器时间 - 1小时5分,上次商定的时间 + 1小时)这里的5分钟我考虑的是最大事物的用时。就是假定所有事物的时间长度不可以超过5分钟。因为我们在程序中经常是先设置更新时间,然后插入数据库,然后再做些别的(浪费了一些时间),最后提交了事物。那么根据mvcc模式,非锁定读,是读快照。导致更新时间本应该在本次同步中被...

2017-04-19 15:28:58 736

原创 在成绩表中,取所有课程中,排名前n的的信息

SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for test-- ----------------------------DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `_id` int(11) NOT...

2017-04-07 21:27:14 262

原创 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 314

原创 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 265

原创 Centos7安装完毕后无法联网的解决方法

[url]http://www.centoscn.com/CentosBug/osbug/2014/0831/3621.html[/url]

2017-01-20 18:02:28 528

原创 支持分布式的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 131

原创 Rabbitmq高可用设计思路

Rabbitmq高可用设计思路设计保证:1、消息不丢失(将消息存储到磁盘)。Rabbitmq服务器分为内存服务器和磁盘服务器,若你需要你的消息服务器保证消息不丢失,则将消息保存到磁盘,是磁盘消息。如何将消息设置为磁盘消息:A.将消息的投递模式设置为2(持久模式)BasicProperties.deliveryMode = 2B.发送到持久化的交换机C.存储到持久...

2016-10-14 17:41:02 591

CollabNetSubversionEdge-5.2.4_linux-x86_64.zip

CollabNetSubversionEdge-5.2.4_linux-x86_64.tar.gz

2021-03-16

局域网内部共享屏幕软件

局域网内部共享屏幕软件

2021-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除