在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织。也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: 使用 + 拼接 使用 StringBuffer 和 SpringBuilder String::format and String::formatted 使用…
Redis是一个流行的NoSQL数据库系统,被广泛应用于各种场景中。然而,在使用Redis时,我们经常会遇到一些问题,其中之一就是过期键回调问题。过期回调是指在Redis中,当一个键被设置了过期时间后,如果在过期时间到达之前这个键被更新了,那么原来设置的过期时间就会失效。这种情况下,我们需要一种方法来处理这个过期事件。…
病症 web服务跑着跑着响应越来越慢,最终网页白页的,一查进程还活着,socket连接高,十有八九线程死锁没得到释放,最后没线程资源执行任务导致白页等待。 最有效的排查方法 最直接的排查方法就是,dump下内存快照,去查看线程信息,看看是否有大量的线程处于等待状态。基本上就能定位是哪里的问题。 常见的几种线程死锁的场景…
Spring 搭建微服务的时候,比较常用的http客户端工具就是 Feign,以其声明的方式来编写 HTTP 请求。涉及到微服务请求,就一定要设置请求超时时间和熔断策略,来避免因为单一服务卡死导致的集群雪崩等灾难性事件。 具体的 Feign 和 Hystrix 如何集成,Spring 官方都有对应的 Demo,下面主要是分析一下熔断策略的配置。…
[toc] MinIO简介 MinIO是一款基于Go语言开发的高性能、分布式的对象存储系统,开源可商用。一开始就被设计为服务于私有云、公有云、混合云,因此在高可用、可扩展性、高性能方面有得天独厚的优势。 MinIO完全实现了AWS S3…
1. AOP概念与基础 与 IOC 一样,咱先回顾一下 AOP 中涉及到的概念。 1.1 AOP概述 AOP 面向切面编程,全称 Aspect Oriented Programming ,它是 OOP 的补充。OOP 关注的核心是对象,AOP 的核心是切面(Aspect)。AOP…
1. SpringFramework的基本知识 1.1 SpringFramework概述 SpringFramework 是一个开源的、松耦合的、分层的、可配置的一站式企业级 Java 开发框架,它的核心是 IOC 与 AOP ,它可以更容易的构建出企业级 Java 应用,并且它可以根据应用开发的组件需要,整合对应的技术。 1.2…