ThreadLocal如何保证线程安全?
你好,我是猿java。 身为java程序员,当你想跳槽加薪(特别是高阶岗位),ThreadLocal似乎成为了一个不可回避的知识点,除了面试,如果你扒过框架源码,也会在很多场景看到ThreadLocal的身影,ThreadLocal是大牛Doug Lead的杰作,一个从jdk 1.2 版本就存在的宝藏,今天就让我们一起来揭开它那神秘的面纱! > 声明:本文源码均基于 j...
你好,我是猿java。 身为java程序员,当你想跳槽加薪(特别是高阶岗位),ThreadLocal似乎成为了一个不可回避的知识点,除了面试,如果你扒过框架源码,也会在很多场景看到ThreadLocal的身影,ThreadLocal是大牛Doug Lead的杰作,一个从jdk 1.2 版本就存在的宝藏,今天就让我们一起来揭开它那神秘的面纱! > 声明:本文源码均基于 j...
你好,我是猿java。 今天分享的内容是 Java 的一个重量级功能:虚拟线程。 背景 {#背景} -------- 2022-09-20,JDK 19 发布了GA版本,备受瞩目的协程功能也算尘埃落地,不过,此次 GA版本并不是以协程来命名,而是使用了 Virtual Thread(虚拟线程),并且是 preview预览版本。小编最早关注到协程功能是在 2020年,那...
你好,我是猿java。 今天分享的内容是:如何在众多的 JDK版本中选择最合适你的版本。 背景 {#背景} -------- Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,下图为Java的 logo: ![img.png](/images/post/java/java.png) 鉴于 Ja...
你好,我是猿java。 今天我们分享的内容是:新一代 Java垃圾回收神器:ZGC。 ZGC 定义 {#ZGC-定义} ---------------- ZGC(The Z Garbage Collector),是一种可扩展的低延迟垃圾收集器,主要是用来处理超大内存(TB级别)的垃圾回收。 ZGC 最初是 JDK 11 以一项实验性功能引入的,经过几个版本的迭代,最终...
你好,我是猿java。 当你还在 JDK 8驰骋沙场,大张旗鼓搞可扩展性时,JDK 15却已暗度陈仓:"偷偷摸摸"搞起了 Sealed Classes(封闭类)的功能,为何一向主张可扩展性的 Java,却会反其道而行之,推出封闭类这个功能?今天就让我们一起来聊聊这期中的原委。 > 申明:本文基于 jdk-17.0.5 2020年,给 JDK 15增...
你好,我是猿java。 使用 {#使用} -------- 业务场景是电商库存计算,公司使用的是redis cluster集群,因为涉及到一些简单的库存计算,为了保证原子性,特使用了lua脚本,lua的函数脚本如下: |---------------------------------------------|-------------------------------...
你好,我是猿java。 首先让我们先来看一张图片: ![img.png](/images/post/redis/img.png) 上图是截取Redis官网首页,想必对Redis有所了解的小伙伴并不陌生了,截止当前时间,Redis官方6.0的最后一个stable版本已经更新到6.2.6,其实7.0-RC1版本已经有了,可以从github拉源码看看。 2020年5月,R...
你好,我是猿java。 背景 {#背景} -------- Redis作为知内存数据库的天花板,在很多复杂的高并发,高性能项目中都可以看到,用了这么多年,一直很好奇Redis到底是什么意思,今天总有找到了 Redis名字由来 {#Redis名字由来} ---------------------- Redis的作者是antirez,[antirez个人官网](http:/...
前言 {#前言} -------- 在实际开发中,随着业务的发展,经常会遇到单服务的性能瓶颈问题,比如:Redis 服务、MySQL 服务。那么对于单服务的性能瓶颈导致的诸如服务过载或者服务不可用的问题,该如何解决呢? > 答案:分集群,突破单集群的性能限制 开发经验丰富一些的小伙伴肯定马上会想到增加一个 Proxy 层,由 Proxy 层处理来自客户端的读写请求,然...
你好,我是猿java。 前言 {#前言} -------- 作为java程序员,在工作开发中遇到最多的一个问题就是打日志(log),好的日志方式可以帮助你事半功倍的监控线上程序运行的链路,出现bug时可以快速定位,但是,面对现如今众多的日志框架中,如何去选择哪个日志框架,成为困扰很多程序员的一个问题,他们的性能怎们样,他们有什么关系,今天我们就来把一把log的那些事... ...