51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

开源工具

ThreadLocal如何保证线程安全?

ThreadLocal如何保证线程安全?

厉飞雨 阅读(92) 评论(0) 赞(3)

你好,我是猿java。 身为java程序员,当你想跳槽加薪(特别是高阶岗位),ThreadLocal似乎成为了一个不可回避的知识点,除了面试,如果你扒过框架源码,也会在很多场景看到ThreadLocal的身影,ThreadLocal是大牛Doug Lead的杰作,一个从jdk 1.2 版本就存在的宝藏,今天就让我们一起来揭开它那神秘的面纱! > 声明:本文源码均基于 j...

千呼万唤始出来:Java终于发布了

千呼万唤始出来:Java终于发布了"协程"--虚拟线程!

厉飞雨 阅读(66) 评论(0) 赞(3)

你好,我是猿java。 今天分享的内容是 Java 的一个重量级功能:虚拟线程。 背景 {#背景} -------- 2022-09-20,JDK 19 发布了GA版本,备受瞩目的协程功能也算尘埃落地,不过,此次 GA版本并不是以协程来命名,而是使用了 Virtual Thread(虚拟线程),并且是 preview预览版本。小编最早关注到协程功能是在 2020年,那...

Java 小知识:JDK版本这样多,该如何选择?

Java 小知识:JDK版本这样多,该如何选择?

厉飞雨 阅读(91) 评论(0) 赞(4)

你好,我是猿java。 今天分享的内容是:如何在众多的 JDK版本中选择最合适你的版本。 背景 {#背景} -------- Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,下图为Java的 logo: ![img.png](/images/post/java/java.png) 鉴于 Ja...

新一代 Java垃圾回收神器:ZGC

新一代 Java垃圾回收神器:ZGC

厉飞雨 阅读(55) 评论(0) 赞(5)

你好,我是猿java。 今天我们分享的内容是:新一代 Java垃圾回收神器:ZGC。 ZGC 定义 {#ZGC-定义} ---------------- ZGC(The Z Garbage Collector),是一种可扩展的低延迟垃圾收集器,主要是用来处理超大内存(TB级别)的垃圾回收。 ZGC 最初是 JDK 11 以一项实验性功能引入的,经过几个版本的迭代,最终...

颠覆认知:一向主张可扩展性的Java,为何要推出封闭类?

颠覆认知:一向主张可扩展性的Java,为何要推出封闭类?

厉飞雨 阅读(93) 评论(0) 赞(5)

你好,我是猿java。 当你还在 JDK 8驰骋沙场,大张旗鼓搞可扩展性时,JDK 15却已暗度陈仓:"偷偷摸摸"搞起了 Sealed Classes(封闭类)的功能,为何一向主张可扩展性的 Java,却会反其道而行之,推出封闭类这个功能?今天就让我们一起来聊聊这期中的原委。 > 申明:本文基于 jdk-17.0.5 2020年,给 JDK 15增...

Lua script attempted to access a non local key in a cluster node

Lua script attempted to access a non local key in a cluster node

厉飞雨 阅读(87) 评论(0) 赞(7)

你好,我是猿java。 使用 {#使用} -------- 业务场景是电商库存计算,公司使用的是redis cluster集群,因为涉及到一些简单的库存计算,为了保证原子性,特使用了lua脚本,lua的函数脚本如下: |---------------------------------------------|-------------------------------...

Redis 6.0新特性,你知道几个?

Redis 6.0新特性,你知道几个?

厉飞雨 阅读(53) 评论(0) 赞(4)

你好,我是猿java。 首先让我们先来看一张图片: ![img.png](/images/post/redis/img.png) 上图是截取Redis官网首页,想必对Redis有所了解的小伙伴并不陌生了,截止当前时间,Redis官方6.0的最后一个stable版本已经更新到6.2.6,其实7.0-RC1版本已经有了,可以从github拉源码看看。 2020年5月,R...

用了这么多年Redis,你知道Redis名字的由来吗?

用了这么多年Redis,你知道Redis名字的由来吗?

厉飞雨 阅读(56) 评论(0) 赞(3)

你好,我是猿java。 背景 {#背景} -------- Redis作为知内存数据库的天花板,在很多复杂的高并发,高性能项目中都可以看到,用了这么多年,一直很好奇Redis到底是什么意思,今天总有找到了 Redis名字由来 {#Redis名字由来} ---------------------- Redis的作者是antirez,[antirez个人官网](http:/...

深入理解哈希&一致性哈希

深入理解哈希&一致性哈希

厉飞雨 阅读(74) 评论(0) 赞(7)

前言 {#前言} -------- 在实际开发中,随着业务的发展,经常会遇到单服务的性能瓶颈问题,比如:Redis 服务、MySQL 服务。那么对于单服务的性能瓶颈导致的诸如服务过载或者服务不可用的问题,该如何解决呢? > 答案:分集群,突破单集群的性能限制 开发经验丰富一些的小伙伴肯定马上会想到增加一个 Proxy 层,由 Proxy 层处理来自客户端的读写请求,然...

 Java常用日志框架总结

Java常用日志框架总结

厉飞雨 阅读(84) 评论(0) 赞(5)

你好,我是猿java。 前言 {#前言} -------- 作为java程序员,在工作开发中遇到最多的一个问题就是打日志(log),好的日志方式可以帮助你事半功倍的监控线上程序运行的链路,出现bug时可以快速定位,但是,面对现如今众多的日志框架中,如何去选择哪个日志框架,成为困扰很多程序员的一个问题,他们的性能怎们样,他们有什么关系,今天我们就来把一把log的那些事... ...