自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PG:分区表

通过使用分区表,可以将大表的数据划分为更小的子表,提高数据查询的效率和管理的灵活性。需要注意,在使用分区表之前,需仔细考虑分区规则和查询模式,以及相关的索引和约束等因素,以获取最佳的性能和可维护性。在 PostgreSQL 中,可以使用分区表(Partitioned Table)来分割大型表的数据,以提高查询性能和管理数据的效率。分区表将表数据按照特定的分区规则进行划分存储,每个分区对应一个子表,每个子表只包含特定范围或条件的数据。你可以在主表上定义一个主键列,也可以在每个子表上定义自己的主键列。

2023-09-10 20:38:21 638

原创 Postgresql操作json数据类型

待续。

2023-09-10 16:45:09 545

原创 Geotools对geojson的解析

在 GeoTools 中,对 GeoJSON 的支持是通过一个插件来完成的,用户同样可以在 Maven 的 pom.xml 配置文件中添加下述的依赖。有关插件导进来以后,就可以根据相关的接口对Geojson进行解析。

2023-09-05 23:28:48 1172

原创 GIS:DataStore数据管理框架

矢量数据的数据格式有很多种。在数据操作方面,增加了插入数据、删除数据、更新数据的相关内容在事务操作方面,用户可以配置事务信息,但是由于 GeoTools 目前并没有将重点放在事务上,因此现在只支持默认 (Default) 和自动提交 (AutoCommit) 两种事务的模式。从代码中,我们可以看出,SimpleFeatureType 内部主要是对自身的属性以及属性的描述器类 Attribute Descriptor 进行管理的配置和获取方法的实现,用户在使用过程中,可以比较方便地获取到相关的信息。

2023-09-05 23:16:16 260

原创 GIS:生成Shp文件

*FeatureCollection:**存储Feature对象的集合类,注意两点:1.其迭代器使用完毕必须显示关闭,2.存储在同一个FeatureCollection中的对象具有相同的SimpleFeatureType。**DataStore:**访问和存储矢量格式空间数据的引擎,对应关系数据库中database的概念,可以用来更新 ,删除,获取SimpleFeatureType(类比数据库中一张具体表)**FeatureSource:**与DataStore相比,粒度更细,内部操作都是针对这张表的。

2023-09-05 21:57:16 755 1

原创 GIS:创建Geometry图形

【代码】GIS:创建Geometry图形。

2023-09-04 21:05:35 179

原创 gis:读取shp文件

这段代码提供了一个简单的方式来读取 Shapefile 文件,并获取其中要素和属性的信息。你可以根据需要进一步处理和使用这些数据。以上代码是一个用于读取 Shapefile 文件的方法。

2023-09-04 20:59:16 698

原创 CompletableFuture线程编排工具类

如果任务的执行方式逻辑比较复杂,开发成本来说比较高。CompletableFuture就是帮你处理这些任务之间的逻辑关系,编排好任务的执行方式后,任务会按照规划好的方式一步一步执行,不需要让业务线程去频繁的等待。

2023-06-29 20:49:58 175

原创 MyBatis中动态SQL

set元素中没有内容,会出现SQL错误,故代码块最后一行需要添加 id = #{id}根据第一个条件匹配查询,避免输入条件为空时,查出所有值。

2023-06-16 11:34:50 66

原创 SpringBoot整合Quartz

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能:持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;

2023-04-01 23:47:07 1878 1

原创 PostgreSQL 安装

这里记录下PostgreSQL在Centos操作系统上的安装过程。

2023-03-22 23:11:37 158

原创 frp实现内网穿透

由于工作需要,经常会在家访问公司服务器,之前使用花生壳、TeamViewer,不是限制流量就是限制使用次数,后来发现了frp内网映射的方法。只需要一个公网ID,并通过简单的配置,就可以轻松访问公司内网环境下的电脑了。

2023-02-17 20:47:00 704

原创 QGIS中加载天地图

QGIS中加载显示天地图 影像。

2023-02-17 20:00:01 1737 1

原创 SpringBoot 配置拦截器和监听器

SpringBoot注册Servlet三大组件【Servlet、Filter、Listener】

2023-01-28 14:49:31 335

原创 SpringBoot框架介绍及使用

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

2023-01-28 14:15:08 991

原创 Mybatis框架介绍及使用

mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。

2023-01-27 18:02:10 1014

原创 Spring框架介绍及使用

Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。

2023-01-18 17:33:08 1082

原创 CentOS Docker Docker-Compose安装

linux 系统 Docker 安装

2023-01-16 16:57:23 226

原创 到底创建了几个Session

