/images/avatar.png

gt

gt 源码相关 线程相关 下面梳理下gt使用的线程 继承Thread类 在gt源码中,有两个继承了Thread的类,FCBuffer和WeakCollectionCleaner 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 protected boolean addFeature(SimpleFeature f) { if (ft == null) { ft = f.getFeatureType(); } if (size >= features.length) { return false; } synchronized (this) { notify(); features[end] = f; end++; if (end == features.length) { end = 0; } size++; } return true; } wait()和notify()是Object类的方法,用于线程的等待与唤醒,必须搭配synchronized 锁来使用。

web

跨域 最近遇到跨域的问题,有个伙伴使用JSONP解决跨域的问题,简单记录下(其他方式不在讨论) JSONP (JSON with Padding)是JSON 的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。 优势在于支持老式浏览器。 JSONP是利用浏览器对script的资源引用没有同源限制,通过动态插入一个script标签,当资源加载到页面后会立即执行的原理实现跨域的。JSONP是一种非正式传输协议,该协议的一个要点就是允许用户传递一个callback或者开始就定义一个回调方法,参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。 ajax请求的时候,要设置dataType: “jsonp” JSONP只支持GET请求而不支持POST等其它类型的HTTP请求 弊端也比较明显:需要客户端和服务端定制进行开发,服务端返回的数据不能是标准的Json数据,而是callback包裹的数据。

jts

jts 源码学习。学习源码,才能更深入的了解原理 index 从index的package-info里面可以看到,这个包提供各种空间索引,SpatialIndex接口里面定义了索引的4个操作,增删查,实现这个接口的有3个类:HPRtree,Quadtree和STRtree。下面简要介绍下包内的内容。 名称 空间索引 使用场景 help Binary Interval Tree 否 四叉树的一维版本。给定一个包含 n 个区间的集合 S 和一个查询点 q,报告所有包含 q 的区间;和重叠区间搜索问题:给定一个包含 n 个区间的集合 S 和一个查询区间 Q,报告 S 中与 Q 重叠的所有这些区间。 https://iq.opengenus.org/interval-tree/ Monotone Chains 否 凸包 https://zhuanlan.zhihu.com/p/158043191 Hilbert-Packed R-tree 是 是R-tree的一种变体,是多维对象的索引,基于分形曲线构建静态 R 树的压缩算法 dim(E(a)∩E(b)) intervalrtree 否 一维间隔实现R树索引 KD-Tree 否 分割k维数据。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。 https://en.wikipedia.org/wiki/K-d_tree Quadtree 是 将已知范围的空间等分成四个相等的子空间 R-tree 是 MBR最小边界矩形的方法,从叶子节点开始用矩形将空间框起来 sweepline 否 它用于计算索引中间隔之间的所有重叠 可以参考JTS-SpatialIndex空间索引使用说明(十五)

空间数据库

空间数据库是一种通用数据库(通常是关系数据库),它已得到增强,包括表示几何空间中定义的对象的空间数据,以及用于查询和分析此类数据的工具。大多数空间数据库允许表示简单的几何对象,例如点、线和多边形。某些空间数据库可处理更复杂的结构,例如 3D 对象、拓扑覆盖、线性网络和不规则三角网 (TIN)。虽然典型的数据库已经开发用于管理各种数字和字符类型的数据,但此类数据库需要额外的功能来有效地处理空间数据类型,并且开发人员经常添加几何或要素数据类型。开放地理空间联盟(OGC)开发了简单功能规范(首次发布于1997年),并为向数据库系统添加空间功能设定了标准。SQL/MM 空间 ISO/IEC 标准是 SQL/MM 多媒体标准的一部分,它使用支持循环插值的数据类型扩展了简单特征标准。 除了典型的 SQL 查询(如 SELECT 语句)之外,空间数据库还可以执行各种空间操作。以下操作以及更多操作由开放地理空间联盟标准指定: 空间测量:计算线长度、多边形面积、几何之间的距离等。 空间函数:修改现有要素以创建新要素,例如,在现有要素周围提供缓冲区、相交要素等。 空间谓词:允许对几何之间的空间关系进行真/假查询。示例包括“两个多边形是否重叠”或“在我们计划建造垃圾填埋场的区域一英里范围内是否有住宅?(见DE-9IM) 几何构造函数:创建新几何图形,通常通过指定定义形状的顶点(点或节点)。 观察者函数:返回有关要素的特定信息的查询,例如圆心的位置。 空间索引 常见的空间索引方法包括: Binary space partitioning (BSP-Tree): Subdividing space by hyperplanes. Bounding volume hierarchy (BVH) Geohash Grid (spatial index) HHCode Hilbert R-tree kd-tree m-tree – an m-tree index can be used for the efficient resolution of similarity queries on complex objects as compared using an arbitrary metric. Octree PH-tree Quadtree R-tree: Typically the preferred method for indexing spatial data.

