Java

  • Published on
    RBAC 是一种安全模型,它将系统访问权限限制为授权用户。在 Odoo 中,这意味着不同的用户根据其角色拥有不同的访问权限级别。每个角色都由一组权限定义,确保用户只能访问其特定任务所需的数据和功能。
  • Published on
    最近收到了运维的提醒,说我们一天 ES 日志的占用空间超过了 200G,我心里一惊,一刀切把日志设置成 ERROR 级别肯定不合理,会影响业务,只能考虑怎么通过环境变量或者配置动态设置日志级别。本文将介绍如何实现这一目标,并配置默认日志级别。
  • Published on
    在Spring Boot项目中,可以使用Logback作为日志框架,配置实现不打印包含关键字的日志。关键字过滤可以帮助开发人员快速定位问题,不输出包含特定关键字的日志信息。
  • Published on
    ```Java 反例: Controller 里面直接传入的是 DO 对象 public ResultDTO<String> savePersonalFinance(@ApiParam @RequestBody AccountEcomFinanceAuditDO entity, @RequestHeader(value = "Accept-Language") String language) { String bizId = ecomFinanceAuditService.savePersonalFinance(entity, language); return ResultDTO.ok(bizId); } ```
  • Published on
    在现代的软件开发中,优化数据访问性能是提高应用性能和用户体验的关键。通过合理地运用各种数据访问模式,我们可以显著提升应用的效率和可扩展性。本文将介绍六种常见的数据访问模式,包括Cache Aside、Materialized View、CQRS、Event Sourcing、Index Table和Sharding,帮助读者更好地理解和应用这些模式。
  • Published on
    在微服务架构中,Kubernetes(简称为 k8s)已经成为了不可或缺的基础设施管理工具。而Spring Boot和Dubbo作为常见的Java开发框架和RPC框架,在微服务中也广泛应用。在这篇博客中,我们将探讨如何在Kubernetes环境下,实现Spring Boot + Dubbo应用的优雅停机,确保服务不会出现中断或数据丢失的情况。
  • Published on
    无论我们意识到与否,我们在网络服务和应用程序编程接口(API)的世界中无处不在,但许多 API 的使用却令人头痛。你是否曾经使用某个外部服务的 API 连接时心想:“他们到底在想什么?”我们有过这样的经历,通过 API 连接服务可能会令人困惑。不管是因为设计不佳、文档缺失、频繁变更还是存在 Bug,使用 API 往往都是一种挑战。
  • Published on
    在使用Spring AMQP和RabbitMQ进行消息驱动的微服务开发时,一个常见的场景是在同一个应用中配置多个RabbitMQ的容器(`Container`)以连接不同的队列,以处理不同类型的消息。这时,开发者可能会考虑出于资源利用和管理的便利,让这些容器共用一个`ContainerFactory`。虽然这听起来是一个节省资源和简化配置的好主意,但在实际操作中,如果处理不当,这种做法可能会带来一些问题和挑战,以下是几个常见的坑和相应的解决方案。
  • Published on
    在数据库设计和优化过程中,自增组件(通常指自增主键)的使用是一个常见的实践,尤其是在使用MySQL这类关系型数据库时。自增组件的使用有其明确的好处,尤其是在数据插入和查询效率方面。下面,我们来详细探讨为什么MySQL建议使用自增组件。
  • Published on
    Java 类加载机制是Java虚拟机(JVM)的核心组成部分之一,它负责动态加载、链接和初始化类或接口。这个机制不仅涉及到性能,还直接关联到Java程序的安全性和运行时的动态性。在深入理解Java类加载的威力之前,我们需要先掌握类加载的时机、过程以及类加载器的工作原理。
  • Published on
    在数字化的世界中,电子邮件已成为我们日常生活的重要组成部分。对于程序员来说,实时收取特定邮箱的邮件可能是一个常见且关键的需求。在这里,我将介绍如何使用 Java 和 IMAP(Internet Mail Access Protocol)协议,打造一个能够实时收取邮件的客户端程序。
  • Published on
    Cookies是服务器发送到用户浏览器并保存在本地的小型文本文件。它们通常用于跟踪用户的登录状态、记录用户偏好设置以及存储其他与用户相关的信息。当用户访问同一网站时,浏览器会自动将Cookies发送回服务器,以便服务器可以根据之前存储的信息来提供个性化服务。
  • Published on
    Java 应用 CPU 飙高是我们在日常开发中经常会遇到的问题,本文总结了一种通用的问题定位流程,以及不同问题原因对应的解决方法,让我们在遇到相关问题的时候有非常清晰的思路,助力我们更高效的定位并解决相关线上问题。
  • Published on
    内存溢出是指程序申请内存时,没有足够的内存可以使用;内存溢出通常是由内存泄露引起的,常见的场景是由于有问题的代码申请完内存,却没有及时有效释放,长此以往,程序就申请不到内存,从而导致内存溢出。
  • Published on
    ZGC是一种可扩展和低延迟的JVM垃圾回收器,能够实现大规模Java程序的快速内存分配和回收。在处理高负载情况下,ZGC表现出色,而且它能够与现有的Java应用程序平滑地集成。本文将详细介绍ZGC的原理、配置和使用示例。