- 博客(6)
- 收藏
- 关注
原创 Spring Security + Oauth2 授权登录 (两步实现Google登录)
本文介绍了如何使用Spring Security OAuth2 Client快速集成Google登录功能。通过Spring Boot项目只需两步配置:1)在Google Cloud创建OAuth应用获取Client ID和Secret;2)在application.yml中添加配置。文章详细讲解了Google Cloud控制台的项目创建、OAuth权限屏幕设置和客户端ID生成步骤,并提供了Spring Boot项目依赖、配置文件和控制器代码示例,实现一键式Google登录集成,简化海外用户登录体验。
2025-10-15 09:16:51
559
原创 Java 面向对象设计的七大原则
本文详细解析Java面向对象设计的七大原则(SRP、OCP、LSP、DIP、ISP、LoD、CRP),通过通俗代码示例说明各原则的核心思想与实践方法。单一职责强调类功能聚焦,开放封闭倡导扩展而非修改,里氏替换确保子类兼容性,依赖倒置提倡面向接口编程,接口隔离要求精简功能,迪米特法则限制对象耦合,合成复用优先组合而非继承。这些原则共同指导开发者构建高内聚、低耦合、易扩展的健壮系统,是编写优雅代码的重要方法论。
2025-10-10 10:58:01
551
原创 Jackson vs Fastjson:在 Spring Boot 中的使用对比与差异分析
摘要:本文对比了Spring Boot中两种常用JSON处理工具Jackson和Fastjson的差异。Jackson是Spring默认集成库,注解丰富、安全性高;Fastjson需手动引入,性能优秀但存在安全风险。两者在时间格式、字段顺序等默认行为上存在差异,虽然都能通过注解实现字段自定义,但Fastjson提供了更多顺序控制功能。开发者应根据项目需求在功能完备性和性能之间做出选择,安全敏感项目建议优先使用Jackson。
2025-07-18 23:08:34
540
原创 Java 中的 String 为什么每次修改都要重新赋值?一次说清楚不可变对象原理!
摘要: Java 中的 String 是不可变对象,任何看似"修改"的操作(如 concat)实际会返回新对象。设计不可变的原因包括线程安全、字符串常量池共享、哈希码稳定等。频繁拼接应改用 StringBuilder(单线程)或 StringBuffer(多线程),其性能远高于直接操作 String。理解这一特性可以避免开发中的常见错误并优化字符串处理效率。(149字)
2025-06-19 11:34:05
300
原创 解决Ollama对话接口并行问题:提升并发性能指南
针对Windows下Ollama部署模型时API接口仅支持单请求串行处理的问题,本文提出通过设置OLLAMA_NUM_PARALLEL环境变量提升并发能力的解决方案。具体方法包括:在系统环境变量中新建OLLAMA_NUM_PARALLEL=3,并附Java测试代码验证效果。测试表明,设置后3个并发请求响应时间从8秒降至6秒,且完成时间趋于一致,性能提升显著。建议用户根据硬件配置调整并发数参数,注意不同版本可能存在差异。
2025-06-17 16:55:17
1686
原创 微信公众号开发--获取用户信息中文乱码的解决方案
在Spring Boot中,使用微信登录接口获取微信用户的信息的时候,获取到的用户如果是中文的时候就会出现乱码的情况,比如是中文微信昵称、中文城市名等等。要解决这个问题,将请求得到的字节数组变为字符串的时候指定编码方式为ISO-8859-1。原因:微信接口返回的信息采用了ISO-8859-1编码方式,导致中文乱码的现象。这样经过反序列化之后,得到的用户信息,如果有中文的时候,就会出现乱码的情况,这样子就成功解决了获取用户信息中文乱码的情况。
2024-04-13 15:27:09
1482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