pg

关于pg BSD协议 默认情况下 PostgreSQL 安装完成后,自带了一个命令行工具 SQL Shell(psql) Windows 系统一般在它的安装目录下: C:\Program Files\PostgreSQL\11\bin\psql.exe psql的命令都以\开始 psql语法 psql的命令都以\开始,;结束 PostgreSQL 客户端应用 https://www.yiibai.com/manual/postgresql/sql.html PostgreSQL操作-psql基本命令 1 建立数据库连接 psql -h IP地址 -p 端口 -U 数据库名 2 访问数据库 1、列举数据库:\l 2、选择数据库:\c 数据库名 3、查看该某个库中的所有表:\dt select * from pg_tables where schemaname = ‘public’; 4、切换数据库:\c interface ​ 查看当前数据库:\c ?SELECT column_name FROM information_schema.columns WHERE table_name =‘table_name’; 5、查看某个库中的某个表结构:\d 表名 6、查看某个库中某个表的记录:select * from apps limit 1; 7、显示字符集:\encoding 8、退出psgl:\q 类型 PostgreSQL数据类型 - 简书 官方 https://www.

常用的软件

小众软件使用起来极其方便,目前经常用的有一下几个: 首推Everything:是一款很牛的文件搜索软件, 速度飞快,支持正则表达式。能够使用FTP,http等,支持二次开发。但是只支持 NTFS 文件系统,不支持 fat32 文件系统。 FileLocator:全文检索 DBeaver:数据库管理工具,社区版足够 SpaceSniffer:简约强大的磁盘空间可视化工具 Snap2HTML:最佳树形目录索引生成工具 CCleaner:是一款免费的系统优化和隐私保护工具,主要用来清除Windows系统不再使用的垃圾文件,以腾出更多硬盘空间。它的另一大功能是清除使用者的上网记录。体积小,运行速度极快,可以对文件夹、历史记录、回收站等进行垃圾清理,并可对注册表进行垃圾项扫描、清理。 Snagit:是Windows一个非常著名的优秀屏幕、文本和视频捕获、编辑与转换软件,可以捕捉、编辑、共享您计算机屏幕上的一切对象。 Teorex Inpaint:是一款去除图片背景中瑕疵的图片处理软件的小软件。 ABBYY FineReader Professional:是一款真正的专业OCR,它不仅支持多国文字,还支持彩色文件识别、自动保留原稿插图和排版格式以及后台批处理识别功能,使用者再也不用在扫描软件、OCR、WORD、EXCEL之间换来换去了,处理文件会变的就像打开已经存档的文件一般便捷。 PuTTY:是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件 NetWorx 实时流量数据NetWorx是一款用于带宽检测和使用报表的免费工具软件。 DiskGenius:是一款硬盘分区及数据恢复软件,包括已删除文件恢复、分区复制、分区备份、硬盘复制等功能。 CPU-Z:是一款CPU检测软件。 CrystalDiskInfo:检测本机硬盘详细信息的工具,通过读取S.M.A.R.T了解硬盘健康状况:包括接口、转速、温度、使用时间等,软件还会根据S.M.A.R.T的评分做出评估,当硬盘快要损坏时还会发出警报。