java
文章平均质量分 86
TE-茶叶蛋
全干工程师,阿里云专家博主
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java微信分享-签名算法实现
本文介绍了微信JS-SDK签名生成的完整实现方案。核心工具类WxJsapiSignature通过SHA1加密算法生成签名,包含随机字符串(nonceStr)、时间戳(timestamp)和页面URL等参数。SignatureResult类封装签名结果,提供必要的getter/setter方法。Controller层示例展示了获取签名的完整流程:先获取access_token和jsapi_ticket,再调用工具类生成签名。Service层示例演示了如何缓存access_token和jsapi_ticket以原创 2025-12-16 15:28:29 · 178 阅读 · 0 评论 -
MySQL连接错误:“Public Key Retrieval is not allowed”
MySQL 8.0+版本默认使用caching_sha2_password插件和SSL加密连接时,可能出现"Public Key Retrieval is not allowed"错误。解决方案是在连接配置中添加allowPublicKeyRetrieval=true参数,开发环境可配合useSSL=false简化连接,但生产环境建议保持SSL加密确保安全。可通过修改连接字符串、驱动属性或配置文件实现,不同环境需采取不同安全策略。原创 2025-11-24 09:52:30 · 425 阅读 · 0 评论 -
RESTful API设计模式嵌套资源URL
摘要: RESTful API的嵌套资源URL设计在Spring Boot中广泛应用,具有三大优势:清晰表达资源层级关系(如/aa/123/product/456)、符合REST规范、便于权限校验。典型场景包括电商(用户订单)、项目管理(项目任务)和内容系统(博客评论)。实现时建议:1)控制器通过@PathVariable获取嵌套ID;2)服务层校验父子资源归属;3)层级不超过3层。相比扁平URL或查询参数,嵌套设计更语义化,结合HATEOAS可进一步增强API可发现性。代码示例展示了如何通过Spring原创 2025-11-21 17:21:55 · 279 阅读 · 0 评论 -
【006】RedisTemplate与其他类库
java中使用到的redis原创 2025-11-04 11:15:46 · 1000 阅读 · 0 评论 -
【005】使用DBeaver备份与还原mysql数据库
本文详细介绍了使用DBeaver工具进行MySQL数据库备份与还原的完整流程。主要内容包括:环境准备、备份操作的详细步骤(含关键配置项)、还原过程详解以及常见问题解决方案。重点讲解了如何选择不锁定模式的备份方式以避免影响线上业务,并提供了权限设置、文件命名规范等实用建议。文中还总结了备份文件大小异常、还原冲突等常见问题的处理方法,最后给出选择低峰期操作、建立验证机制等最佳实践。通过本教程,读者可以掌握使用DBeaver高效完成数据库备份恢复的核心技能。原创 2025-11-03 15:39:30 · 1174 阅读 · 0 评论 -
【004】windows安装mysql
本文介绍了在Windows系统上通过MySQL Installer安装MySQL数据库的详细步骤。推荐下载558MB的完整社区版离线安装包,选择"Full"完全安装模式。安装过程包含自动依赖检查、配置向导设置(建议选择Development Computer开发环境)、root账户密码设置以及Windows服务配置。安装完成后,系统会自动完成所有配置,适用于本地开发和学习使用。原创 2025-11-03 13:58:52 · 322 阅读 · 0 评论 -
【003】安装maven
本文介绍了Windows环境下Maven的下载、安装和配置步骤。首先推荐从Apache官网或阿里云/清华镜像下载最新二进制版本,解压到指定目录后配置MAVEN_HOME环境变量并添加到Path中。安装完成后可通过mvn -version命令验证。为提高国内下载速度,建议在settings.xml中配置阿里云镜像地址。最后还提供了IDEA中配置Maven的指引。完成这些步骤后即可正常使用Maven构建项目。原创 2025-10-31 10:36:34 · 1054 阅读 · 0 评论 -
【002】Windows系统下Java下载 JDK
本文提供了在Windows系统上安装和配置JDK 17的详细指南。内容包括:1)从Oracle官网或推荐使用无需登录的OpenJDK 17(建议选择Eclipse Temurin发行版)下载安装包;2)运行.msi安装程序并选择默认路径;3)配置JAVA_HOME环境变量并修改Path变量;4)通过命令提示符验证安装是否成功。文中还包含常见问题提示,如路径配置错误、多版本冲突等注意事项,帮助用户顺利完成Java开发环境的搭建。原创 2025-10-31 10:06:34 · 1045 阅读 · 0 评论 -
【001】Java开发环境
这是一篇Java项目运行指南,主要面向Git下载项目后需要快速运行的小白用户。文章提供了6个关键步骤:1)环境准备(JDK/Maven/MySQL等);2)IDEA打开与配置项目;3)Maven构建;4)启动顺序建议;5)推荐IDEA插件;6)常见问题排查。重点包括配置application文件、开启注解处理、构建命令和模块启动顺序。文末还提供了问题排查技巧和工具推荐,帮助开发者快速定位和解决启动过程中的常见问题。原创 2025-10-30 20:43:14 · 287 阅读 · 0 评论 -
Java类加载机制原理与应用
Java类加载机制通过双亲委派确保核心库安全,同时通过灵活的自定义加载器支持热部署、模块化等高级特性。理解其原理有助于优化应用架构(如减少类冲突)和排查运行时问题(如类找不到错误)。原创 2025-04-12 20:02:31 · 1018 阅读 · 0 评论 -
Spring Cloud Gateway 具体的实现案例
好的,下面我给你提供一个具体的实现案例。基本配置:如何在 Spring Boot 项目中集成 Spring Cloud Gateway。路由配置:定义 API 路由规则。过滤器:如何使用过滤器来处理请求和响应(包括前置过滤器、后置过滤器)。负载均衡:与服务发现(Eureka)集成,使用负载均衡的 API 网关。安全性:如何在网关层进行身份验证和授权(例如 OAuth2)。与 Spring 生态无缝集成:非常适合 Spring Boot 和 Spring Cloud 项目。强大的路由和过滤功能。原创 2025-04-11 19:34:55 · 1509 阅读 · 0 评论 -
2025-Gateway架构
使用 Spring Cloud 的应用,特别是需要高性能、非阻塞的 API 网关。更适合微服务架构,支持与 Spring 生态的无缝集成。高度可扩展、插件丰富,适合更复杂的企业级应用,支持多种协议(REST、gRPC)。适合跨平台、高并发、大规模分布式系统。Zuul对于已有的 Netflix 微服务架构,尤其是在一些老项目中,仍然是一个有效的选择。不推荐新的高并发场景。如果你的项目已托管在 AWS 上并且想要快速实施 API 管理,AWS API Gateway 是一个理想选择。原创 2025-04-11 19:31:01 · 1528 阅读 · 0 评论 -
Java版企业级通用枚举基础接口
下面是一个企业级通用枚举基础接口的设计,适用于:🔁 所有“枚举有业务值”的场景,如状态码、类型值、数据库字段值、国际化标识等。你只需实现这个接口,就能自动获得:✅→ 返回业务值✅→ 根据值反查枚举✅ 更统一的行为(可选)/*** 获取枚举的业务值(通常用于存数据库、接口传输)*/特性效果getValue()返回枚举的业务字段(对外可见)通过 value 值反查枚举项类型安全泛型支持StringInteger等统一封装所有枚举用法统一,可加上接口文档。原创 2025-04-10 19:12:46 · 1124 阅读 · 0 评论 -
Vscode配置Java开发环境
Java开发用的都是IDE,毕竟是神器。最近用的Cursor,是基于Vscode,这里就搭建Vscode开发Java的开发环境。原创 2025-01-03 10:16:41 · 2371 阅读 · 0 评论 -
全面解读 USB Key:定义、使用场景、加密技术及 Java 实现
USB Key(或 UKey)是一种基于 USB 接口的硬件安全设备,通常用于身份认证、数据加密以及数字签名。它内置加密芯片,用于存储用户的私钥、公钥和数字证书,所有加密操作均在设备内部完成,以确保密钥安全。USB Key 的核心优势在于其强大的安全性,结合公钥基础设施(PKI),广泛应用于金融、政务、企业内网等需要高度安全保护的场景。原创 2024-11-15 22:12:18 · 3196 阅读 · 0 评论 -
java库-lombok
Lombok是一个 Java 编译时注解处理库,通过减少样板代码(boilerplate code)来提高开发效率。它通过注解的方式帮助开发者自动生成常见的代码,如gettersetterequalshashCodetoString、构造器、日志等,而不需要手动编写这些重复性的代码。原创 2024-10-14 11:03:22 · 1432 阅读 · 0 评论 -
Java 常用语法糖及其对比总结
Java 中的语法糖使代码更简洁、更易读,同时在某些情况下提高开发效率和运行性能。下面列举了 50 个常用的语法糖,每条语法糖都详细比较了使用和不使用的代码,并解释了其优势。通过这些常用语法糖,Java 代码得到了极大的简化和优化,既提升了代码的可读性,也提高了开发效率。在实际开发中,合理使用这些语法糖可以有效减少样板代码,提升代码质量。原创 2024-10-11 10:30:28 · 1004 阅读 · 1 评论 -
Java 环境变量的设置及其目的
通过设置JAVA_HOME和PATH,你可以使系统和工具方便地找到JDK,确保在开发和运行Java程序时不需要手动指定路径,从而提高开发效率。原创 2024-09-27 09:57:54 · 1064 阅读 · 0 评论 -
数据库主键设计
数据库主键的设计是数据库架构中的一个重要环节,不同的主键生成策略适用于不同的场景和需求对于单体应用或简单的分布式系统,自增ID可能是最简单高效的选择。在分布式系统中,尤其是跨多个数据中心时,雪花算法因其高性能和全局唯一性成为优选。当全局唯一性是首要考虑因素,且对存储空间不太敏感时,GUID是合适的选择。具体场景下,也可以根据业务需求考虑复合主键或业务相关ID的方案。原创 2024-06-05 22:52:53 · 1099 阅读 · 2 评论 -
物理主外键与逻辑外键
数据库设计知识通过在应用程序层面管理外键约束,可以获得更大的灵活性和性能优势,特别是在需要支持多数据库、分布式系统或复杂业务逻辑的情况下。使用 Java 的 ORM 框架和事务管理,可以有效地实现逻辑外键约束,确保数据的完整性和一致性。原创 2024-05-31 09:06:04 · 1783 阅读 · 0 评论 -
ACL(Access Control List,访问控制列表)
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考首先,你需要定义你的权限模型,包括资源(Resource)、权限(Permission)、角色(Role,可选)和用户(User)等基本元素。// 如 "read", "write", "execute"// 资源唯一标识,如文件路径、URL等认识权限控制中的ACL,以及java实现的大概思路。原创 2024-05-27 16:20:02 · 1353 阅读 · 0 评论 -
Java入门须知术语
记录java小白须知的一些术语Abstract Class: 抽象类,不能直接实例化,可以包含抽象方法(没有具体实现的方法),为子类提供共通的实现基础。java 基础概念认识。原创 2024-05-27 11:00:19 · 837 阅读 · 0 评论 -
RBAC 动态权限
前端学java,用于记录学习,AI辅助创作,有错误之处,欢迎交流指正。👏🏻由于MyBatis-Plus已经简化了数据访问层的操作,我们可以直接在@Service@Autowired@Autowired@Override// 通常情况下,权限也会通过角色间接关联,这里简化处理。原创 2024-05-26 22:04:51 · 1574 阅读 · 0 评论 -
基于Docker从零到一实操MySql的主从复制
我们一开始介绍了如何在docker上安装与启动mysql,以及进入mysql的后台创建数据库与表等;接着我们过了一遍如何基于docker操作mysql 主从库复制。原创 2023-09-09 00:01:51 · 1087 阅读 · 0 评论 -
Spring AOP与静态代理/动态代理
在梳理Aop的原理之前,我们先了解一下代理模式,其中分静态代理与动态代理。例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考我们一开始简单的初步认识了下代理模式,其中常见的实现方式有静态代理与动态代理,同时写了打印机🖨️的调用时机代码。接着我们思考🤔代理模式和我们使用spring aop有什么联系?简单的了解aop 与spring aop的实现方式。原创 2023-09-04 23:20:58 · 2015 阅读 · 0 评论 -
java-初识Servlet,Tomcat,JDBC
java入门须知的重要概念/名词/技术 等我们在此文章知道了servlet 是基于Java语言编写的服务器端程序,可以处理Web容器(如Tomcat)发送过来的HTTP请求,也写了实例代码,另外servlet的过滤器,可以用来处理请求前与请求后的一些逻辑。;接着简单了介绍了tomcat,知道Tomcat 作为一个 Web 服务器,可以通过 Servlet 容器来管理和运行 Servlet;最后介绍jdbc,以及jdbc连接数据库的实例代码。原创 2023-08-29 17:50:55 · 947 阅读 · 0 评论 -
Java匿名内部类
Java中的匿名内部类是一种可以在声明时直接创建对象的内部类。这种内部类没有名字,通常用来简化代码,特别是在定义事件处理程序和监听器方面非常有用。原创 2023-08-27 16:38:33 · 1361 阅读 · 0 评论 -
【面向对象编程的三大特征:封装;继承;多态】
面向对象编程的三大特征,其中多态是基于封装与继承的。这里重点讲多态的相关应用原创 2023-08-26 12:02:55 · 500 阅读 · 0 评论 -
MAC系统安装JDK1.8及环境变量配置
首先本次安装的系统版本和配置如下:由于系统版本各有差异,会导致菜单选项各有不同,请大家注意。教程内容为在MAC苹果系统下安装JDK1.8并配置系统环境变量。主要分为以下几个步骤:1.到Oracle官网下载JDK1.8安装包。2.打开获取到的安装包按步骤安装到系统上。3.配置系统的环境变量。4.验证JDK1.8是否安装成功。 1.到Oracle官网下载JDK1...转载 2018-08-03 11:01:39 · 823 阅读 · 0 评论
分享