自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十年磨一剑,沉淀……

是一只热爱Coding,热爱生活的程序媛呀~

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

原创 【2019年总结】-- 特别的一年

最开心的事情:最遗憾的事情:最感动的瞬间:2019有超级多感动的瞬间

2019-12-31 19:59:54 2102

原创 【Dubbo】--服务注册与发布原理分析

文章目录1、前置工作1.1 解析配置并检查1.1 检查配置1.2 多协议多注册中心导出服务1.3 组装URL2. 导出Dubbo服务2.1 Invoker创建过程2.2 导出服务到本地2.3 导出服务到远程2.3.1 服务导出1. doLocalExport2.DubboProtocol的export3. DubboExporter. openServer(url)4. DubboExporter...

2019-08-05 15:21:24 1789

原创 【Java并发】-- ConcurrentHashMap如何实现高效地线程安全(jdk1.8)

1.传统集合框架并发编程中Map存在的问题?2.早期改进策略HashTableHashTable相比HashMap是线程安全的,因为HashTable所有的方法都是加了synchronized的,锁的是整个hashMap,也就是我们说的锁的粒度比较大,由于最基本的put,set操作都加了互斥锁,造成的结果就是同一时间点只能由一个线程put或只能get,并发操作时所有的put,get操作都...

2019-07-21 20:39:31 2625 1

原创 【Java并发】-- ReentrantLock 可重入锁实现原理2 - 释放锁

