自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池创建使用

线程池在采用ThreadPoolTaskExecutor。

2024-01-04 21:53:04 434 1

原创 Java线程执行机制“Executor 框架”

在Java中,使用线程来异步执行任务。Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源。同时,为每一个任务创建一个新线程来执行,这种策略可能会使处于高负荷状态的应用最终崩溃。Java的线程既是工作单元,也是执行机制。从JDK 5开始,把工作单元与执行机制分离开来。工作单元包括 Runnable和Callable,而执行机制由Executor框架提供。Executor框架的结构与成员Executor。

2023-07-18 11:07:12 143 1

原创 Java 中的线程池

Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来 3 个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。

2023-07-11 15:09:34 142

原创 垃圾收集器与内存分配策略

垃圾收集(Garbage Collection,简称GC),围绕三个方向:哪些内存需要回收?什么时候回收?如何回收?

2023-07-05 19:53:00 100 1

原创 JVM内存模型

JVM 是执行 Java 程序的虚拟计算机系统,Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存 将会包括以下几个运行时数据区域程序计数器。

2023-07-05 19:20:05 63 1

原创 Java内存模型(Java Memory Model)、volatile与synchronized之间联系

Java内存模型(Java Memory Model)、volatile与synchronized之间联系synchronized是一种锁机制,存在阻塞问题和性能问题,而volatile并不是锁,所以不存在阻塞和性能问题。volatile借助了内存屏障来帮助其解决可见性和有序性问题,而内存屏障的使用还为其带来了一个禁止指令重排的附件功能,所以在有些场景中是可以避免发生指令重排的问题的。

2023-07-05 14:59:01 51 1

原创 Java对于JTS Topology Suite (JTS)使用

JTS拓扑套件是一个用于创建和操作矢量几何体的Java库。它还提供了一套全面的几何测试用例,以及用于处理和可视化几何和JTS功能的TestBuilder GUI应用程序。在GIS中是非常重要的可以使用与图形缓冲、解析、抽稀。

2023-07-02 16:30:24 1394 2

原创 java--关于H3使用

H3是一种基于网格的空间索引,但跟普通的矩形网格索引不同的是,他的每一个网格都是正六边形。为啥要选正六边形呢,因为在基于网格的空间索引中,使用的多边形的边数越多,则一个网格越近似圆形,做缓冲区查询、kNN查询什么的也就越方便。而做网格索引又要求空间能够被网格铺满,不能有缝隙。在官方文档中还有很多关于的使用介绍,大家可以进入使用文档去查看,这里只是例举了几种使用。

2023-07-02 15:54:54 591 1

原创 Java gzip压缩数据传送、模拟请求后端

先说一说背景,因为接口请求传入的数据量太多太大,导致需要使用Gzip压缩数据然后再传送给接口,数据压缩的方式来减少传输的数据量,从而提高传输效率。

2022-11-10 13:27:37 2926 1

原创 Java使用graphhopper完成路线规划

首先graphhopper是一个开源的免费的的路线规划,里面涵盖了全世界的地图,采用的经度纬度上WGS84(Gps)坐标系。因为是开源的所以设计到一些很精细到城市道路路线,可能与国内的三大图商(百度、高德、腾讯)有所差距。去openstream Map下载开源的亚洲板块中的中国地图数据。

2022-09-19 13:55:48 3394 5

原创 Java图商地图(百度、高德、腾讯)路线规划

Java图商地图(百度、高德、腾讯)路线规划,根据返回的json,从中抽取自己需要的,我下面统一选取图商根据经度纬度(GPS坐标)路线规划返回的路径距离(注意坐标系,我这里统一选取WGS84的坐标系,百度地图可以直接使用WGS84坐标,而腾讯、高德【默认都是Gcj02】得需要自己转坐标系,转坐标系我自己写的另外一篇博客中有)

2022-09-18 16:59:39 1518 2

原创 WGS84转换为三大图商(百度、高德、腾讯)坐标,Gcj02转换为WGS84

WGS84转换为三大图商(百度、高德、腾讯)坐标,Gcj02转换为WGS84

2022-09-17 16:30:49 10979

原创 Java读取txt,xlsx文件

读取xlsx文件转换为一个list集合。txt初始化读取形成一个map。

2022-09-08 11:15:18 449 1

百度地图js,输入经度纬度实现标点、折线、图,清除覆盖物,清除poi文字,测距,随意缩放地图大小

百度地图的网页,调用百度地图api的javaScript,这里得创建自己的工单,申请自己的密钥key(申请的是浏览器端),通过输入经度纬度、线宽、线的颜色、线的透明度,实现百度地图的标点,折线,画图(注意:这里标点输入的直接是经度纬度中间用逗号隔开,例如【116.399, 39.910】,而折线和图的形成输入的也是经度纬度,每个经度纬度中间用分号隔开,例如【 116.399, 39.910;116.405, 39.920;116.425, 39.900】),页面里面也实现了隐藏poi文字、还有覆盖物清除、进行测距(在地图上随意标俩个点就可以获得之间的直线距离)、随意放大和缩小地图的按键也可通过鼠标。最后一个路径规划的输入框,是输入一个json(例如百度地图两点之间百度地图的路线规划),这个输入的json是怎么样可以在baidu.js文件中进行修改一下参数设置就可以。这个是我们公司的路径规划路线返回的json字符串,然后传入到百度地图,与百度地图的路径规划看看是不是差距很大。

2022-09-19

空空如也

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

TA关注的人

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