浅谈分布式事务那些事
本篇文章我们重点讨论关于分布式事务的一些相关知识点。这是学习分布式系统的一个必不可少的技术。我们最常见的案例就是银行转账问题,A账户向B账户转100元,那么A账户余额要减少100,B账户上要增加100。两个步骤必须都要成功才算成功,只成功一个的话应当回滚掉。如果A和B不在同一个环境或者系统上,这个事务就是分布式事务了,那么在这种情况下,如何保证事务…
实现分布式锁的各种姿势
各位Javaer都对锁应该都是不陌生的,无论工作还是面试的时候,都是很常见的。不过对于大部分的小型的项目,也就是单机应用,基本都是使用Java的juc即可应对,但是随着应用规模的扩大,在分布式系统中,依靠着诸如syncronized,lock这些就无法应对了。那么本文就是来给大家唠嗑唠嗑在分布式系统中常见的几种实现分布式锁的方式。 数据库方式实现分…
Spring源码分析(二)如何解决循环依赖
在上一篇Spring源码分析中,我们跳过了一部分关于Spring解决循环依赖部分的代码,为了填上这个坑,我这里另开一文来好好讨论下这个问题。 首先解释下什么是循环依赖,其实很简单,就是有两个类它们互相都依赖了对方,如下所示: @Component public class AService { @Autowired private BService…
Spring源码分析(一) 从Spring Bean的生命周期谈起
Spring Bean的生命周期真的是面试的时候关于Spring的最高频的考点之一了,笔者曾经被这个问题问懵了不止一次,一直记不住那一大串的步骤,但实际上尝试去死记硬背那些步骤的我是错误的,表面上看只是背诵一个流程,实际上,这个流程牵扯到的知识点可是很多而且很有意思的。 下面这个图我想很多人应该都看过相同的或者相似的: 看起来还是挺长的对吧,但是我…
谈谈 Map
作为Javaer,对于Map这个单词绝对不会陌生,无论是开发过程中还是出去面试的时候,都会经常遇到,而最频繁使用和面试提问的无非这么几个,HashMap, HashTable, ConcurrentHashMap。那么本文就针对这几个知识点做一个归纳和总结。 从HashMap说起 HashMap是上面提到的几个Map中使用频率最高的了,毕竟需要考虑…
Transformer 网络解读
终于到序列模型课程最后一周的内容了,本篇博客依然是基于Andrew Ng的深度学习专项课程的序列模型来编写的,本篇内容不会很多,主要就是Transformer网络相关的知识点,Transformer网络是一种基于注意力机制的神经网络架构,被广泛应用于自然语言处理领域,尤其是机器翻译任务中。本文将详细介绍Transformer网络的关键概念和工作原理…
揭秘序列到序列模型:从机器翻译到语音识别
Sequence to Sequence Model是NLP领域非常核心的模型,这类模型使用编码器-解码器的结构,可以实现输入和输出不相同长度序列之间的变换。本篇博客将全面介绍序列到序列模型的基础概念、工作机制,尤其是其中注意力机制的技术更是当前大模型技术的根基之一,最后也会捎带介绍一些序列模型在语音处理的应用。本文也是基于Andrew Ng教授D…
浅谈 Word Embeddings
词嵌入(Word Embeddings)是自然语言处理(NLP)和深度学习中的一个核心概念。它通过将词汇映射到连续的向量空间,为计算机提供了一种直观和强大的方式来理解语言。本篇博客基于Andrew Ng教授的Deep Learning 专项课程中序列模型这门课第二周的内容,那我们开始吧! Word Embeddings 介绍 词嵌入的概念 词嵌入是…
循环神经网络介绍
机器学习策略详解
循环神经网络(Recurrent Neural Network, RNN)是一种能够处理序列数据的神经网络,在自然语言处理、语音识别、手写识别等领域发挥着重要作用。相比普通的前馈神经网络,RNN可以捕捉时间序列数据中的时序信息和长距离依赖关系。本篇博客将详细介绍RNN的工作原理、常见模型如门控循环单元(GRU)、长短期记忆(LSTM)以及如何应用于…
机器学习已然成为当今科技发展的重要驱动力之一。如何建立一个系统的机器学习策略,使机器学习项目能够高效推进并取得预期成果,是每一位机器学习从业者都需要思考的问题。每个机器学习项目的核心都涉及到目标设定,模型选择,数据处理和结果评估等多个关键步骤。在这篇博客中,我们将深入讨论这些步骤,特别是关于如何有效地设置机器学习目标,评估模型性能,并进行优化的具体…