慕枫技术笔记_社区达人页

个人头像照片
慕枫技术笔记

InfoQ签约作者、CSDN博客专家、专注于架构设计、微服务以及云原生技术分享

暂无精选文章
暂无更多信息

2022年01月

  • 01.06 11:27:55
    发表了文章 2022-01-06 11:27:55

    Netty如何解决粘包以及拆包问题

    客户端与服务端进行TCP网络通信时,在发送以及读取数据时可能会出现粘包以及拆包问题,那么作为高性能网络框架的Netty是如何解决粘包以及拆包问题的呢?我们一起来探讨下这个问题。
  • 01.06 11:03:47
    发表了文章 2022-01-06 11:03:47

    【日拱一卒进击大厂系列】如何写好一份技术简历

    【日拱一卒进击大厂系列】如何写好一份技术简历
  • 01.06 10:57:41
    发表了文章 2022-01-06 10:57:41

    如何设计一个监控平台(上篇)

    在大型分布式微服务场景下,各个服务版本快速迭代,各类业务规模不断膨胀,同时监控的场景也在不断的发生变化,线上故障随时可能发生,各个平台错综复杂,如何保证线上服务稳定运行,同时提升运维效率,降低运维成本成了监控平台的挑战。
  • 01.06 10:51:39
    发表了文章 2022-01-06 10:51:39

    Mysql神乎乎的MVCC到底该怎么理解

    MVCC即多版本并发控制主要是为了解决数据库中并发事务读写的一致性问题,那么多个事务并发执行的时候事务的隔离到底是怎么实现的呢?Mysql默认的RR隔离级别是怎样避免不可重复读的问题呢?我们好好来分析一下。
  • 01.06 10:48:41
    发表了文章 2022-01-06 10:48:41

    SpringBoot源码分析系列之五:再探自动装配原理

    我们从程序运行的角度把自动配置的主要的源码进行了分析,过滤了一些步骤,主要是调用层级太多容易让人抓不住重点,这边也是给大家看源码的一点小技巧就是抓大放小,抓住主要流程,忽略掉小的细节部分,否则我们就会陷入到源码的汪洋之中无法自拔。
  • 01.06 10:43:07
    发表了文章 2022-01-06 10:43:07

    SpringBoot源码分析系列之四:如何启动内嵌Tomcat

    SpringBoot相信很多同学都非常了解,实际工作中也经常使用到。但是不知道大家在使用过程中有没有想过一个问题,SpringBoot内嵌tomcat到底是怎么启动的?内嵌tomcat启动服务的好处又是什么呢?本文将结合SpringBoot源码探讨下这些问题。
  • 01.06 10:34:25
    发表了文章 2022-01-06 10:34:25

    RocketMQ高手之路系列之十:RocketMQ网络通信原理分析(一)

    通过以上分析可知,RocketMQ实际是在原生Netty之上进行了自己的封装。最后一张图来说明NameServer启动过程中关于Netty启动的部分。在后续的文章中我们再着重分析RocketMQ如何高效使用Netty框架。
  • 01.06 10:29:15
    发表了文章 2022-01-06 10:29:15

    RocketMQ高手之路系列之九:RocketMQ之事务消息(二)

    本文主要从源码角度分析了RocketMQ事务消息的过程,从源码中我们可以看出来,它是一个典型的二阶段提交的流程。那么从源码中有什么值得思考的部分呢? (1)在消息发送上面,TransactionMQProducer 继承了DefaultMQProducer 方法,最大程度的复用了底层的消息发送逻辑,在消息发送方法中通过消息属性设置来区分普通消息以及事务消息,这个在我们平常开发中也是比较典型的用法; (2)TransactionListener的使用,提供给开发者自行实现,提高了扩展性。
  • 01.06 10:24:26
    发表了文章 2022-01-06 10:24:26

    RocketMQ高手之路系列之八:RocketMQ之事务消息(一)

    事务的概念就不用多说了,我相信阅读文章的童鞋都是有着非常深刻的认识。我们都知道MQ可以实现微服务之间的异步以及解耦,那么引入MQ之后,如何实现微服务之间的数据一致性是一个值得思考的问题。事务消息将分为三篇文章进行介绍,本文主要介绍RocketMQ的事务原理,第二篇文章主要分析事务消息源码实现分析。在第三篇文章中将提供一种优化方案,解决RocketMQ对于业务代码侵入较大的问题。
  • 01.06 10:19:37
    发表了文章 2022-01-06 10:19:37
  • 01.06 10:15:07
    发表了文章 2022-01-06 10:15:07

    Netty源码分析系列之五:Netty多线程模型

    本文主要介绍了Netty的多线程模型,它采用的是Reactor模型。处理连接请求与处理IO操作的线程隔离。基于事件轮询监听,不断获取处于就绪状态的通道。其中Boss线程池的线程负责处理连接请求,接收到accept事件之后,将对应的socket进行封装生成NioSocketChannel对象,并将其提交到workBoss线程池中,处理IO的read以及write事件。
  • 01.05 17:59:20
    发表了文章 2022-01-05 17:59:20

    Java并发编程系列之六:深入理解ThreadLocal

    1、多个线程去获取一个共享变量时,要求获取的是这个变量的初始值的副本。每个线程存储这个变量的副本,对这个变量副本的改变不会影响变量本身。适用于多个线程依赖不同变量值完成操作的场景。比如: 多数据源的切换 spring声明式事务 2、将ThreadLocal设置成private static的,这样ThreadLocal会尽量和线程本身一起回收。
  • 01.05 17:55:33
    发表了文章 2022-01-05 17:55:33

    Netty源码分析系列之三:Netty启动之NioEventLoop创建

    本文主要通过Netty的服务的启动代码,初步了解了Netty在启动过程中做了哪些事情。重点分析了NioEventLoop的创建过程,之后的文章再介绍启动过程中,Netty的其他操作。
  • 01.05 17:43:35
    发表了文章 2022-01-05 17:43:35

    LeetCode解题之十六:最大子序和

    LeetCode解题之十六:最大子序和
  • 01.05 17:34:36
    发表了文章 2022-01-05 17:34:36

    15天搞定Kubernetes系列之一:基本概念与架构

    Kubernetes 作为云原生的最佳实践,已经成为了事实上的容器编排引擎标准,同时它也逐渐成为容器云时代的基础设施。本系列文章将带领大家进入Kubernetes 的世界。
  • 01.05 17:21:25
    发表了文章 2022-01-05 17:21:25

    Spring原理学习系列之六:IOC原理之BeanDefinition注册

    本文主要介绍了BeanDefinition以及BeanDefinition的注册,BeanDefinition是Spring处理Bean的统一的数据结构,BeanDefinitionRegistry的实现类对BeanDefinition完成了注册操作,注册最终结果保存在beanDefinitionMap这个ConcurrentHashMap中。今天的内容就到这里了,我们下次再会了哦。
  • 01.05 17:09:46
    发表了文章 2022-01-05 17:09:46

    Spring原理学习系列之五:IOC原理之Bean加载

    其实很多同学都想通过阅读框架的源码以汲取框架设计思想以及编程营养,Spring框架其实就是个很好的框架源码学习对象。我们都知道Bean是Spring框架的最小操作单元,Spring框架通过对于Bean的统一管理实现其IOC以及AOP等核心的框架功能,那么Spring框架是如何把Bean加载到环境中来进行管理的呢?本文将围绕这个话题进行详细的阐述,并配合Spring框架的源码解析。
  • 01.05 17:04:36
    发表了文章 2022-01-05 17:04:36

    Java并发编程系列之五:自定义线程工厂

    Java并发编程系列之五:自定义线程工厂
  • 01.05 17:04:06
    发表了文章 2022-01-05 17:04:06

    LeetCode解题之十五:四数之和

    LeetCode解题之十五:四数之和
  • 01.05 17:02:09
    发表了文章 2022-01-05 17:02:09

    玩转Docker系列之一:Docker概念以及常用命令

    服务逐渐向云化转移,阿里巴巴已经在今年双11宣布所有核心服务全部迁移上云。因此所以针对服务容器云化,可能会是各个公司今后都要进行的企业IT架构升级之道。从本文开始将主要介绍Docker的相关内容以及使用技巧。
  • 01.05 16:59:37
    发表了文章 2022-01-05 16:59:37

    玩转Docker系列之二:Docker镜像删除

    在进行容器云开发过程中,我们会在本地进行一些镜像制作来进行镜像功能的测试验证。时间长了服务器中的本地镜像就会很多,此时我们需要将之前测试的镜像删除,但是我们在删除镜像的过程中会遇到一些问题,本文将围绕这个主题进行阐述。
  • 01.05 16:58:15
    发表了文章 2022-01-05 16:58:15

    Netty源码分析系列之二:为什么选择Netty

    本文主要介绍了使用Netty的好处与原因,它支持的协议越来越多,紧随JDK更新。从下文开始我们要对Netty的使用以及源码进行介绍。
  • 01.05 16:56:40
    发表了文章 2022-01-05 16:56:40

    LeetCode解题之十四:移除元素

    LeetCode解题之十四:移除元素
  • 01.05 16:54:16
    发表了文章 2022-01-05 16:54:16

    Java设计模式之四:观察者模式

    观察者模式使我们在日常项目实践中比较常用的设计模式,它体现了代码模块的高内聚低耦合的特性,我们可以方便的使用它进行代码扩展。
  • 01.05 16:48:51
    发表了文章 2022-01-05 16:48:51

    LeetCode解题之十三:搜索插入位置

    LeetCode解题之十三:搜索插入位置
  • 01.05 16:47:56
    发表了文章 2022-01-05 16:47:56

    Java设计模式之三:适配器模式

    1、当我们想要使用一个已经存在的接口,但是它不符合现有的接口数据规范,导致无法直接去访问,此时我们可以创建一个适配器就能间接去访问这个类中的方法; 2、不同系统间进行业务数据对接时,如果想要像调用自身系统接口一样使用其他系统的接口,我们需要通过适配器进行一层转换;
  • 01.05 16:40:09
    发表了文章 2022-01-05 16:40:09

    Java设计模式之二:策略模式

    策略模式的使用场景为把算法实现进行提取封装,独立于调用场景之外。 策略模式的优点: 1、当业务代码存在多重逻辑判断时,策略模式可以避免大量的if-else的判断,避免代码逻辑混乱,增强代码的可维护性; 2、可将策略中的公共部分进行高度抽象,避免代码重复; 策略模式的缺点: 1、调用方必须知道所有的策略实现类,增加了调用方的使用难度; 2、如果判断逻辑较多的话,会导致策略实现类较多;
  • 01.05 16:37:56
    发表了文章 2022-01-05 16:37:56

    Java设计模式之一:单例模式

    单例模式有好几种写法,可以根据需要与场景进行适当的选择。总结下单例模式的优缺点。 优点: 1、内存中对象唯一,可以节省内存空间; 2、可以做到避免频繁的创建销毁对象,提高性能; 3、避免对共享资源的不同对象占用,优化获取数据的途径; 4、为整个平台提供一个全局访问点。 缺点: 1、不适用于经常变化的对象; 2、滥用单例将带来一些负面问题,如为了节省资源将数据库连接池对象设计为的单例类,可能会导致共享连接池对象的程序过多而出现连接池溢出; 3、如果实例化的对象长时间不被利用,系统会认为该对象是垃圾而被回收,这可能会导致对象状态的丢失;
  • 01.05 16:34:44
    发表了文章 2022-01-05 16:34:44

    Linux系统系列之三:linux系统测试ip以及端口的连通性

    在实际问题排查过程中,我们需要对服务器的ip以及端口进行连通性检测,本文将介绍几种测试服务器ip以及端口的连通性的方法。
  • 01.05 16:33:20
    发表了文章 2022-01-05 16:33:20

    LeetCode解题之十二:三数之和

    LeetCode解题之十二:三数之和
  • 01.05 16:31:19
    发表了文章 2022-01-05 16:31:19

    分布式事务中间件 Seata学习系列之一:初识Seata

    本文主要介绍了分布式事务的概念以及当前分布式事务存在的不足之处,同时着重介绍了Seata分布式事务处理机制以及的优势之处。
  • 01.05 16:26:45
    发表了文章 2022-01-05 16:26:45

    LeetCode解题之十一:回文数

    LeetCode解题之十一:回文数
  • 01.05 16:24:25
    发表了文章 2022-01-05 16:24:25

    SpringBoot代码整洁之道系列之一:全局异常处理

    整洁代码不仅包括实际项目中的业务代码,也包括一些系统级别的。全局异常处理属于系统级的整洁代码。如果我们把我们的项目比做成一座城市,那么类似全局异常处理、拦截器等等就相当于这座城市的排水系统、电缆布置等等。这些设施布置的好坏直接影响整个城市的运转情况。那么在项目层级来说,系统级的整洁代码就是为了使得项目可以更加高效的运转。
  • 01.05 16:22:54
    发表了文章 2022-01-05 16:22:54

    Linux系统系列之二:开启防火墙指定端口

    Linux系统系列之二:开启防火墙指定端口
  • 01.05 16:21:08
    发表了文章 2022-01-05 16:21:08

    Linux系统系列之一:Linux系统常用命令之一

    本文主要对常用的Linux命令进行了解释说明,希望对需要的同学有所帮助,后续会持续更新更多的Linux使用技巧以及命令。
  • 01.05 16:18:40
    发表了文章 2022-01-05 16:18:40

    Elasticsearch学习系列之一:基础知识与软件安装

    本文主要介绍了Elasticsearch是什么以及解决什么样的问题可以用到它,同时对Elasticsearch的核心概念以及安装做了说明,旨在让大家对Elasticsearch有个初步的认识。
  • 01.05 16:13:39
    发表了文章 2022-01-05 16:13:39

    RocketMQ高手之路系列之六:RocketMQ之消息发送(三)

    本文主要介绍了,消息发送之前RocketMQ进行的Broker故障延迟选择策略。它是一种对于故障Broker的一种调度策略,可以规避对于故障Broker的使用。在下文中,我们将正式进行消息发送的源码阅读以及分析。
  • 01.05 16:12:19
    发表了文章 2022-01-05 16:12:19

    LeetCode解题之十:整数排列

    LeetCode解题之十:整数排列
  • 01.05 16:09:29
    发表了文章 2022-01-05 16:09:29

    LeetCode解题之九:移除元素

    LeetCode解题之九:移除元素
  • 01.05 15:44:20
    发表了文章 2022-01-05 15:44:20

    LeetCode解题之八:两两交换链表中的节点

    LeetCode解题之八:两两交换链表中的节点
  • 01.05 15:43:30
    发表了文章 2022-01-05 15:43:30

    RocketMQ高手之路系列之四:RocketMQ之消息发送(一)

    本文主要叙述了消息的结构以及在消息发送之前,客户端启动的流程是怎样的,而客户端实例的创建时消息发送的前提。在下一篇文章中,将介绍具体的消息发送流程。
  • 01.05 15:39:39
    发表了文章 2022-01-05 15:39:39

    RocketMQ高手之路系列之三:RocketMQ之路由中心

    本文主要阐述了NameServer相关的路由管理的内容,路由管理是RocketMQ系统中进行消息发送以及消费的重要前提。对于该部分的理解有助于我们更加深刻
  • 01.05 15:34:58
    发表了文章 2022-01-05 15:34:58

    LeetCode解题之七:合并两个有序链表

    LeetCode解题之七:合并两个有序链表
  • 01.05 15:34:06
    发表了文章 2022-01-05 15:34:06

    JDK源码分析系列之四:HashSet深入理解以及源码分析

    其实HashSet中的源码还是非常简单的,底层实现都是通过HashMap来进行的,并且通过HashMap的key来进行元素的存储。以前我们都是关注HashMap的源码实现,对于HashSet的源码没有在意,如果不是这次分析崩溃的问题也不会发现HashSet的底层实现逻辑。所以有时候越简单的懂越要知道其内部实现,这样就不会阴沟里翻船了。
  • 01.05 15:31:18
    发表了文章 2022-01-05 15:31:18

    阿里巴巴Java应用在线诊断神器Arthas工具使用介绍

    线上环境出现异常时,我们想立马查看下JVM内存使用情况,想看下我们的应用中的线程状态等等。那么阿里巴巴的在线诊断神器Arthas工具就是非常不错的选择,本文主要介绍Arthas的基本用法。 Arthas工具介绍 Arthas安装 常用命令
  • 01.05 15:29:22
    发表了文章 2022-01-05 15:29:22

    RocketMQ高手之路系列之二:RocketMQ之消息通信

    本文主要从源码角度分析RocketMQ的底层通信机制以及RPC调用的过程。对于RocketMQ通信机制的深入理解,是我们分析和领会整个RocketMQ系统消息流转流程的基石。 消息 消息底层如何流转 总结
  • 01.05 15:25:45
    发表了文章 2022-01-05 15:25:45

    十分钟搞懂正则表达式(上)

    正则表达式几乎可以在任何语言中进行使用,无论是JS、Java或者是Python或者是其他语言。是不是很羡慕别人的正则表达式写的很6,是不是对于火星文般的一大长串正则表达式很苦恼。本文希望通过对于正则表达式的说明,让大家认识它、接近它最后爱上它。 正则表达式基础知识 常用正则表达式 Java中如何使用正则表达式
  • 01.05 15:21:01
    发表了文章 2022-01-05 15:21:01

    RocketMQ高手之路系列之一:RocketMQ网络通信模块架构

    本文主要是介绍RocketMQ的通信模块,通过对于源码的阅读,拆解其中的底层通信原理。一篇文章很难完全讲清楚这其中的道道,所以会分几篇文章来进行阐述。 模块介绍 为何使用Netty通信作为底层通信框架 总结
  • 01.05 15:13:24
    发表了文章 2022-01-05 15:13:24

    LeetCode解题之六:有效的括号

    LeetCode解题之六:有效的括号
  • 发表了文章 2023-07-28

    如何写出一手好代码(上篇 - 理论储备)?

  • 发表了文章 2023-03-09

    Java代码是如何被CPU狂飙起来的?

  • 发表了文章 2022-12-22

    缓存数据丢了,原来是Redis持久化没玩明白

  • 发表了文章 2022-11-23

    AIOT在企业数字化转型中的机遇和挑战

  • 发表了文章 2022-10-21

    聊聊那些年遇到过的奇葩代码

  • 发表了文章 2022-10-16

    组装式架构重构未来平台研发模式

  • 发表了文章 2022-10-05

    同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧

  • 发表了文章 2022-09-24

    Java服务异常问题排查定位大图

  • 发表了文章 2022-09-24

    技术团队如何高效落地代码CR

  • 发表了文章 2022-08-01

    如何优雅的消除系统重复代码

  • 发表了文章 2022-07-28

    DDD领域驱动设计如何进行工程化落地

  • 发表了文章 2022-07-16

    如何在阿里云serverless发布一个Springboot应用

  • 发表了文章 2022-04-20

    30个实用SQL语句,玩转PostgreSQL

  • 发表了文章 2022-01-30

    11 张图深入理解分布式锁原理

  • 发表了文章 2022-01-06

    DDD 领域驱动设计落地实践系列:工程结构分层设计

  • 发表了文章 2022-01-06

    【日拱一卒进击大厂系列】ArrayList的面试陷阱别跳进去了

  • 发表了文章 2022-01-06

    Elasticsearch核心原理系列:10张图理解Elasticsearch核心概念

  • 发表了文章 2022-01-06

    偷偷看了同事的代码找到了优雅代码的秘密

  • 发表了文章 2022-01-06

    2021年校招Java岗中间件面试题汇总

  • 发表了文章 2022-01-06

    【日拱一卒进击大厂系列】面试官:为什么单线程的Redis可以实现高并发访问

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2022-10-25

    你有哪些极客装备?

    一年一度的1024程序员节又来了,这是一个非常特殊的日子,主要用来向那些默默用代码改变世界的程序员们致敬。要说节日的氛围还得是阿里云开发者社区,社区活动丰富,奖品多多。 趁着这次每周小宝来唠嗑的栏目,和大家分享下平时开发代码以及学习技术都会用到的利器吧。 戴尔灵越笔记本:全金属机身,蓝色外壳有种静谧的神秘感,i7处理器,16g内存再加上520G固态硬盘为代码开发输出强劲动力。 杜伽机械键盘:传统的机械键盘噼里啪啦的声音虽然很有节奏感,但是时间长了感觉有点吵,所以选了这款红轴的机械键盘,没什么敲击键盘的声音,不会影响到其他人。 Sony降噪耳机;学习的时候希望达到一种忘我的境界,因此需要隔绝自己与外部世界,因此带上降噪耳机,仿佛整个世界都安静了,完全沉浸在自己的世界里面,在只是的海洋里遨游。 支架:这个支架既可以放笔记本也可以放书本,这样在看书的过程中就不会感觉颈椎太累,实际用起来效果非常好。 Ipad:主要用来看下学习视频以及进行写架构图或者草图的绘制,辅助笔记本的使用。 戴尔显示器:这是一个27寸的2k显示器,显示器大了,无论是看视频、看文章或者看代码都非常给力。感觉整个屏幕铺在自己的眼前,显示效果也比较细腻,看的时间长了也不会感觉演进太累。 好了我的学习利器就分享到这里了,最后祝愿各位程序员同学Bug少少,脱发少少,挣钱多多。
    踩0 评论0
  • 回答了问题 2022-09-23

    你知道什么是“云境深处的守护者”吗?

    欧阳老师好 网络安全问题由于近期某大国在网络上长期渗透潜伏被发现,公然攻击我国科研单位被发现而再次引起大家的广泛关注。当前我们正处于各行各业数字化转型进展中,AIOT为万物互联提供技术基础,也为实现全行业数字化转型提供能力支持,未来将有万亿级别的物联设备实现在线化。因此万物在线后的网络安全问题非常值得关注,因为IOT设备一旦被破解,可能会导致不可挽回的财产损失以及个人安全,甚至威胁国家安全。因此如何构建一道强大的AIOT安全防护网是一个非常值得思考以及在未来有强大需求的话题。在下看来,需要从设备自身安全、设备系统安全、网络通信安全、AIOT平台全、安全升级机制、接口鉴权全覆盖等等方面进行入手,全面扫清整个平台架构中涉及的安全盲点。希望欧阳老师可以聊聊阿里在AIOT技术架构下有哪些优秀的安全实践和思考,谢谢。
    踩0 评论0
  • 回答了问题 2022-09-14

    你有哪些开发者的困扰?

    我觉得主要还是需求确认的问题吧,因为需求如果部明确或者没有聊头,很容易出现做出来的东西和预想之间存在一定的gap。所以程序员在写代码之前一定要把需求理解透彻,有的时候PD只能看到表面的东西,作为理解底层业务逻辑的研发需要帮助他们梳理清楚需求背后业务方真正的诉求到底是什么。
    踩0 评论0
  • 回答了问题 2022-09-01

    你想问李飞飞什么问题?

    数据库国产化替代是一个不久的趋势,那么国产数据库在稳定性、安全性等方面是否可以满足业务方的需求?未来国产化数据库还会迎来怎样的发展?
    踩0 评论0
  • 回答了问题 2022-08-19

    你收到过哪些特别的开发者周边?

    最喜欢的周边肯定还是云小宝,不知不觉来阿里云社区已经1177天了,希望未来可以创作更多的好文章,希望阿里云社区越办越好呀。
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息