接着上一篇分析……给一扇传送门,【Java并发】-- ReentrantLock 可重入锁实现原理1 - 获取锁当ThreadA线程执行完任务后调用finally中的unlock()方法释放锁的时候会经历什么样的操作。ReentrantLock.unlock()1. ReentrantLock中的unlock() /* * 释放锁 */ public void unlock(...

2019-07-17 16:54:33 785 1

原创 【Java并发】-- ReentrantLock 可重入锁实现原理1 - 获取锁

Lock有很多具体的锁的实现,但最直观的实现是ReentrantLock重入锁,也是平时我们用的最多的。重入锁是独占锁的代表。ReentrantLock 重入锁表示可重入的锁,举个例子:当线程t1通过调用lock()方法获取锁之后,再次调用lock,是不会再阻塞获取锁的,直接增加重试次数就行了。synchronized 和 ReentrantLock 都是可重入锁;来个简单的demo来说明一...

2019-07-17 11:54:06 823 2

原创 【Java并发】-- AQS 原理

在 Lock 中,用到了一个同步队列 AQS,全称 AbstractQueuedSynchronizer,它是一个同步工具, 也是 Lock 用来实现线程同步的核心组件, 如果你搞懂了 AQS,那么 J.U.C 中绝大部分的工具都能轻松掌握;

2019-07-07 21:40:54 613

原创 【数据结构与算法】--2.学习方法

思考:为什么要学?最大的感受是学习的过程可以锻炼自己的性能意识,写代码的时候会潜意思的考虑性能问题,所以写出低效代码的情况会越来越少。是什么?数据结构指的是“一组数据的存储结构”,算法指的是:“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用在特定的数据结构上的。学什么?1.复杂度是算法与数据结构的精髓,是对效率和资源消耗量的一个衡量,学习算法与数据结构就要学会对其进行复杂...

2019-04-10 08:46:16 1321 2

原创 wkt convert osmosis .poly ( PolygonFilter input )

MULTIPOLYGON WKT 数据地址 21523.txt Osmosis/Polygon Filter File Formatwkt 转 polyimport sysimport numpy as npfor ipath in sys.argv[1:]: if not ipath.endswith('.txt'): print(f'skip {ipath}') opath = f'{ipath}.poly' print(opath) wit

2020-10-28 17:28:30 594

原创 postgresql 修改字段类型为数组类型(text 改为 text[] )

语法:alter table tablename alter columnname type oldcolumntype USING columnname:: newcolumtypeeg:alter table dirty_track alter labels type text USING labels::text[];

2020-07-07 20:26:59 6230

原创 雪花算法踩坑 - Long 类型 id 返回前端精度丢失 (通过序列化解决)

能看到这里大概率说明你已经踩到这个坑了。原因:js的number类型支持的最大值是9007199254740992 (2的53次方-1),溢出之后的精度会丢失,导致前后端的值不一致。java的long类型最大值为9223372036854775807,远高于js number类型的最大值,所以这个坑就出现了。解决方案:id-type: ID_WORKER_STR简单来说就是id转为string类型,db和生成的id数据类型都改为string类型缺点:牺牲了long类型的性能优势通过json

2020-06-28 15:03:26 10422 6

原创 地图匹配算法-离散Fréchet距离(弗雷歇算法)Java实现

弗雷歇算法文献下面是java版本的实现package momenta.hdmap.diffosm.Frechet;import org.locationtech.jts.geom.Coordinate;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Arrays;import java...

2020-04-29 15:55:57 2847

原创 【工作感悟】-- 2020年04月

换工作大概五个多月了,最近想停下来总结一下。可能我还并不是一个足够理智的人,写总结也总是从自己很感性的一面切入的,我还是想先写一下自己的主观感受。【感到开心】公司的技术氛围特别好,我喜欢这种工作状态我感觉自己很幸运,遇到了一个超nice的mentor,他很温和也很有耐心【感到成长】这段时间里更多的是一个人在做事情,没有像之前一样总觉着不管什么问题都有大家伙一起扛着,独立做事情的过...

2020-04-19 23:35:16 1171 6

原创 【GIS入门】- 3.地理信息技术整体认识(3S)

地理信息技术地理信息技术是指获取,管理,分析和应用地理空间信息的现代技术的一个总称。主要包括了3S,也就是我们熟悉的RS,GPS,GIS。遥感(RS)全球定位系统(GPS)地理信息系统 (GIS)RS遥感是人们在航空器(eg:飞机,高空气球)或航天器(eg: 人造卫星)上利用一定对技术装备,对地表物体进行远距离对感知,因为不同对物体反射出对电磁波是不同的。流程是这样的:遥感的关...

2020-04-12 23:34:34 2842

原创 【GIS入门】- 2.GIS学习途径有哪些

1. GIS空间站,中国地理信息门户网站这个网站算是比较国内早期的地理信息门户网站,里面有GIS方面的相关资料和行业动态,论文资料,讨论ArcGIS、ArcSDE等软件的应用和开发 ,可以用来拓宽视野提升对行业认知。2. NarutoGIS这是一个集在线教育、科普、研究,技术交流支持等于一体的信息平台。集成微信登录,支付,解决用户在线学习,查看相关资料,数据下载,系统代码查看等功能。...

2020-04-11 21:08:02 1224

原创 【GIS入门】- 1. 如何学习GIS?

文章目录一、搞明白什么是GIS?二、GIS工作方向三、GIS初学者要学什么?四、 如何提高专业基础知识五、GIS学习途径六、GIS技术栈学习图谱作为一个想要在GIS领域内深入下去的初学者,内业研发方向,网上入门级别比较系统的资料不是很多,打算写一个GIS学习入门的专栏,一方面是让自己持续输出保持好记录总结的习惯,另一方面系统可以对有同样需求的读者一点帮助。一、搞明白什么是GIS?GIS 是地...

2020-04-10 14:29:01 15016 2

原创 【PostgreSQL 】-- ARRAY_AGG聚合函数

PG 的ARRAY_AGG函数是用来连接到一个数组中的输入值,就是把多个值合并到一个数组中。示例:原始sql与查询结果:SELECT case_id, case_labelFROM case_label WHEREcase_id = '6605'查询结果:使用ARRAY_AGG函数+group by的效果:SELECT case_id, array_agg(case...

2020-03-27 14:00:06 13702 1

原创 mybatis-plus-3.3.0(NoClassDefFoundError: org/mybatis/logging/LoggerFactory)

异常:引入mybatis-plus-boot-starter3.2.0之后普遍出现了这个异常,Caused by: java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory;原因:mybatis-plus 3.2.0以上版本需要用到一个扩展包,但是和springboot整合的starter里面还没有,所以需要单独加上...

2020-03-09 14:43:03 7926 5

原创 mybatis-plus 自定义basemapper支持批量增删改操作

com.baomidou.mybatisplus.core.mapper.BaseMappercom.baomidou.mybatisplus.extension.service.IService经常使用mybatis的开发朋友们都知道mybatis提供了上述两种类型的预定义接口来帮助我们做单表的增删改查操作,IService方式和BaseMapper这两种方式的区别以及联系是如何的呢? ...

2020-03-08 17:26:26 10804 1

原创 把事情做成

大部分人都是心里什么道理明白,只是不用动脑子的日子实在是太舒服了,不想干什么,总会找到一个看似合理的理由,然后就顺着这个台阶走下去了。

2020-03-04 21:38:32 656 2

原创 【如何学习】 -- 读刘未鹏《暗时间》有感

记录是为了更好的成长,分享从书中学到的精华,可能每一条都需要我们花上很多时间和精力去学习,不要着急,慢慢靠拢,每天都是更好的你~

2020-02-29 17:18:30 838 3

原创 【时间管理】 -- 顺应人性的时间管理法

我为什么放弃了四象限法则?市面上很火的时间管理四象限法则亲身实践了之后并没有达到预期的效果,我尝试把手头的事情按照四象限来划分,然后依次处理重要紧急的事情,紧急不重要,重要不紧急的事情,但我用了之后发现自己依旧会因为没有时间而感到焦虑。而且更多时候我没有办法去区分哪个更重要哪个更紧急,所以会有一堆重要紧急的事情,当我面对这样一堆重要紧急的事情,要去执行这些重要紧急的事情时,我开始焦虑,反倒一点...

2020-02-26 19:08:54 1012 1

原创 PgSql--创建与撤销唯一标识约束

SQL UNIQUE 约束UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。创建:alter table t_category add CONSTRAINT unique_index_t_category_category_name unique (c...

2020-01-16 11:50:21 4412

原创 JTS 空间数据关系分析

JTS Geometry关系分析:缓冲区分析(Buffer)包含所有的点在一个指定距离内的多边形和多多边形凸壳分析(ConvexHull)包含几何形体的所有点的最小凸壳多边形(外包多边形)交叉分析(Intersection)A∩B 交叉操作就是多边形AB中所有共同点的集合联合分析(Union)AUB AB的联合操作就是AB所有点的集合差异分析(Diff...

2020-01-08 14:49:05 3726

原创 JTS 空间数据关系判定

Geometry之间的关系有如下几种,JTS中都有相应的方法做关系判定:JTS Geometry关系判断:

2020-01-08 14:45:42 2913

原创 【JTS -- 空间数据处理】--计算两个几何图形的关系

当前需求是需要为建图算法建立评价指标,比如精准率和召回率指标,这两个指标如何计算在此不细说了,其中主要用到了JTS做空间关系计算。差分出两份OSM 文件中同一个Way节点之间的重合的Node部分,多余的部分和空缺的部分;用到了JTS 中的 buffer 和 intersection来做两个Way也就是两个LINESTRING ,但并不是所有Node经纬度完全相同的Linestring, 而...

2020-01-08 11:50:06 3995 1

原创 Java File ,byte[] , 二进制字符串之间互转

File ,byte[] , 二进制字符串之间互转的多种方法汇集 /** * File转Byte[] 方法一 * @param file * @return */ public static byte[] fileToBinArray(File file){ try { InputStream fis ...

2020-01-04 15:22:49 4821 1

原创 算法评价指标:准确率+精准率+召回率

评价指标:(1)(True Postive TP): 若一个实例是正类,但是被预测成为正类,即为真正类(2)(True Negative TN): 若一个实例是负类,但是被预测成为负类,即为真负类(3)(False Postive FP): 若一个实例是负类,但是被预测成为正类,即为假正类(4)(False Negative FN: 若一个实例是正类,但是被预测成为负类,即为假负类...

2019-12-31 19:30:08 6708 1

原创 Osmosis --主要功能

Osmosis 是用于处理OSM数据的Java命令行应用程序,包括许多插件式的组件。比如读写数据库和文件的组件、继承和修改数据源的组件、对数据排序管理的组件等,避免了实现常用功能而重复性编写代码。目前主要功能有:从数据库中生成指定区域的osm数据导入区域的osm数据到数据库生成变化数据集数据库更新记录表应用变化数据集到本地数据库比较区域osm数据生成变化数据集区域osm数据重排序...

2019-12-31 11:47:08 1574

原创 JTS Topology Suite 空间数据处理(一)

要了解的基本概念:要学习的内容:推荐学习资料:

2019-12-30 11:22:00 2040

原创 java 获取request请求头所有信息

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 获取头信息 */ String headValue = r...

2019-11-29 17:26:09 6485

原创 mybatis 自定义TypeHandler数组映射处理器 (pgsql text[]与java String[]映射)

自定义 ArrayTypeHandlerpublic class ArrayTypeHandler extends BaseTypeHandler<Object[]> { private static final String TYPE_NAME_VARCHAR = "varchar"; private static final String TYPE_NAME_I...

2019-11-19 16:55:33 2631

原创 持续集成工具 Jenkins vs TeamCity

1. 先来看看受欢迎程度:2. Jenkins vs TeamCity: What are the differences?JenkinsJenkins 是一个开源工具,Jenkins的出现的时间比较早一点,因此社区规模更大,使用范围更广,Stacks数量要多,插件扩展也更丰富,另外可以在多台机器上进行分布式构建和负载测试,总结:Jenkins强大又灵活,免费,支持跨平台,学习成本会高...

2019-11-19 16:29:23 6332

原创 mysql与pgsql

对比:适用场景性能语法

2019-11-19 15:21:51 1976

原创 【Java并发】 -- fork/join 框架解读

场景需求方案用法原理

2019-11-13 17:28:49 1353 1

原创 mybatis 自定义TypeHandler映射Geometry空间几何数据 PGPoint (java +mybatis+ pgsql)

报错信息Type handler was null on parameter mapping for property ‘coordinates’。It was either not specified and/or could not be found for the javaType (org.postgresql.geometric.PGpoint) : jdbcType (null) ...

2019-11-01 19:41:34 6994 4

原创 Java Geometry空间几何数据的处理

a flag:pgsql中常用的空间坐标类型在Java里用一般的数据类型表示不了呢,研究一下java对空间几何数据类型的处理,研究完回来补一下博客

2019-10-31 15:05:59 2443 2

原创 【Mysql】-- 查询结果集中排序第N高的记录

案例:编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如...

2019-10-05 10:43:42 681

原创 【Mysql】-- 为查询记录编上递增序号

原始数据:select * from mto_config为查询记录编上递增序号SELECT ( @i := @i + 1 ) num, m.* FROM mto_config m, ( SELECT @i := 0 ) AS i

2019-10-05 10:11:41 1756

原创 如何设计可以动态扩容缩容的分库分表方案

如何设计可以动态扩容缩容的分库分表方案?(1)选择一个数据库中间件,调研、学习、测试(2)设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,3个库每个库4个表(3)基于选择好的数据库中间件,以及在测试环境建立好的分库分表的环境,然后测试一下能否正常进行分库分表的读写(4)完成单库单表到分库分表的迁移,双写方案(5)线上系统开始基于分库分表对外提供服务(6)扩容了,扩容成...

2019-09-15 21:42:25 730

原创 如何把系统不停机迁移到分库分表的?

假设,你现有有一个单库单表的系统,在线上在跑,假设单表有600万数据3个库,每个库里分了4个表,每个表要放50万的数据量假设你已经选择了一个分库分表的数据库中间件,sharding-jdbc,mycat,都可以(1)停机迁移方案我先给你说一个最low的方案,就是很简单,大家伙儿凌晨12点开始运维,网站或者app挂个公告,说0点到早上6点进行运维,无法访问。。。。。。接着到0点,停机,系统...

2019-09-15 21:39:55 893

空空如也

空空如也

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

TA关注的人

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