- 博客(151)
- 收藏
- 关注
原创 Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
本文介绍了使用Docker部署Django应用的完整流程。首先详细说明了两种Docker离线安装方式:rpm包安装和tgz解压版安装,包括环境配置、服务启动和验证步骤。接着重点讲解了Django项目的Docker部署过程,通过编写Dockerfile定义Python环境、依赖安装和项目配置,使用python:3.7-slim-stretch镜像优化体积。最后演示了构建镜像、启动容器和访问验证的完整流程,展示了Django应用在Docker容器中成功运行的示例。
2025-08-13 21:03:14
171
原创 Python【算法中心 02】Web框架Django管理页面使用(管理员账号创建+API使用+应用添加)GreenPlum数据库引擎及API测试
摘要:本文介绍了Django框架管理页面的使用,包括SQLite和GreenPlum数据库的配置与管理员账号创建。在SQLite中,通过makemigrations和migrate命令实现数据库迁移,并创建超级用户登录管理界面。对于GreenPlum数据库,需安装psycopg2-binary包,但由于语法差异存在兼容性问题,需手动调整表结构。文章还展示了基本的Django数据库API操作和模型注册方法,最后指出Django对GreenPlum支持有限,建议非官方支持的数据库放弃使用其API。
2025-08-12 22:32:36
556
原创 Python【算法中心 01】Web框架Django入门(安装+项目创建+应用创建+服务启动)Python搭建算法中心后台实例分享
本文分享了使用Python搭建算法中心后台的实例,主要基于Django框架实现。由于Java项目调用Python类库时遇到部署问题,作者转而采用Python搭建服务。文章详细介绍了环境配置、Django项目创建、接口开发等步骤,包括URL路由配置、视图函数实现和跨域设置。通过一个姓名性别预测接口的完整实现过程,展示了前后端交互方式,并提供了Java通过FeignClient调用的示例代码和Postman测试结果。该方案有效解决了Java与Python混合开发的部署难题,为类似场景提供了参考实现。
2025-08-12 22:11:02
389
原创 Nginx【问题 01】前端出现的 413 错误 Request Entity Too Large 问题解决
摘要 Nginx出现413错误(Request Entity Too Large)是由于上传文件大小超过限制。通过client_max_body_size参数可设置大小限制,该参数可配置在http、server或location块中,作用域逐级缩小。默认限制为1MB,设置为0则不限制大小。示例展示了不同作用域的配置层级关系:http全局1MB、server特定10MB、location特定100MB。修改对应作用域的client_max_body_size值即可解决该问题。
2025-08-11 20:48:37
228
原创 Node【问题 01】gyp verb `which` failed Error: not found: python2【无法下载win32-x64-83_binding.node问题处理】
本文总结了解决"无法下载win32-x64-83_binding.node"问题的三种方案。问题表现为Python环境配置错误和node-sass二进制文件下载失败。方案一通过安装node-gyp和windows-build-tools工具链解决,但可能遇到安装卡顿问题;方案二直接手动下载所需文件并指定本地路径安装;方案三使用淘宝镜像源下载。其中方案二和方案三被证实有效,方案二还提供了网盘下载链接。作者建议根据实际情况选择合适方案,并提供了详细的命令行操作步骤和参考链接。
2025-08-11 20:44:18
300
原创 Node【工具 01】Node Version Manager nvm 安装使用(Node.js版本管理工具)
摘要: nvm(Node Version Manager)是管理多版本Node.js的工具,可解决不同项目对Node版本的兼容性问题(如报错提示需要v16.14但当前为v14.17)。支持安装、切换、卸载指定版本(如nvm install 16.14.0),并允许同时维护多个版本。Windows用户可直接安装nvm-setup.exe,常用命令包括版本列表查看(nvm ls)、切换(nvm use)等。若切换失败,需检查是否与旧版Node目录冲突,删除后通过nvm重装即可。
2025-08-10 17:59:53
325
原创 OpenSSH【安装 03】远程代码执行漏洞CVE-2024-6387修复(OpenSSH_9.7p1升级到9.8p1及cp: 无法创建普通文件“/usr/sbin/sshd“:文本文件忙问题处理)
本文介绍了在CentOS 7.7/7.8系统中将OpenSSH从9.7p1升级到9.8p1以修复CVE-2024-6387远程代码执行漏洞的详细过程。主要内容包括:1)环境准备和依赖检查;2)完整的备份和升级步骤;3)解决"文本文件忙"错误的方法,通过编写定时脚本在服务完全停止后替换sshd文件。文章提供了完整的操作命令和注意事项,特别针对远程升级场景给出了解决方案。升级后需验证服务端版本以确保漏洞修复成功。
2025-08-10 17:43:01
798
原创 Java【问题 07】SSH不同版本使用jsch问题处理(7.4升级9.7及欧拉原生8.8)
SSH不同版本使用jsch问题处理摘要 OpenSSH 8.8算法协商失败:因系统默认禁用ssh-rsa算法,需在sshd_config中显式添加HostKeyAlgorithms ssh-rsa以兼容jsch。 OpenSSH 9.7升级后的异常: 认证失败:密码错误导致Auth fail,修正后正常登录; SFTP传输报错:因登录耗时导致目录创建未执行,改进execCommandByTool方法,增加连接状态轮询确保命令执行。 连接超时与包损坏: 增大session.connect超时时间至200000
2025-08-08 23:10:11
696
原创 OpenSSH【安装 02】离线升级异常问题解决、无法升级时的失败恢复
本文总结了离线升级OpenSSH过程中遇到的异常问题及解决方案。主要问题包括:1)安装openssl时出现"Can't locate IPC/Cmd.pm"错误,通过强制安装rpm包解决依赖问题;2)Python版本冲突报错,通过离线安装特定版本的Python解决。对于升级失败后的恢复,发现仅还原备份文件无效,需要重新安装原始rpm包。文中还提供了相关修复文件的网盘下载链接,包含解决Python2问题和失败恢复所需的所有文件。这些经验为处理类似离线升级问题提供了实用参考。
2025-08-08 23:03:20
438
原创 OpenSSH【安装 01】OpenSSH漏洞修复(离线升级最新版本流程)网盘分享3个安装包+26个离线依赖(重要更新)
本文介绍了在CentOS 7.8系统上离线升级OpenSSH至最新版本(9.7p1)的完整流程。首先详细说明了多个OpenSSH旧版本存在的安全漏洞,包括竞争条件、命令注入、信息泄露等问题。然后提供了环境准备、依赖安装(包括在线和离线两种方式)、系统备份和旧版本卸载的具体步骤。重点阐述了zlib、OpenSSL和OpenSSH三个关键组件的编译安装过程,包括参数配置、路径设置和动态链接库更新等关键操作。最后给出了新版本OpenSSH的配置调整和文件替换方法,确保升级后SSH服务能正常运行。整个流程强调离线环
2025-08-06 22:43:57
757
原创 Shell【工具 01】Shc一个用于将Shell脚本编译成二进制可执行文件的工具(下载安装使用)
Shc是一个将Shell脚本编译成二进制文件的工具,可保护脚本源代码不被直接查看。文章介绍了Shc的下载安装方法(支持源码编译或make安装)、基本语法选项(如设置过期日期、调试模式等),并通过测试案例演示了从脚本编译到生成可执行文件的全过程:使用Shc编译生成中间文件,再通过gcc编译生成最终可执行程序。该工具适用于需要保护脚本内容的场景,但需注意二进制文件仍可能被逆向工程,且会降低脚本可维护性。最后将生成的可执行文件复制到系统路径即可直接运行。
2025-08-06 22:28:00
649
原创 Shell【脚本 06】HTTPS转发HTTP安装OpenSSL、Nginx(with-http_ssl_module)及自签名的X.509数字证书生成(一键部署生成脚本分享)
本文详细介绍了在CentOS 7.9系统上配置Nginx实现HTTPS转发HTTP的全流程。主要包括:1)安装OpenSSL 1.1.1s并配置环境变量;2)重新编译Nginx 1.23.1添加http_ssl_module模块(需特别注意openssl源码路径);3)通过openssl工具生成自签名证书的详细步骤及自动化脚本;4)Nginx的SSL配置,实现18080端口HTTPS请求转发到8080端口HTTP服务。文中特别强调了OpenSSL源码路径和安装路径的区别、证书生成过程中的常见问题等关键点,并
2025-08-05 08:57:15
1023
原创 Shell【脚本 05】交互式Shell脚本编写及问题处理([: ==: unary operator expected)[: ==: 期待一元表达式
本文介绍了从Windows cmd脚本迁移到Linux Shell脚本的过程,重点讲解了交互式报告保存脚本的开发演进。初始版本存在参数固定、缺少交互等问题;改进版通过read和case语句实现基本交互;最终版本采用while循环,只需一次输入IP和端口即可多次选择报告类型。文章展示了Shell脚本的逐步优化过程,最终实现了一个用户友好的交互式报告下载工具,解决了服务部署环境差异带来的问题。
2025-08-05 08:49:28
249
原创 Shell【脚本 04】传递参数的4种方式(位置参数、特殊变量、环境变量和命名参数)实例说明
本文介绍了Shell脚本中传递参数的四种主要方式:1)位置参数($1,$2等),2)特殊变量($0,$#,$@等),3)环境变量和4)命名参数(包括getopts和getopt两种方法)。文章首先概述了Shell脚本的基础知识,包括解释器、变量、流程控制等内容,然后详细讲解了每种参数传递方式的特点和使用方法,并提供了具体示例代码。其中重点对比了getopts和getopt在处理命名参数时的差异,展示了它们处理短选项、长选项和参数验证的能力。这些方法为Shell脚本开发提供了灵活的参数处理方案。
2025-08-03 08:42:46
911
1
原创 Shell【脚本 03】离线安装配置集结JDK+InfluxDB+Zookeeper+Kafka(安装文件及脚本源码网盘分享)
摘要:本文提供4个常用组件的离线安装脚本(JDK 8u241、InfluxDB 1.7.6、Zookeeper 3.6.2、Kafka),包含百度网盘资源链接(提取码:l6nw)。每个脚本均针对特定版本设计,支持一键化部署,包含环境变量配置、服务启动和开机自启设置。使用前需通过chmod +x赋权并以source方式执行,部分参数(如安装路径、数据目录等)可根据需求自定义修改。所有脚本均经过步骤化设计,包含安装验证环节,适合快速搭建大数据环境基础组件。
2025-08-03 08:35:04
490
原创 Shell【脚本 02】离线安装配置Zookeeper及Kafka并添加service服务和开机启动(脚本分析)
本文提供了Zookeeper和Kafka的离线安装脚本,包含6个主要步骤:解压安装文件、配置环境变量、设置运行参数、首次启动服务、开放端口(Zookeeper 2181端口/Kafka 9092端口)以及将服务加入systemd并设置开机自启。脚本采用分步执行方式,每个步骤都有明确的状态提示。使用说明指出需用source命令执行脚本以确保环境变量生效,并提醒不同版本可能需要调整运行参数配置。两个脚本结构相似,均实现了自动化部署和系统服务集成功能。
2025-08-02 09:28:47
244
原创 Shell【脚本 01】实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
本文分享了一个简单的Shell脚本实现showDoc文件备份的方案。脚本包含文件复制、压缩打包、清理临时文件和定期删除旧备份等功能,并提供了纯净版和带注释解析的两个版本。同时介绍了如何设置定时任务,包括赋予脚本执行权限、编辑crontab表达式以及重启cron服务等操作。该方案适合需要定期备份showDoc数据的场景,通过修改路径即可直接使用。
2025-08-02 09:19:00
159
原创 Java【代码 23】使用双冒号 :: 简洁代码及方法引用(静态方法+构造方法+实例方法+函数式编程举例)
本文介绍了Java中双冒号(::)操作符的用法,主要用于方法引用。内容包括:1)Stream中使用实例方法和静态方法引用的示例;2)定义DemoEntity实体类;3)演示四种方法引用场景:静态方法、构造方法、实例方法和自定义实例方法;4)总结指出Lambda表达式和方法引用的区别,强调在Stream中双冒号操作符的常见应用。通过代码示例展示了如何简化函数式编程中的方法调用。
2025-08-01 10:46:00
400
原创 Java【代码 22】反射机制处理传递给mapper文件的非Map类型参数对象(指定属性为空则设置默认值)
本文介绍了一种基于MyBatis拦截器机制实现参数对象属性默认值设置的方法。通过实现Interceptor接口,在intercept方法中拦截mapper文件参数,对非Map类型的对象参数使用反射机制动态处理:先获取对象属性及getter方法判断属性值是否为空,若为空则调用setter方法设置默认值。核心代码展示了如何通过反射获取字段、构造getter/setter方法名并执行方法调用,同时支持对动态SQL的特殊处理。该方案适用于需要为DTO对象属性设置默认值的场景,提高了代码的灵活性和复用性。
2025-08-01 10:32:51
524
原创 Hive【环境搭建 02】多数据源可视化工具 DataGrip 和 DBeaver 连接 Hive 数据库及 Connection refused:connect. 问题处理
摘要:本文介绍了Hive多数据源可视化工具DataGrip和DBeaver的使用方法。首先分析Hive连接报错"Connection refused"的原因,指出需要启动HiveServer2服务,并提供了前台和后台启动方式。随后详细演示了在DataGrip和DBeaver中配置Hive连接的过程,包括驱动下载、连接测试、SQL编辑器使用等核心功能。最后推荐免费开源的DBeaver作为首选工具,因其支持300多种数据库、强大的SQL补全和表属性查看功能。文章特别强调DBeaver虽然有一
2025-07-31 09:33:01
489
原创 Java【代码 21】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
这是一个基于Aspose库的Java文件格式转换工具集,包含Word转PDF、Excel转PDF和PDF转图片三个核心功能。项目整合了开源贡献者的代码,提供了完整的Gitee仓库地址。工具类需要依赖aspose-words和aspose-cells等jar包,并针对Linux环境下的中文乱码问题提供了解决方案(使用特定版本的jar包和字体配置)。核心代码展示了各工具类的主要转换方法,包括文件路径处理、格式设置和转换执行。项目还详细说明了字体文件配置要求,并提供了针对Word/Excel中文转换失败的具体解决
2025-07-31 09:30:46
1065
原创 Java【代码 20】写入csv文件的字段值含有特殊字符的转义处理
摘要:本文介绍了CSV格式中特殊字符的转义处理规范(RFC4180),重点说明当字段包含逗号、双引号或换行符时需用双引号包裹,且内部双引号需转义为两个双引号。文中提供了示例表格展示不同情况下的转义结果,并给出Java实现代码:通过判断字段是否包含特殊字符,先对双引号进行转义再用双引号包裹整个字段。该处理方式适用于需要严格遵循CSV格式规范的场景。
2025-07-31 09:27:12
753
原创 Java【代码 19】含有换行符\r\n的字符串匹配(源码分享)处理Word文档里的Excel表格数据
Java读取Word文档时遇到字符串匹配问题,文档中的换行符\r\n无法与YAML配置匹配。问题分析发现YAML配置中的\r\n被转义为\\r\\n,导致匹配失败。解决方案是将配置字段改为Object类型并使用toString()方法获取值,避免转义问题。这样处理后字符串中的换行符能正确匹配,解决了表头识别问题。
2025-07-30 16:51:42
339
原创 Java【代码 18】处理Word文档里的Excel表格数据(源码分享)
本文介绍了从Word文档中提取Excel表格数据并格式化的处理方法。原始数据以换行符分隔的字符串形式存在,包含姓名、身份证号等字段。通过Java程序实现:1)识别替换表格表头,将表头转换为CSV格式;2)处理多余换行符,将每行数据转为逗号分隔;3)最终输出规范的CSV格式数据。该方法适用于固定表头的表格数据处理,表头信息可配置,关键在于准确定位表格数据的起始位置。处理后的数据便于后续导入Excel或其他系统使用。
2025-07-30 16:42:14
110
原创 Java【代码 17】httpclient PoolingHttpClientConnectionManager 连接池使用举例
本文介绍了HTTP连接池的使用方法,针对服务器出现大量TIME_WAIT和CLOSE_WAIT状态连接的问题提供了解决方案。文章分析了这两种状态的原因及解决策略,包括使用连接池、调整内核参数等。提供了基于Apache HttpClient 4.5.13的连接池配置代码示例,展示了如何创建和管理连接池,以及如何通过连接池发起HTTP请求。文中还指出了当前代码存在的不足,如缺少关闭httpclient和连接池的方法。整体解决方案旨在提高连接复用率,减少短连接创建,优化服务器性能。
2025-07-29 18:06:00
1140
2
原创 Java【代码 16】Milvus向量库工具类和SeetaSDK获取人像向量和属性的工具类分享
本文分享了Milvus向量数据库和SeetaSDK的工具类实现。Milvus部分包含Maven依赖配置、连接初始化、数据插入和向量搜索功能,其中搜索方法支持设置Top K结果。SeetaSDK部分提供了本地JAR依赖配置方式,需注意Spring Boot打包时需要包含系统作用域的依赖。工具类封装了核心功能,包括特征向量入库、相似度搜索等操作,并展示了结果封装方法。两个工具类都采用Spring Boot配置方式,便于集成到项目中。
2025-07-29 18:01:47
356
原创 Java【代码 15】文件操作相关方法(获取文件、复制文件、创建文件夹、获取图片文件、写出数据到文件、清理文件夹)
本文分享文件操作相关的工具类方法,主要包括6个实用功能:1)获取指定数量文件列表(支持文件筛选并排除最新文件);2)文件复制功能;3)参数化创建文件夹;4)根据路径读取图片并返回浏览器展示;5)使用固定UTF-8编码格式输出文件内容;6)按参数清理过期文件夹(含特定日期判断逻辑)。其中特别强调了写出文件使用固定编码、最新文件不扫描等细节处理,部分方法如文件夹清理包含特定业务逻辑,需注意使用场景。
2025-07-29 17:57:09
455
原创 Java【代码 14】一个用于判断磁盘空间和分区表是否需要清理的工具类
摘要 本文介绍了一个用于监控磁盘空间和判断分区表是否需要清理的Java工具类。该工具类主要提供以下功能:1) 通过路径获取磁盘剩余空间和总空间数据,计算磁盘使用率;2) 根据分区类型(年/月/日)和存储年限参数,判断表分区是否需要清理;3) 计算时间差值确定临界分区;4) 生成需要清理的分区列表。核心方法包括查询磁盘空间、判断清理条件、计算日期差值、确定临界分区和生成清理列表等。该工具类依赖Hutool工具包处理日期计算,适用于需要定期清理过期分区和监控磁盘空间的场景。
2025-07-28 18:03:03
569
2
原创 Java【代码 13】前端动态添加一条记后端使用JDK1.8实现map对象根据key的部分值进行分组(将map对象封装成指定entity对象)
本文介绍了如何在后端处理前端动态添加的记录数据。前端通过JavaScript动态添加多行参数输入,将数据以paramIn-0-name、paramIn-0-cn等形式提交到后端。后端使用Java 8的Stream API对参数进行分组处理,通过提取key中的前缀(如paramIn-0)作为分组依据,将相关参数归类到同一组。然后通过changeKeysToEntity方法转换key格式,最终将处理后的数据封装成对象列表并转为JSON存储。该方法展示了当前端不便处理复杂数据结构时,后端如何有效实现数据分组和转换
2025-07-28 17:59:00
267
原创 Java【代码 12】判断一个集合是否包含另一个集合中的一个或多个元素 retainAll() 及其他方法
本文探讨了判断集合包含关系的实现方法。通过对比contains()和retainAll()两种方式,发现retainAll()虽然能求交集,但其返回值逻辑(全部包含返回false,部分包含或不包含返回true)无法准确判断集合间的包含关系。测试表明,自定义的isContainsOne()方法通过遍历检查元素是否存在,能更可靠地实现"判断第一个集合是否包含第二个集合中任一元素"的业务需求。因此在实际开发中,应根据具体需求选择合适的方法,retainAll()更适合需要获取交集的场景而非单纯
2025-07-28 17:57:59
289
原创 Java【代码 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
本文介绍了在YAML配置文件中配置List和Map类型参数的方法。通过分析Spring Cloud Gateway和DynamicDataSource的源码,展示了如何定义配置类和编写YAML配置。文章提供了两种实现方式:List方式适用于路由列表等线性结构,Map方式则支持键值对配置。两种方式都能封装复杂对象,其中Map多出一个Key可用于存储额外信息。最后强调配置时需注意前缀和字段的对应关系,并附上示例代码和配置片段,帮助开发者快速掌握YAML配置技巧。
2025-07-25 08:51:19
401
2
原创 Java【代码 10】线程池ThreadPoolExecutor指定线程执行任务(修改线程名称+线程任务指定)
本文介绍了如何通过线程池ThreadPoolExecutor指定特定线程执行任务。首先展示了一个自定义线程池的创建示例,包括设置核心线程数、最大线程数、线程存活时间等参数。然后提供了关键代码:通过Thread.getAllStackTraces()获取所有线程,修改指定线程名称,并根据线程名称判断执行特定任务。这种方法适用于需要精确控制线程执行特定业务的场景,实现了线程与任务的绑定关系。
2025-07-25 08:48:41
188
原创 Java【代码 09】多线程处理List数据核心代码说明(下标越界、数据丢失及效率问题)
本文介绍了使用多线程分批处理大数据量List的核心代码方案。针对线程安全、数据丢失和下标越界问题,提出了三种线程安全集合实现方式:Vector、CopyOnWriteArrayList和Collections.synchronizedList。通过CountDownLatch实现线程同步,将List分批处理后合并结果。方案3(Collections.synchronizedList)效率最高,避免了集合重构导致的下标越界问题。代码展示了正确的数据合并方式,并比较了不同线程安全集合的性能差异。
2025-07-25 08:43:51
409
原创 Java【代码 08】使用正则表达式去掉小数类型字符串多余的.与0
摘要: 这段Java代码定义了一个subZeroAndDot方法,用于去除小数字符串中多余的零和小数点。当字符串包含小数点时,先使用正则表达式移除末尾多余的零(0+?$),再移除可能残留的小数点([.]$)。例如,输入"3.1400"会返回"3.14",输入"5.00"会返回"5"。该方法适用于格式化小数显示,使输出更简洁。
2025-07-25 08:41:18
106
原创 Java【代码 07】Java执行Python代码的3类5种情况测试(Java源码+Python源码举例)
本文介绍了Java调用Python代码的3类5种实现方式:1)直接执行Python代码片段;2)执行Python文件(包括无参数、带参数和使用bat脚本执行);3)调用Python文件中的函数。核心依赖Jython库,通过PythonInterpreter或Runtime.exec()实现跨语言调用。文章提供了详细的代码示例和对应的Python文件,展示了Java与Python的互操作性,适用于需要结合两种语言优势的场景。这些方法为Java开发者提供了灵活调用Python功能的多种途径。
2025-07-25 08:38:49
292
原创 Java【代码 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
摘要 本文解决不同数据库(Map的key大小写不一致)的兼容性问题。Oracle返回大写的key,GreenPlum返回小写的key,通过Lambda表达式统一转换:提供Java方法mapKeysToUpperCase(),使用forEach遍历List中的Map,将key统一转为大写。此外提到,使用SQL别名时,GreenPlum需加双引号才能保持别名大小写("tableName"),否则会转为全小写。该方法实现了不同数据库查询结果Map的key格式统一,便于后续处理。
2025-07-24 17:56:27
333
原创 Java【代码 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现
本文介绍了将字符串转换为数据库IN查询语句的方法。当接收前端传递的筛选条件字符串时,使用Java 8的Stream API可以方便地将逗号分隔的字符串转换为符合SQL IN语句格式的字符串(如"'val1','val2'")。示例代码展示了字符串转换的实现方式,以及在MyBatis mapper文件中如何使用转换后的字符串构建IN查询条件。这种方法简化了前后端数据传输与数据库查询条件的转换过程,提高了开发效率。
2025-07-24 17:53:43
341
原创 Java【代码 04】坐标系说明+WGS84\GCJ02\BD09坐标系转换工具+Java坐标系转换及验证源代码分享(粘贴可用)
本文介绍了Java中常用的地理坐标系转换方法,主要涉及WGS84、GCJ02和BD09三种坐标系。首先说明了地理坐标系与投影坐标系的区别,重点介绍了WGS84(原始GPS坐标系)、GCJ02(中国加密坐标系)和BD09(百度加密坐标系)的特点。然后提供了在线转换工具验证转换结果。最后给出了Java实现的坐标系转换工具类,包含WGS84转GCJ02的核心算法,通过经纬度偏移计算实现坐标转换,并处理了国内外的坐标边界情况。该工具类采用BigDecimal保证计算精度,支持对象转换和基本类型转换两种方式。
2025-07-24 17:50:33
1114
原创 飞算JavaAI:Java程序员的AI助手,一天助你成为Java开发高手!
我是从电气工程师转行到软件工程师的,当时参加 Java 培训,用了 4 个月时间,在 8 年前你如果告诉我一天助你成为 Java 高手!,我只能说,我信你个鬼!但是如今这个 AI 时代,你再这么说,我暂时是半信半疑的。项目经理 1 名需求、前端、美工、dba 4 名若干后端工程师测试工程师 1 名现在一个插件就能搞定???我惊呆了!!!安装过程很是简单。功能确实很强大。根据项目结合的比较好,特别是数据库。最为重要的是,免费使用。
2025-07-24 13:45:48
1111
32
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人