51工具盒子

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

Java笔记

从 Java8的default方法中,我们可以学到哪些优秀的设计思想?

从 Java8的default方法中,我们可以学到哪些优秀的设计思想?

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

你好,我是猿java。 对于Java程序员来说,Java8绝对是一个里程碑的版本,它为我们提供了很多优秀的设计思想和功能,比如 Lambda,StreamAPI,Optional,Default Method等,今天我们通过 Java8的 `default method`这个窗口,聊聊其中暗藏了哪些优秀的设计思想。 向后兼容 {#向后兼容} ============ 在J...

 Spring bean的生命周期详解!

Spring bean的生命周期详解!

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

你好,我是猿java。 Spring Bean 是 Spring 框架中最核心的概念之一,它代表了一个由 Spring 容器管理的对象。这篇文章,我们将分析 Spring bean的生命周期以及对应的源码分析。 Spring Bean 的生命周期 {#Spring-Bean-的生命周期} ====================================== Spr...

 Netty 是如何解决半包和粘包问题?

Netty 是如何解决半包和粘包问题?

厉飞雨 阅读(90) 评论(0) 赞(6)

你好,我是猿java。 Netty 是一个高性能、异步事件驱动的网络应用框架,广泛应用于各种网络通信场景。这篇文章,我们将详细分析 Netty 是如何解决半包和粘包问题。 什么是半包和粘包? {#什么是半包和粘包?} ====================== 半包问题 {#半包问题} ------------ 半包问题是指一个完整的应用层消息被分成多个 TCP 数据...

 什么是 Heap dump?Java 如何生成 Heap dump?

什么是 Heap dump?Java 如何生成 Heap dump?

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

你好,我是猿java。 在 Java中生成 Heap dump(堆转储)是进行内存分析和故障排查的重要手段,Heap dump 是Java虚拟机(JVM)在某一时刻内存使用情况的快照。这篇文章将分析几种常见的生成 Head dump的方式。 Heap dump是什么? {#Heap-dump是什么?} ============================== Heap...

ThreadLocal如何保证线程安全?

ThreadLocal如何保证线程安全?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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