自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 GIS总结

gis总结/介绍

2023-03-03 12:12:14 574

原创 java springboot结合gdal打包docker镜像

linux java 环境下springboot结合gdal打包docker镜像

2023-01-30 17:31:14 790

原创 java代码发布shp图层到geoserver服务中

java代码发布shp图层到geoserver服务中

2023-01-12 18:38:45 692

原创 java通过gdal把单波段tiff文件转换为shp矢量文件并压缩

java通过gdal把单波段tiff文件转换为shp矢量文件并压缩

2023-01-12 18:33:15 822 1

原创 java通过gdal解析单波段tiff并根据业务生成新的tiff文件

java通过gdal解析单波段tiff并根据业务生成新的tiff文件

2023-01-12 18:26:19 882

原创 windows 下安装gdal 项目运行包含gis

windows 下安装gdal 项目运行包含gis

2023-01-12 18:02:20 332

原创 linux下安装 gdal环境与项目配置

linux下安装 gdal环境与项目配置

2023-01-12 18:01:19 1253

原创 数据库四大事务特性

A:原子性(Atomic),一个事务作为一个最小执行单元,里面的sql要么全部执行要么全部失败或者回滚C:一致性(Consistency),在一致性状态下,所有事务对一个数据的读取结果都是相同的,例:张三给李四转账100元,其他事务要么看到张三还没给李四转账的状态,要么张三已经给李四转账成功张三少100李四多100,而在张三少100李四的100没有加上的中间状态是不可见的I:隔离性(Isolation)重点,多个事务并发执行时,一个事务执行不应该影响其他事务的执行D:持久性(Durability),一

2020-12-16 19:42:41 193

原创 锁相关

