本文简单的记录几个与类加载相关的知识点。
LogBack是默认集成在SpringBoot里面的,是基于Slf4j的日志框架。默认情况下,SpringBoot是按照INFO级别输出到控制台的。
String, 是JAVA中常见的一个引用类型,且其具有一定的特殊性。String类型被设置为final型,即不可继承,也就不可修改其中的实现。本文主要是介绍了下String在JVM中一些细节层面的表现,以及使用过程中一些注意事项等。
本篇文章,我们就一起聊一聊如何来更好的使用缓存,探寻下如何降低缓存交互过程的性能损耗、如何压缩缓存的存储空间占用、如何保证多个操作命令原子性等问题的解决策略,让缓存在项目中可以发挥出更佳的效果。
对于一个集中式缓存的分布式能力构建,必须要额外提供一些机制,来保障数据在各个节点上的安全与一致性。本文以Redis为代表,看下集Redis面对上述问题交出的是怎样一份答卷。
Redis作为一个非关系型数据库,由于其超高的并发处理性能,及其对缓存场景所提供的系列能力构建,使其成为了集中缓存的绝佳选择。本篇我们聊聊Redis数据管理的能力,如数据过期、数据淘汰、数据持久化等。
在分布式盛行的今天,本地缓存明显无法满足分布式场景的缓存诉求。作为应对之法,集中式缓存被广泛的使用在各中分布式系统中,而使用最广泛的莫过于大家耳熟能详的Redis了,本篇开始聊一聊Redis相关的内容。
作为JAVA本地缓存综合实力天花板的Ehcache,还提供了对于集群能力的支持,这也使其不仅仅是个单机缓存,更是一个分布式缓存。本篇一起探讨Ehcache的各种集群方案。
本篇一起实践下Ehcache的各种不同使用方式,来感受下Ehcache的强大与便利。比如独立集成使用,基于JCache方式使用,以及通过Springboot+JCache+Ehcache方式集成使用等。
提到JAVA本地缓存框架,还有一个同样无法被忽视的强大存在 —— Ehcache!其官网直言不讳的将自己称为“JAVA中使用最广泛的缓存”,那么这份自信与实力从何而来?让我们一起解读下。
上一篇文章中我们聊了Caffeine的同步、异步的数据回源方式。本篇文章我们再一起研讨下经Caffeine改良过的异步数据驱逐处理实现,以及Caffeine支持的多种不同的数据淘汰驱逐机制和对应的实际使用。
作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。
继Guava Cache之后,我们再来聊一下各方面表现都更佳的Caffeine,看一下其具体使用方式、核心的优化改进点,窥探其青出于蓝的秘密所在。
本篇文章我们将进一步探讨下Guava Cache 实现层面的一些逻辑与设计策略,让我们可以对Guava Cache整体有个更加明朗的认识,促进实际使用中对其的理解。
对于缓存容器而言,容量限制与数据淘汰是两个基础且核心的关键点,也是实际使用的时候使用频率最高的特性。本篇在上一文基础上深入解读下Guava Cache中的容量限制与数据淘汰策略的实现与使用约束。
作为缓存系列专栏内容,秉持着不重复造轮子的理念,本篇文章中我们就开始深入剖析JAVA本地缓存的优秀轮子 —— 来自Google家族的Guava Cache。聊一聊其实现机制、看一看如何使用。
业界各大厂商或开源团队都会构建并提供一些缓存框架组件提供给开发者按需选择,这里就会涉及到一个标准规范的遵循问题,本文我们一起聊聊JCache API规范与SpringCache规范。
作为缓存系列专栏的第四篇文章,我们将在上一篇的基础之上进行升华,一起思考如何构建一个完整且通用的本地缓存框架,并在过程中体会缓存实现的关键点与架构设计的思路。
本篇我们一起探讨下项目中本地缓存的各种使用场景与应对实现策略,也通过本篇介绍的几个本地缓存的实现策略与关键特性的支持,体会到本地缓存使用与构建的关注要点。
在分布式系统盛行的今天,缓存充当着扛压屏障的作用,一旦缓存出现问题,对系统影响也是致命的。本文我们一起聊聊如何安全且可靠的使用缓存,聊聊缓存击穿、缓存雪崩、缓存穿透以及数据一致性、热点数据淘汰机制等。
大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。在服务端开发中,缓存常常被当做系统性能扛压的不二之选。在实施方案上,缓存使用策略虽有一定普适性,却也并非完全绝对,需要结合实际的项目诉求与场景进行综合权衡与考量,进而得出符合自己项目的最佳实践。缓存使用的演进现有这么一个系统:一个互动论坛系统
Eureka由两个组件组成:`Eureka服务器`和`Eureka客户端`。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来**简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持**。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
大家好,又见面了。Apachekafka是主流的消息中间件的一种,本文对kafka的相关概念、原理、使用关键注意事项等进行总结说明。1.kafka关键概念与术语1.1简单的例子说明kafka的使用场景Apachekafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息中间件,只是粗略的讲解,目前kafka已经可以做更多的事情。举个例子:1
在项目编码中经常会遇到一些新的需求试图复用已有的功能逻辑进行实现的场景,但是已有的逻辑又不能完全满足新需求的要求,所以就会出现各种生搬硬套的操作。本篇文档就一起来聊一聊如何借助Adapter实现高效复用已有逻辑、让代码复用起来更加的得体与优雅。
Nacos作为后来者,实现了与主流开源生态之间的无缝支持。典型地、`Nacos`可以与`SpringCloud`进行配套对接,替换`Eureka`作为注册中心;也可以和`Dubbo`无缝对接,替代`zookeeper`作为服务`注册管理中心`,以及`配置下发中心`等。
作为JAVA开发中最典型的异常类型,甚至可能是很多程序员入行之后收到的第一份异常大礼包类型。而`NullPointException`也似乎成为了一种魔咒,迫使程序员在敲出的每一行代码的时候都需要去思考下是否需要去做一下判空操作,久而久之,代码中便充斥着大量的null检查逻辑。如何破局呢?
讲述下对一个老系统的kafka消费者服务进行消费逻辑优化的过程,可以借鉴。
介绍下如何借助自定义注解实现支持EL表达式的方式来动态传参,简化代码中相关场景的处理逻辑。
日期时间的处理,是软件开发中极其常见的场景,JAVA中与日期、时间相关的一些类与API方法也很多,这里结合平时的编码实践全面的整理了下,希望可以帮助大家厘清其中的门道,更加游刃有余的面对此方面的处理~
通过前面的系列文档,我们一起对SpringData JPA从浅入深的进行了全方位的探讨。正所谓“工欲善其事、必先利其器”,面对一个优秀的框架,如果再结合一些外部的工具,其实可以让我们的开发效率与程序员开发过程的体验更上一层楼的。本篇内容,我们就一起来聊一聊这方面。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号