自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DJYDFT2831djydft的专栏

一切都在静静的......静静的流逝着将来......

  • 博客(41)
  • 收藏
  • 关注

原创 根据geoJson判定经纬度是否在某个城市内

>服务中心->数据资源->行政区划可视化->市(下载数据)四、城市边界文件见附件。

2024-06-05 15:00:07 359

原创 判断经纬度是否在某个城市内

本文主要是解决指定经纬度是否在指定城市内部判断

2024-06-05 13:47:58 598

原创 springboot2.x集成Mybatis-Plus、druid、TDengine

【代码】springboot2.x集成Mybatis-Plus、druid、TDengine。

2024-02-23 16:24:27 661

原创 springboot怎样设置全局的traceId(包括MQ)

traceId全局设置代码

2024-01-13 13:45:47 1375

原创 springcloud+nacos+mq灰度发布

springcloud+nacos+mq灰度发布

2023-11-03 11:26:09 251

原创 读取nacos信息并动态监听nacos刷新数据

名称分别为:bootstrap.properties(引导文件)、bootstrap-dev.properties(开发环境)、bootstrap-pre.properties(预生产环境)bootstrap-prod.properties(生产环境)----------------------引入nacos配置中心实现步骤-------------------------------1、springboot、springcloud、springcloud alibaba 版本一定要对应上。

2023-09-26 17:36:33 263

原创 eclipse上传项目到公司私服

二、maven插件依赖。

2023-09-21 13:49:24 131

原创 springboot+Eureka 灰度发布

springboot 灰度发布

2023-09-13 15:14:18 476

原创 SkyWalking部署应该避免的坑

- skywalking logback日志插件 -->1、在8.70版本之前,目录里面会有ES版本和agent,成套使用即可。-- logback最低版本,不然agent日志会报错 -->skywalking和agent还有ES一定是配套的!-- skywalking链路追踪 -->搞定,基本就这些,其他的正常配置即可。2、上传监控日志(logback)

2023-04-19 19:06:08 443

原创 一批数据,根据某一个阀值分组,求最少分组

最近由于工作需要,有一个场景:我有大批量的数据,每个数据中都有金额,但是我要将所有的金额组合起来,每组金额之和不能超过100;思路就是:将所有数据放到一个列表里面,遍历列表,每一个数值再往下遍历此列表,符合条件的则记录已使用。

2023-03-25 14:49:17 80

原创 关于记录一次慢SQL优化过程