session存在于服务端,由于http是无状态的,服务端无法区别请求由哪个客户端发送,最终还是依赖cookie(上述结论同样适用于cookie),每次发送请求携带一个JSESSIONID,即服务端获取的sessionId,唯一标识一个客户端请求。

2022-10-23 20:11:33 611

原创 职场篇(二):明哥教你混职场

二:你的成长一定要和公司相关联。优秀的年终总结不是罗列成绩,而是能站在公司的角度复盘思考过去一年的得失,要突出你的工作对公司核心业务的影响,这是领导最想听的内容,至于你这一年参加了什么培训,学会了什么技能,看了多少本书,和工作沾不上边的就不要讲,无论你多么想要别人知道都不要讲,咱自己回家偷着乐就行了。秀成绩的时候,抓大放小讲重点,多用数据,秀成绩的结尾工作,其一,把领导放入你的成绩中,其二,征求领导对你后续工作的建议。1.周报,认认真真的写,汇报自己负责事情的进度,工作存在的问题,甚至个人想法和建议等等。

2022-10-14 23:47:10 347

原创 职场篇(一):明哥的职场礼仪七堂课笔记

反例:1.求助时,没有称呼,没有客套话,也没有说**你有没有空啊,能不能帮我个忙啊。2.吃饭,没有安排在上位,安排在了上菜口。3.酒杯举得比别人高。

2022-10-14 01:30:00 435

原创 PostGIS函数

(PostGIS使用PROJ.4实现投影)

2022-09-18 21:42:49 2792

原创 Geography和 Geometry 的区别

在笛卡尔平面坐标系统上使用地理坐标(紫色线)产生了一个非常错误的答案!使用大圆路线(红线)则能得出正确的答案。如果我们将LAX-CDG航班路线转换成一条线串,并利用geography计算其到冰岛某个点的距离,我们可以得到正确的答案(以米为单位)。当提出这样一个问题时,支持非点的几何图形的需求变得非常明显:“从洛杉矶到巴黎的航班路线距离冰岛有多远?

2022-09-18 16:53:03 1072

转载 PostGIS总结

PostGIS总结

2022-08-12 22:21:38 75

原创 JAVA容器系列一:ConcurrentHashMap源码解读

java.util.concurrent.ConcurrentHashMap属于JUC包下的一个集合类,可以实现线程安全。它由多个Segment组合而成。Segment本身就相当于一个HashMap对象。同HashMap一样,Segment包含一个HashEntry数组,数组中的每一个HashEntry既是一个键值对,也是一个链表的头节点。单一的Segment结构如下像这样的Segment对象,在ConcurrentHashMap集合中有多少个呢?...

2022-07-26 07:59:28 201

原创 Http协议:三次握手和四次挥手

这里特别需要主要的就是TIME_WAIT这个状态了,这个是面试的高频考点,就是要理解,为什么客户端发送ACK之后不直接关闭,而是要等一阵子才关闭。这其中的原因就是,要确保服务器是否已经收到了我们的ACK报文,如果没有收到的话,服务器会重新发FIN报文给客户端,客户端再次收到ACK报文之后,就知道之前的ACK报文丢失了,然后再次发送ACK报文。一般会设置一个计时,如果过了这个计时没有再次收到FIN报文,则代表对方成功就是ACK报文,此时处于CLOSED状态。......

2022-07-22 13:09:10 2248

原创 SpringBoot自动配置原理

一. 核心注解@SpringBootApplication其实@SpringBootApplication是下面三个注解的组合体第一个注解:@EnableAutoConfiguration 启动SpringBoot的自动配置机制。1.1、AutoConfigurationPackage指定默认的包规则AutoConfigurationPackage注解的作用是将 添加该注解的类所在的package 作为 自动配置package 进行管理。也就是说当SpringBoot应用启动时默认会将启动类所在的

2022-07-07 22:06:03 161

原创 Docker volume 挂载文件/文件夹 不存在的问题

1.文件夹挂载:2.文件挂载:

2022-07-03 20:30:59 3184

原创 java 如何实现深拷贝

1、什么叫Java浅拷贝? 浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。2、什么叫Java深拷贝? 深拷贝复制变量值,对于引用数据,则递归至基本类型后,再复制。深拷贝后的对象与原来的对象是完全隔离的,互不影响,对一个对象的修改并不会影响另一个对象。深拷贝相比于浅拷贝速度较慢并且花销较大。3、Java浅拷贝和

2022-05-22 22:25:33 15130

原创 消息队列相关问题整理

什么叫消息队列?消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。消息队列的应用场景以常见的订单系统为例,用户点击【下单】按钮之后的业务逻辑可能包括:扣减库存、生成相应单据、发红包、发短信通知。在业务发展初期这些逻辑可能放在一起同步执行,随着业务的发展订单量增长,需要提升系统服务的性能,这时可以