1.MyISAM与InnoDB关于锁方面的区别是什么InnoDB默认使用的是行级锁,也支持表级锁涉及有索引的sql语句使用行级锁,没有走索引的sql语句直接使用的时表锁MyISAM默认用的是表级锁,不支持行级锁1.表级锁会锁住整张表2.锁类型共享锁:用于不更改或者不更新数据只读的操作,如select语句,例如事务T对数据A加上共享锁后,其他事务只能对A再加上共享锁,只能读数据,不能修改数据对于select 语句InnoDB一般情况下是不会加共享锁,(正常情况能查

2020-12-15 00:59:29 109

原创 sql相关的调优

调优1.开启慢日志查询需要注意:当前的慢日志查询只有在当前的查询窗口中才会有,在新的查询窗口中慢日志查询记录就会消失需要注意:在查询界面窗口开启慢日志查询只对当前数据库生效,在重启后会失效,如果要永久生效,需要修改mysql配置文件 my.cnf文件 slow_query_log=1 slow_query_log_file=(filePath)2.使用Explain对sql进行分析1.字段id,id越大说明当前sql越先执行2.type:找到数据行的方式,值有很多,只

2020-12-15 00:55:45 93

原创 InooDB与MyISAM

存储引擎密集索引与稀疏索引密集索引文件中的每个搜索码值都对应一个索引值稀疏索引文件只为索引码的某些值建立索引项密集索引:InnoDB索引检索流程:定义:叶子节点不仅保存的是搜索的键值,还保存了当前行其他列的信息(简单理解就是其中一个叶子节点就是表中的一行数据),密集索引的顺序决定了表的物理顺序inooDB中:每个表必须有且仅有一个密集索引选取规则1,如果一个主键被定义,该主键则作为一个密集索引选取规则2.如果没有主键,则表中第一个唯一非空索引作为密集索引选

2020-12-15 00:52:00 134

原创 索引的总结

索引二叉查找树查找效率:O(logn)在数据量多的情况下,会造成二叉树层数过多,增加io次数(每切换一层二叉树节点增加一次io次数)查找的io次数过多,相对会频繁发生删除新增数据对树结构调整的次数,消耗过多的数据库资源每个节点存储的数据过少,只有左右两个孩子B树定义1:根节点至少包括两个子节点定义2:树中每个节点最多含有m个孩子(m>=2)定义3:除根节点和叶子节点外,其他每个节点至少有ceil(m/2)个孩子 (取上限3=3/2)定义4:所有叶子节点都位

2020-12-15 00:44:58 146

原创 O(nlogn)快速排序-三路快速排序+详细注释

排序使用的相关工具类与接口运行效率 /** * 这是一个3路的快速排序算法 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[1]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[0]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[1]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[1]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间

2020-11-20 23:47:33 128

原创 O(nlogn)快速排序-双路排序+详细注解

排序使用的相关工具类与接口运行效率 /** * 这时一个双路快速排序 * 这是一个双路快速排序 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[1]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[1]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[1]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[1]毫秒 * 数组长度[32000] 值范围

2020-11-20 23:44:10 135

原创 O(nlogn)快速排序-基础版+详细注释

相关使用的工具类与接口运行效率 /** * 这是一个快速排序 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[1]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[1]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[1]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[1]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间为[1]毫秒

2020-11-20 23:39:20 148

原创 O(nlogn)归并算法与优化+详细注释

相关使用的工具类与接口运行效率 /** * 这是归并排序 未优化效率 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[0]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[1]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[2]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[2]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间为[4

2020-11-20 23:35:36 99

原创 基础排序-插入排序与优化+详细注释

相关使用的工具类与接口运行效率 /** * 这是插入排序 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[4]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[6]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[5]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[21]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间为[81]毫秒

2020-11-20 23:32:27 106

原创 基础排序-选择排序与效率

相关使用的工具类与接口运行效率 /** * 这是选择排序方法 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[5]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[8]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[12]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[47]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间为[188

2020-11-20 23:28:30 127

原创 基础排序-冒泡排序

相关使用的工具类与接口运行效率 /** * 这是冒泡排序 * 数组长度[2000] 值范围[1-2000] 消耗的时间为[6]毫秒 * 数组长度[4000] 值范围[1-4000] 消耗的时间为[12]毫秒 * 数组长度[8000] 值范围[1-8000] 消耗的时间为[33]毫秒 * 数组长度[16000] 值范围[1-16000] 消耗的时间为[241]毫秒 * 数组长度[32000] 值范围[1-32000] 消耗的时间为[112

2020-11-20 23:24:00 84

原创 排序使用的相关工具类与接口

**SortHelper 排序工具类 **public class SortHelper { /** * 用于测试算法的效率性 * * @param arraysSort 使用的排序方法对象 * @param initArraySize 初始化数据量 每循环一次initArraySize=initArraySize*2 * @param doubleMultipleSize 循环次数 */ publ

2020-11-20 23:21:50 111

原创 springboot 结合mybatis与tk.muybatis 实现注解简化开发

数据库maven 数据库相关配置:创建一个通用mapper 通过接口 用于继承tk包中通用的方法 Mapper, MySqlMapper在业务实体Mapper 中数据库表在代码中实体的映射:

2020-11-17 23:50:45 112

原创 为什么单例模式可以支持多线程并发访问

为什么spring单例模式可以支持多线程并发访问?1、spring单例模式是指,在内存中只实例化一个类的对象2、类的变量有线程安全的问题,就是有get和set方法的类成员属性。执行单例对象的方法不会有线程安全的问题因为方法是磁盘上的一段代码,每个线程在执行这段代码的时候,会自己去内存申请临时变量为什么局部变量不会受多线程影响?1、对于那些会以多线程运行的单例类,例如Web应用中的Servlet,每个方法中对局部变量的操作都是在线程自己独立的内存区域内完成的,所以是线程安全的2、局部变量不会受多线

2020-11-17 23:46:59 1194

原创 spring 循环依赖

网址:https://blog.csdn.net/u010853261/article/details/77940767

2020-11-17 23:46:04 56

原创 application 与bootstrap 配置文件的区别

地址:https://blog.csdn.net/youanyyou/article/details/81178311优先级:bootstrap > application用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件bootstrap (.yml 或者 .properties)application (.yml 或者 .properties)为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗?bootstrap/ applicatio

2020-11-17 23:44:27 510

原创 springboot_合理创建异步线程

相关地址:http://blog.didispace.com/springbootasync/http://blog.didispace.com/springbootasync-2/http://blog.didispace.com/springbootasync-3/http://blog.didispace.com/springbootasync-4/https://www.cnblogs.com/wlsblog/p/8048039.html在SpringBoot 创建异步服务很简单简单的

2020-11-17 23:42:23 337

原创 spring_注解与拦截器的结合(防止重复提交)

1.创建注解:/** * @author xuliduo * @date 2018/12/19 * @description class RepeatedCheck */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface RepeatedCheck { /** * 是否开启 验证 * * @return check 默认为 true */

2020-11-17 23:39:11 124 2

原创 springboot_全局异常处理

实现:通过 Aop切面  调用MethodValidationInterceptor类中invoke方法 对Controller 方法进行前置拦截 并实现JSR-303校验规范 对注解参数进行校验创建全局异常处理类: //继承 ResponseEntityExceptionHandler 类内部实现了许多的异常类的处理 在有需要手动处理的时候 可以自己重写其中的方法捕捉异常方法:...

2020-11-17 23:36:56 97

原创 springboot_自定义参数验证注解

springboot 自带注解(最下)能够满足日常大部分需求使用,如果在开发中需要自己自定义注解的话,操作姿势如下:** * 需要在验证类 或者方法上 添加 @Valid 注解 用声明参数验证 */public String inserUser(@RequestBody @Valid Person person) {实体类:/** * 需要验证的参数 后面可以自定义错误提示 * 创建ValidationMessages.properties 文件(可以被自动扫描到) * 错误提示可以写在

2020-11-16 23:19:33 850 1

原创 spring_定时任务

基本1:https://www.cnblogs.com/ityouknow/p/6132645.html基本2:http://blog.didispace.com/springbootscheduled/多线程定时任务:https://blog.csdn.net/u013456370/article/details/79411952代码 单线程:/** * Auther: ruoyu * Date: 19-2-20 * Description: */@Componentpublic cl

2020-11-16 23:14:58 51

原创 spring_拦截器

aop思想在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。在HandlerInterceptorAdapter中主要提供了以下的方法:preHandle:在方法被调用前执行。在该方法中可以做类似校验的功能。如果返回true,则继续调用下一个拦截器。如果返回false,则中断执行,也就是说我们想调用的方法不会被执行,但是你可以修改response为你想要的响应。postHandle:在方法执行后

2020-11-16 23:11:54 45

原创 spring_过滤器

需要实现Filter接口的标准 Filter是Servlet的概念,不属于spring过滤器执行的顺序 注:只有通过该配置方式创建的过滤器顺序才会生效(通过注解创建的过滤器不会生效),传入的数值越大排名越高 如:f1=100,f2=99 顺序:f1-f2 通过注解形式创建的过滤器的执行优先级要比通过配置文件创建过滤器高WebFilter这个注解并没有指定执行顺序的属性,其执行顺序依赖于Filter的名称,是根据Filter类名(注意不是配置的filter的名字)的字母顺序倒序排列配置文件创建方式1:

2020-11-16 23:10:09 84

原创 application.properties 多环境配置 二

该设置适用于:application.properties 文件通过创建多个.properties/.yml文件按照 application-{value}.properties 格式 即可实现不同环境的切换在idea中 切换环境设置:或者:在linux 环境中切换环境:java -jar xxxxx.jar --spring.profiles.active=test 表示加载测试环境的配置java -jar xxxxx.jar --spring.profiles.active=pre

2020-11-16 22:55:35 1083

原创 application.yml 多环境配置 一、

一、便捷的多环境配置环境 只存在一个application.yml (该特性需要.yml文件 .properties 文件不适用 ) 使用.yml 的特性 (---) 连接符 创建application.yml: 如下#全局设置my: val: aa: 123---spring: profiles: dev#在dev中获取的值是123server: port: 8081---spring: profiles: test#在test中获取

2020-11-16 22:52:56 1824

原创 Idea常用简便创建springboot项目方式

菜单栏中选择File=>New=>Project其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的点击Next,等待片刻后,我们可以看到如下图所示的工程信息窗口,在这里我们可以编辑我们想要创建的工程信息。其中,Type可以改变我们要构建的工程类型,比如:Maven、Gradle;Language可以选择:Java、Groovy、Kotlin点击Next,进入选择

2020-11-16 22:51:30 144

原创 小记 测试用例-mybatis主键返回

spring 1.5x ++ 测试用例@RunWith(SpringRunner.class)@SpringBootTest(classes = GuoQingApplication.class)@ActiveProfiles("test") //指定测试运行取的环境 如果时默认application 可以不使用public class Demo1 { @Test public void test1(){ System.out.println("hello");

2020-11-16 22:48:47 67

原创 spring获取项目路径

代码:jsonObject.put("HttpTestController.class.getResource(\"\").toString()",HttpTestController.class.getResource("").toString());jsonObject.put("HttpTestController.class.getResource(\"/\").toString()",HttpTestController.class.getResource("/").toString());

2020-11-16 22:40:11 376

原创 相同类名Bean注入Spring解决

https://blog.csdn.net/liuyueyi25/article/details/83280239多个相同Class 类@LoadBalanced@Bean//必须new 一个RestTemplate并放入spring容器当中,否则启动时报错public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); restTemplate.setRequestFact.

2020-11-16 22:38:29 2162

原创 docker-安装mongodb

自用命令:docker run -id --name mymongo -p8900:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin mongo:4.4.1 --auth //上述已经创建最高权限用户admin/admin以下都是屁话 navicat 直接连接admin admin admin//比如我们要创建mongo数据库 my-mongo-demo 并使用 以下步骤1. docke

2020-11-15 11:23:18 187

原创 docker-安装redis

//拉取redis镜像docker pull redis //查看所有镜像docker images redis配置文件修改/root/redis/redis01/conf/redis.conf 中daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。设置password : requirepass xxxxx需要更改否则外网无法访问 bind 127.0.0.1 为 bind 0.0.0.0/root/redis

2020-11-15 11:13:10 82

转载 docker 安装rabbitMQ

进入dockerhub:https://hub.docker.com/ 搜索rabbitmq 如下图选择带management的版本docker pull rabbitmq:3.7.7-management创建和启动容器docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST

2020-11-15 10:55:04 105

空空如也

空空如也

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

TA关注的人

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