USE [MSRosterDB]GO/****** Object: StoredProcedure [dbo].[pCallCenter_selectTenantPerson] Script Date: 2022/5/27 21:22:05 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- [pCallCenter_selectTenantPerson] 288572,103539553,11402,1,-1,-1,-1,-.

2022-05-27 22:40:53 162

原创 Springboot中ApplicationContextInitializer工作原理(源码)

源码分析:由启动类进入:紧接着,我们看看new SpringApplication(sources)里面做了什么:这就是ApplicationContextInitializer的加载方法,让我们先进去getSpringFactoriesInstances里面看看:进入第6步的SpringFactoriesLoader.loadFactoryNames方法,我们发现:factoryClassName=org.springframework.context.Applica...

2021-12-15 10:32:06 178

原创 Springboot中ApplicationListener工作原理(源码)

一、启动参数其中subMainClass为启动类,我的启动类是:二、源码1、当springboot项目启动时,会进入run方法让我们进入第四步,看看里面都干了啥?接着跟进去,看看SpringFactoriesLoader.loadFactoryNames这个方法:其中factoryClassName:org.springframework.context.ApplicationListener,classLoader会去META-INF/s...

2021-12-14 23:51:35 568

原创 Zuul关于application/x-www-form-urlencoded踩坑

一、问题描述:POST请求,A项目调用B项目,空格转码成了%20;POST请求,A项目调用zuul,zuul转发到B项目,空格变成了+号;具体问题:1、A通过调用FormBody对contentType为application/x-www-form-urlencoded的入参进行编码,其将空格转成了%202、通过A直接调用B,因为contentType为application/x-www-form-urlencoded,所以tomcat在处理这个请求的时候,从body里面拿出数.

2021-12-08 11:44:58 855

原创 SpringBoot集成Nacos配置文件

1、bootstrap.ymlspring: application: name: @artifactId@ profiles: active: dev 2、bootstrap-dev.ymlspring: cloud: nacos: config: # Nacos 服务器地址 server-addr: 192.168.2.155:8848 bootstrap: #

2021-09-11 22:15:36 893

原创 Java怎样提升上传文件速度

1、将传统的IO流改为NIO/** * * Title: upload * Description: 上传文件 * @param file * @param licenseType * @param realName * @see IOcrUploadFileService#upload(MultipartFile, String, String) */ @Override @Transactional public Long upload(MultipartFi

2021-08-25 11:22:03 1864

原创 maven多模块项目中子模块可以运行,打包报错

项目结构为:父模块为:ms.tools.parent 子模块为:ms.tools.biz、ms.tools.task、ms.tools.weizhi ms.tools.task、ms.tools.weizhi依赖ms.tools.biz模块 今天打包时候发现ms.tools.weizhi模块报错,找不到依赖的ms.tools.biz模块中的类,查了诸多文章后了解到使用spring-boot-maven-plugin进行打包时会自动生成两种jar: 普通jar。 可以直接使用j.

2021-08-19 13:59:40 353

原创 EasyExcel动态生成表头

一、需求需要实现根据数据库里面的数据,动态的生成表头,如图所示:解析:身份证信息、驾驶证信息、行驶证信息是需要随着数据库里面的证件类型动态变化的,也就是说如果证件类型只选择了身份证信息,那么这个excel导出里面只能有身份证信息二、实现1、表结构--创建表tOcrUploadFile--上传文件批次表CREATE TABLE [dbo].[tOcrUploadFile]( [id] [bigint] IDENTITY(1,1) NOT NULL, [licenseType.

2021-08-18 18:53:44 3279

原创 GIT小乌龟回滚版本和merge版本

1、第一步,选中项目,右键:2、第二步,选中你要回退到的版本,右键:3、第三步,勾选强制:4、第四步,选中项目,右键:5、第五步,勾选强制,push:

2021-08-13 16:50:38 3168

原创 linux创建定时任务推送到企信机器人

1、机器人链接:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=08f5e46f-a975-42e8-9621-0317a3af63em2、编写shell脚本:#!/bin/bashcurl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=08f5e46f-a975-42e8-9621-0317a3af63e7' \ -H 'Content-Type: applicatio

2021-07-14 15:27:27 303

原创 设计模式--单例模式

一、概念单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象二、实现1、懒汉式:public class Singleton { private static Singleton instance; privat

2021-04-30 19:34:37 142 1

原创 synchronized底层原理探究

先看博客一篇:http://www.360doc.com/content/20/0602/17/70282097_916085028.shtml再看博客二篇:http://www.manongjc.com/detail/22-wtvnikwdeskwmvt.html相互印证,获益匪浅

2021-02-25 14:53:55 95

原创 正确的理解MySQL的MVCC及实现原理

目录 前提概要 MVCC的实现原理 MVCC相关问题 前提概要什么是MVCC?MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。mvcc - @百度百科MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读什么是..

2021-02-24 12:38:25 240 1

原创 mysql一张表存多少数据的计算原理

一、计算公式:假设我们的索引层级是3层,因为3层就可以存入很多的数据了,那么计算公式为:1170*1170*16=21902400 (千万级条),是不是有点蒙,哈哈哈,让我们一步一步来解析。二、数据页在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB。(确切的说是InnoDB数据页大小16KB)。详细学习可以参考官网 我们可以用如下命令查询到。mysql>SHOWGLOB...

2021-02-24 12:14:09 847

原创 netty中的粘包和半包

在网络传输中,粘包和半包应该是最常出现的问题,作为 Java 中最常使用的 NIO 网络框架 Netty,它又是如何解决的呢?今天就让我们来看看。一、定义TCP 传输中,客户端发送数据,实际是把数据写入到了 TCP 的缓存中,粘包和半包也就会在此时产生。客户端给服务端发送了两条消息ABC和DEF,服务端这边的接收会有多少种情况呢?有可能是一次性收到了所有的消息ABCDEF,有可能是收到了三条消息AB、CD、EF。上面所说的一次性收到了所有的消息ABCDEF,类似于粘包。如果客户端发送的包的大

2021-02-23 19:19:12 216

原创 Http和Socket之间的和关系

一、先说下HTTP网络协议栈二、连接过程三、重点来了,TCP套接字编程,也就是所谓的socket四、通过比较发现http和socket完全是两个不同的概念,http是应用层的,socket是传输层和网络层的,http要基于socket实现。httpclient的默认请求超时时间为60s。五、发起一个HTTP请求的过程就是建立一个socket通信的过程。httpclient也是基于socket的网络由下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应.

2021-02-23 16:03:07 946

原创 netty怎样解决NIO空轮询

一、产生的原因java的NIO在linux下selector.select()时,本来如果轮询的结果为空并且不调用wakeup的方法的话,这个selector.select()应该是一直阻塞的,但是java却会打破阻塞,继续执行,导致程序无限空转,造成CPU使用率100%这个bug只出现在linux系统下,因为linux下NIO底层使用的是epoll来实现的,而java的epoll实现存在bug,导致selector出现了这种轮询为空却唤醒的情况。windows下NIO是使用的poll来实现sele.

2021-02-23 15:19:35 496

原创 AQS源码解析(jdk1.8)

目录一、AQS是什么:二、实战:1、tryLock单线程上锁和解锁的代码(未重入,非公平锁)2、tryLock多线程加锁释放锁代码(未重入,非公平锁)3、tryLock线程重入代码(重入,非公平锁)4、lock.lock()单线程上锁和解锁的代码(未重入,非公平锁)5、lock.lock()多线程上锁和解锁的代码(未重入,非公平锁)​6、lock.lock()线程重入代码(重入,非公平锁)一、AQS是什么:AQS,即AbstractQueuedSynchr..

2021-02-20 20:28:36 252 2

原创 volatile双重检测单例模式

重点讲解双重检测的作用:public class DoubleCheckedLocking { // 1 private static Instance instance; // 2 public static Instance getInstance() { // 3 if (instance == null) { // 4:第一次检查 synchronized (DoubleCheckedLocking.class) { // 5:加锁

2021-02-09 17:44:17 128

原创 volatile可见性理解

1、volatile修饰基本变量,是可以保证值的可见性的public class VolatileValueThread { private volatile int num = 1; public static void main(String[] args) { new VolatileValueThread().startWorking(); } private void startWorking() { new Thread(new Runnable() { @Ov

2021-02-09 16:57:11 195

原创 雪花算法详解

一、简介:雪花算法是Twitter开源的分布式ID生成算法。生成的ID是一个64位的Long类型的数字,是一个全局唯一的ID;当然这64位的全局唯一ID是由时间戳、机器ID、序列号组成的,如果涉及到不同的机房,可以改进下由由时间戳、机房ID、机器ID、序列号组成。具体是如何分配的,如下图所示:组成部分详解1、最高位是符号位,始终为0,因为需要正数;2、时间戳第二部分是41位的时间戳,自增的时间戳(毫秒级),最大可以存(2^41 - 1)的毫秒数,差不多可以存69年注:69年算法.

2021-01-28 14:14:52 1884

原创 关于服务器和mysql服务器因为时区问题而相差14个小时解决方案

1、查询数据库时区:show variables like ‘%time_zone%’;发现system_time_zone项是CST。2、解决方案:在jdb后面添加:&useTimezone=true&serverTimezone=GMT%2B8 即可,指定jdbc采用东8时区

2021-01-12 17:47:50 612

原创 Excel工具类

1、依赖:<dependency> <groupId>com.github.crab2died</groupId> <artifactId>Excel4J</artifactId> <version>3.0.0-Alpha</version></dependency>2、工具类:package com.zhangmen.universe.porsche.msg.marke

2021-01-08 17:17:29 285

原创 实现Serializable,并产生serialVersionUID的意义

1、Java jdk序列和反序列化JAVA序列化的机制是通过判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID于本地相应实体类的serialVersionUID进行比较。如果相同说明是一致的,可以进行反序列化,否则会出现反序列化版本一致的异常,即是InvalidCastException。2、springcloud @feign调用网络传输:采用的是jackson进行序列和反序列化的...

2020-12-29 20:09:39 244

原创 springcloud中@RequetParam 如果没有value则报错

1、springCloud版本:2、解析代码:/* * Copyright 2013-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of th

2020-12-29 19:58:44 599

原创 批量数据同步

1、配置:synPageSize:每条线程每次只取100条数据ips:模拟ips.ips.split(",").length台机器@Value("${synPageSize:100}")private Integer synPageSize; @Value("${ips:1,2,3,4}")private String ips;2、controller代码:@SuppressWarnings("unchecked")@GetMapping("/synStuDataToPor

2020-12-12 20:58:17 229

原创 springboot+mybatis/mybatis-plus拦截器实现多数据源切换

1、数据源配置spring.datasource.master.driver-class-name = com.mysql.jdbc.Driverspring.datasource.master.filters = wall,statspring.datasource.master.initial-size = 50spring.datasource.master.max-active = 100spring.datasource.master.max-open-prepared-statem

2020-12-12 20:47:32 3862

原创 ajaxfileupload跨域问题解决

一、问题在现实场景中,会有很多小伙伴采用ajaxfileupload这个控件取异步上传文件,它的原理是在源码中构造一个iframe上传,如果上传组件本身就在一个iframe中,上传文件的时候,ajaxfileupload源码中又构造一个iframe,这样上传的时候就会触发浏览器的同源策略,造成跨域,就算两个iframe本身处于同一个域名下,也会存在跨域,那么怎么解决呢?二、解决方法采用FormData上传即可解决!!!!1、jsp页面代码:<input id="file" type

2020-07-15 10:06:17 687

原创 Spring中同一类中非事务方法调用事务方法不生效原因

一、原因解析在项目加载的时候,spring会去扫描所有带有@transaction注解 的方法或者类,然后为他们生成一个代理类,然后代理类里面会持有原始类的引用,示例如下:代理类:AProxy{ //A的真实对象引用 private Object a; public AProxy(Object a) { this.a= a; }...

2020-04-30 10:24:34 623

原创 关于动态代理的理解

一、接口类public interface Subject { public void doSomething();}二、实现类public class RealSubject implements Subject { public void doSomething() { System.out.println("call doSomething()")...

2020-04-30 10:08:00 169

中国行政城市边界json数据

中国行政城市边界json数据

2024-06-05

空空如也

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

TA关注的人

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