2022-05-22 20:40:36 295

原创 只读事务与不使用事务的区别

1、查询结果不同不使事务:默认情况下每次查询,查询到的都是其他事物已提交的数据。只读事务:从只读事务开始直到事务结束,整个过程其他事务提交的数据,该事务过程中都忽略。即查询过程中,不会查询到该事物开启之后任何改变的数据。2、适用场景不同1、单条sql语句的查询,不必启用只读事务2、多条sql语句的查询并且要求多条SQL查询出的数据必须保证整体一致性,需要启用只读事务原因:在前面SQL查询执行结束,接下来执行后续SQL查询之前,数据发生了改变,那么本次整体查询结果将会出现数据不一致的情况。

2022-05-21 20:47:44 411

原创 Java线程中断

interrupt()方法用于中断一个线程,而Java中线程的处理是协作式的而不是抢占式的。所谓协作式的意思是:实际上调用一个线程的interrupt() 方法中断一个线程,并不是强行关闭这个线程,只是跟这个线程打个招呼,将线程的中断标志位置为true,线程是否中断,由线程本身决定。Java中断响应是描述当一个线程处于运行、阻塞或死锁状态时,外界能让该线程抛出InterruptedException异常并提前返回,就叫可中断响应方法或线程,如果不会抛出InterruptedException,就叫不可中断

2022-05-21 18:38:45 1012

原创 jvm调优-命令行篇

常用命令有: jps jstat jstack jmap jinfojpsJVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。命令格式: jps [options] [hostid] 说明:[] :可省略 |: 多选一 <>:必选参数 …:可多次出现option参数:-l : 输出主类全名或jar路径-q : 只输出LVMID-m : 输出JVM启动时传递给main()的参数-v : 输出JVM启动时显示指定

2022-05-21 14:28:32 270

转载 Spring循环依赖

面试必杀技,讲一讲Spring中的循环依赖

2022-05-17 21:45:40 164

原创 JDBC复习整理

1. JDBC程序访问数据库步骤?2. JDBC中PreparedStatement和Statement 相比优势在于?PreparedStatement代码的可读性和可维护性强PreparedStatement可以防止SQL注入PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL语句,能最大可能提高性能(代码缓存)3. 说说数据库连接池工作原理和实现方案?工作原理:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现

2022-05-14 17:23:49 234

原创 ThreadLocal源码分析

1.ThreadLocal简介ThreadLocal本地线程变量,线程自带的变量副本(实现了每一个线程副本都有一个专属的本地变量,主要解决的就是让每一个线程绑定自己的值,自己用自己的,不跟别人争抢。通过使用get()和set()方法,获取默认值或将其值更改为当前线程所存的副本的值从而避免了线程安全的问题)ThreadLocal实现主要涉及Thread,ThreadLocal,ThreadLocalMap这三个类。Thread中关于ThreadLocalMap部分的相关声明:/* ThreadLoca

2022-05-11 13:26:05 96

原创 Redis经典面试题总结

1. 什么是Redis?它主要用来什么的?Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事

2022-05-09 20:07:53 1223

原创 垃圾回收器CMS与G1的区别

一. CMS垃圾收集器CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现,在标记清理过程中不会导致用户线程无法定位引用对象,仅作用于老年代收集1. 1 步骤如下:初始标记(STW): 仅标记GCroots能直接关联的对象,速度比较快;并发标记: 可以和用户线程并发执行,通过GCRoots Tracing 标记所有可达对象;重新标记():修复并发标记期间,因用户线程继续运作而导致标记产生变动的那一部分对象的标记记录;并.

2022-05-08 22:49:43 637

原创 stream.forEach()遍历集合时的跳出操作

一. 先说结论1)普通for循环和增强for循环: break跳出整个for循环,使用continue跳出本次循环。2)stream.forEach()循环:1.处理集合时不能使用break和continue中止循环;2.可以使用关键字return跳出本次循环,并执行下一次遍历。3.不能跳出整个forEach的循环。二.代码验证public static void main(String[] args) throws Exception{ List<String>

2022-05-08 11:29:33 13811

原创 Java内存模型(Java Memory Model)

1. 基本概念:(1)什么是可见性:内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。(2)共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这个几个线程的共享变量。(3)主内存:保存了程序的所有变量。(4)工作内存:每个线程都有自己的独立工作内存,里面保存了该线程使用的变量的副本(主内存对该变量的一份拷贝)2.Java内存模型(JMM):描

2022-05-07 23:26:16 955

aaa121212测试笔记

aaa121212测试笔记

2023-01-16

空空如也

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

TA关注的人

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