基于Javaweb的宠物医院管理系统毕业设计源码。基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码。基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码。基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码。基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码基于Javaweb的宠物医院管理系统毕业设计源码
2024-04-12 18:21:41 4.76MB java javaweb
这本书是很经典的! 如何充分利用系统资源,如何让你的软件跑得更快?如何在多处理器下更好的实现多线程呢?该书详细阐述了JAVA多线程的设计、开发并配有测试源代码,更值得注意是将多线程设计与设计模式结合起来,供我们设计大型服务器的多线程提供了帮助。
2024-04-12 15:41:20 10.63MB 设计模式 PDF 源码
1
package com.map; public class GPSConverterUtils { public static final String BAIDU_LBS_TYPE = "bd09ll"; public static double pi = 3.1415926535897932384626; public static double a = 6378245.0; public static double ee = 0.00669342162296594323; /** * 84 to 火星坐标系 (GCJ-02) World Geodetic System ==> Mars Geodetic System * 天地图 转 火星 * @param lat * @param lon */ public static GPS gps84_To_Gcj02(double lat, double lon) { if (outOfChina(lat, lon)) { return null; } double dLat = transformLat(lon - 105.0, lat - 35.0); double dLon = transformLon(lon - 105.0, lat - 35.0); double radLat = lat / 180.0 * pi; double magic = Math.sin(radLat); magic = 1 - ee * magic * magic; double sqrtMagic = Math.sqrt(magic); dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi); dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi); double mgLat = lat + dLat; double mgLon = lon + dLon; return new GPS(mgLat, mgLon); } /** * * 火星坐标系 (GCJ-02) to 84 * * @param lon * @param lat * @return *火星转天地图 */ public static GPS gcj_To_Gps84(double lat, double lon) { GPS gps = transform(lat, lon); double lontitude = lon * 2 - gps.getLon(); double latitude = lat * 2 - gps.getLat(); return new GPS(latitude, lontitude); } /** * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 将 GCJ-02 坐标转换成 BD-09 坐标 *火星转百度 * @param gg_lat * @param gg_lon */ public static GPS gcj02_To_Bd09(double gg_lat, double gg_lon) { double x = gg_lon, y = gg_lat; double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * pi); double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * pi); double bd_lon = z * Math.cos(theta) + 0.0065; double bd_lat = z * Math.sin(theta) + 0.006; return new GPS(bd_lat, bd_lon); } /** * * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 * * 将 BD-09 坐标转换成GCJ-02 坐标 * * @param * 百度转火星 * * bd_lat * @param bd_lon * @return */ public static GPS bd09_To_Gcj02(double bd_lat, double bd_lon) { double x = bd_lon - 0.0065, y = bd_lat - 0.006; double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * pi); double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * pi); double gg_lon = z * Math.cos(theta); double gg_lat = z * Math.sin(theta); return new GPS(gg_lat, gg_lon); } /** * (BD-09)-->84 * 百度转天地图 * * @param bd_lat * @param bd_lon * @return */ public static GPS bd09_To_Gps84(double bd_lat, double bd_lon) { GPS gcj02 = bd09_To_Gcj02(bd_lat, bd_lon); GPS map84 = gcj_To_Gps84(gcj02.getLat(), gcj02.getLon()); return map84; } /** * is or not outOfChina * @param lat * @param lon * @return */ public static boolean outOfChina(double lat, double lon) { if (lon < 72.004 || lon > 137.8347){ return true;} if (lat < 0.8293 || lat > 55.8271){ return true;} return false; } public static GPS transform(double lat, double lon) { if (outOfChina(lat, lon)) { return new GPS(lat, lon); } double dLat = transformLat(lon - 105.0, lat - 35.0); double dLon = transformLon(lon - 105.0, lat - 35.0); double radLat = lat / 180.0 * pi; double magic = Math.sin(radLat); magic = 1 - ee * magic * magic; double sqrtMagic = Math.sqrt(magic); dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi); dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi); double mgLat = lat + dLat; double mgLon = lon + dLon; return new GPS(mgLat, mgLon); } public static double transformLat(double x, double y) { double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x)); ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0; ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0; ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0; return ret; } public static double transformLon(double x, double y) { double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x)); ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0; ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0; ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0 * pi)) * 2.0 / 3.0; return ret; } }
2024-04-12 11:25:41 2KB java工具类
1
项目简介 这是一个在线客服咨询系统,还在缓慢开发中 核心技术 后端 Spring Boot Spring Security + jwt MyBatis MyBatis-Plus Netty 前端 Vue + 项目部署 后端 目录 customer-service 中是后端项目 创建数据库并导入 kefu.sql 修改 kefu-admin Module 下 application-dev.yml 配置文件中的数据库配置 前端 目录 customer-service-manage 中是前端项目 npm install 安装依赖包 npm run dev 运行项目 截图
2024-04-12 01:15:40 674KB Java
1
1. 项目介绍 《ChatGPT AI 问答助手》 开源免费项目,涵盖爬虫接口、ChatGPT API对接、DDD架构设计、镜像打包、Docker容器部署,小巧精悍,流程全面。对于Java编程伙伴来说,非常具有学习价值。 这个项目本身是小傅哥为自己的知识星球开发的一个智能问答回复系统,用于帮助读者解决一些常见的技术问题,提高回答效率也减少小傅哥的对此类问题的时间投入。通过演示我们可以看到,有了这样一个智能AI问答助手,可以大大的减少很多对于这些通用类技术问题的回复,同时也可以把这样的问答内容沉淀到知识星球,方便其他人学习使用。 《ChatGPT AI 问答助手》这样一个项目,要用到哪些技术手段呢?它包含;SpringBoot、DDD架构、Github仓库使用、接口爬虫、AI接口对接、定时任务、镜像打包、Docker容器部署等内容。 可以说麻雀虽小,五脏俱全。代码量不大但流程很完整,对于正在学习Java的伙伴来说,非常具有学习价值。
2024-04-11 22:54:19 9.21MB java 人工智能
1
基于GUI的FTP客户端的实现,使用Java编写。配置使用IIS的FTP服务器。 客户端发出各种操作命令;至少实现conn(连接)、list(列示文件)、retr(下载)、store(上载)的功能。 用户界面:客户端界面用户可以设置远程主机名、用户和密码;显示远程文件列表;显示本地文件的列表;操作命令可以采用菜单、按钮及弹出菜单来实现;显示操作状态(操作是否成功、状态、文件操作的进度等)。包含课设代码、文档。
2024-04-11 22:46:44 456KB 计算机网络 java ftp
1
可直接参考当毕设项目。有完整的内容
2024-04-11 22:13:49 12.44MB java
1
这个是完整源码 SpringBoot+mybatis 实现 基于SpringBoot实现商城系统(仿天猫) 毕业设计 源码+sql脚本+文档+PPT 完整源码 数据库是mysql
1
layering-cache 简介 layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似。使用Caffeine作为一级本地缓存,使用redis作为二级集中式缓存。一级缓存和二级缓存的数据一致性是通过推和拉两种模式相结合的方式来实现的。推主要是基于redis的pub/sub机制,拉主要是基于消息队列和记录消费消息的偏移量来实现的。 支持 支持缓存命中率的监控统计,统计数据上报支持自定义扩展 内置dashboard,支持对缓存的管理和缓存命中率的查看 支持缓存过期时间在注解上直接配置 支持缓存的自动刷新(当缓存命中并发现二级缓存将要过期时,会开启一个异步线程刷新缓存) 缓存Key支持SpEL表达式 Redis支持Kryo、FastJson、Jackson、Jdk和Protostuff序列化,默认使用Protostuff序列化,并支持自定义的序列
2024-04-11 17:21:53 1.96MB Java
1
springboot整合mail发送邮件 完整基础代码 包括web基础测试页面和后台
2024-04-11 17:21:15 11KB java
1