Spring bean的生命周期详解!
你好,我是猿java。 Spring Bean 是 Spring 框架中最核心的概念之一,它代表了一个由 Spring 容器管理的对象。这篇文章,我们将分析 Spring bean的生命周期以及对应的源码分析。 Spring Bean 的生命周期 {#Spring-Bean-的生命周期} ====================================== Spr...
你好,我是猿java。 Spring Bean 是 Spring 框架中最核心的概念之一,它代表了一个由 Spring 容器管理的对象。这篇文章,我们将分析 Spring bean的生命周期以及对应的源码分析。 Spring Bean 的生命周期 {#Spring-Bean-的生命周期} ====================================== Spr...
你好,我是猿java。 Netty 是一个高性能、异步事件驱动的网络应用框架,广泛应用于各种网络通信场景。这篇文章,我们将详细分析 Netty 是如何解决半包和粘包问题。 什么是半包和粘包? {#什么是半包和粘包?} ====================== 半包问题 {#半包问题} ------------ 半包问题是指一个完整的应用层消息被分成多个 TCP 数据...
你好,我是猿java。 在 Java中生成 Heap dump(堆转储)是进行内存分析和故障排查的重要手段,Heap dump 是Java虚拟机(JVM)在某一时刻内存使用情况的快照。这篇文章将分析几种常见的生成 Head dump的方式。 Heap dump是什么? {#Heap-dump是什么?} ============================== Heap...
你好,我是猿java。 背景 {#背景} -------- Redis作为知内存数据库的天花板,在很多复杂的高并发,高性能项目中都可以看到,用了这么多年,一直很好奇Redis到底是什么意思,今天总有找到了 Redis名字由来 {#Redis名字由来} ---------------------- Redis的作者是antirez,[antirez个人官网](http:/...
你好,我是猿java。 技术博客,可以作为自己技术输出的一种方式,相对使用第三方的技术论坛,自己的技术博客更有自主性和归属感,更重要的是你可以写已所想,不用被第三方平台各种审核不通过(国家法律法规限制的就除外哦),看过很多搭建技术博客的帖子,网上也用过很多开源的框架,个人觉得比较理想的是GitHub Pages+Jekyll,因此今天就分享一下如何用这两个组合搭建自己免费的技...
你好,我是猿java。 最近在折腾AWS(亚马逊)的一些产品,开发中用到了DynamoDB这款NoSql数据库,需求是需要对user表做user_id in查询,中间查阅了dynamoDB的很多API doc,最后终于写出了一个可以使用的test demo,代码如下: |----------------------------------------------------...
你好,我是猿java。 下面代码对比了传统方式和lambda方式对list的合并 |---------------------------------------------------------------------------------------------------------------------------------------|----------...
你好,我是猿java。 最近和几个小伙伴在基于github私有仓库进行开发,在把远程master合并到本地分支时,很习惯了使用了git merge,结果小伙伴们说他们的是使用git rebase的,因此特定去比较了两者的区别: 比如: A,B都从 master分支的的同一个commit点:bb99d 拉出两个新分支 A: 分支名 xxx_a B: 分支名 xxx_b...
你好,我是猿java。 今天,无意间进入 [redis官网](https://redis.io/), 眼前突然一亮,哇晒:redis官网改版了,第一感觉是:女大18变,下面就来一起看看改版后的新官网: ![img.png](/images/post/redis/newweb.png) 新功能 {#新功能} ---------- ### 更有数据说服力 {#更有数据说服力...
你好,我是猿java。 最近工作中,因为涉及到多个分支的切换,所以在单个分支里面会出现了很多看起来比较low的commit历史,为了减少这部分的commit的视觉丑感,特意去研究了下在idea中如何可视化将多个commit合并成一个,如下图,先在idea上打开git提交的commit历史: ![img.png](/images/post/mcommit/1.png) 然后...