动手实现一个 LRU cache

前言 LRU 是 Least Recently Used 的简写,字面意思则是最近最少使用。 通常用于缓存的淘汰策略实现,由于缓存的内存非常宝贵,所以需要根据某种规则来剔除数据保证内存不被撑满。 如常用的 Redis 就有以下几种策略: 策略 描述 volatile-lru 从已设置过

Spring Boot使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭

org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at org.springframework.data.red

五分钟了解Java10针对垃圾收集的改进

Java10 已经发布了大概有一个多月了。我们在之前的文中介绍过10为我们带来的一些新特性:JDK10要来了:下一代 Java 有哪些新特性?。其中就提到了10 关于G1垃圾收集器的一些改进。G1在Java 9的时候已经是被作为默认的垃圾收集器了。如果你了解G1的话,应该知道

Spring Cloud构建微服务架构:分布式配置中心(加密解密)

在微服务架构中,我们通常都会采用DevOps的组织方式来降低因团队间沟通造成的巨大成本,以加速微服务应用的交付能力。这就使得原本由运维团队控制的线上信息将交由微服务所属组织的成员自行维护,其中将会包括大量的敏感信息,比如:数据库的账户与密码等。很

八幅漫画理解使用 JWT设计的单点登录系统

上次在《JSON Web Token - 在Web应用间安全地传递信息》中我提到了JSON Web Token可以用来设计单点登录系统。我尝试用八幅漫画先让大家理解如何设计正常的用户认证系统,然后再延伸到单点登录系统。 如果还没有阅读《JSON Web Token - 在Web应用间安全地传递

JSON Web Token - 在Web应用间安全地传递信息

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。 让我们来假想一下一个场景。在A用户关注了B用户的时候,系统发邮件给B用户,并且附有一个链接“点此关注A用户”。链接的地址可以是这样的 ht

一步步图解G1

G1在堆上分配内存和其他的GC有点不一样。现在我们来一步一步看下G1系统。 1、 G1堆结构 G1的堆结构就是把一整块内存区域切分成多个固定大小的块。 在JVM在启动时来决定每个小块,也就是region的大小。 JVM一般是把一整块堆切分成2000个小region。然后每

理解OAuth 2.0

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子

Google和Netflix共同开源新的Canary分析工具Kayenta

编者按 Google和Netflix联合发布了全新的开源Canary分析工具Kayenta。Canary(金丝雀部署)是现代Devops和持续交付中重要的一环,指的是把少量(通常1%-3%)的流量导到含有新版本的canary部署上运行一段时间并和当前的生产环境比较,再决定是否将新版本部署到所有

Spring Boot快速开发利器:Spring Boot CLI

$ spring run hello.groovyResolving dependencies............................................... *::::::::::::::* :::::::::::::::::::::::::: :::::::::::::::::::::

共350条
共35页,到第
Responsive image