Blog

Page 9 - Showing 5 of 87 posts

  • 常见位置编码及其实现
    常见位置编码及其实现
    Arrow right

    本文介绍了可学习位置编码(Learnable Position Encoding)的概念、实现方式以及在Transformer模型中的应用。可学习位置编码是一种无需训练即可直接应用的位置嵌入方法,操作简单易懂,易于理解。

    🕒3 min read
      可学习位置编码Transformer模型词嵌入向量三角函数信息编码
  • MySQL的ACID实现原理
    MySQL的ACID实现原理
    Arrow right

    本文介绍了MySQL的ACID实现原理,包括原子性、一致性、隔离性和持久性。Innodb作为MySQL最常用的存储引擎,其内部构造包括buffer pool、redo log和undo log。Atomic实现原理主要通过undo log保证事务的原子性,Consistency由业务逻辑或约束实现,Isolation采用MVCC提高事务并发性能。Durability通过redo log防止数据库崩溃造成数据丢失。

    🕒1 min read
      MySQLACIDInnodbundo logredo logMVCCDurability
  • Redis知识杂谈
    Redis知识杂谈
    Arrow right

    Redis底层手搓了很多数据结构,更加适合`Redis`的应用场景,提高了高性能和低存储消耗。

    🕒1 min read
      RedisString数据结构QuickListHashZset
  • 疑难错误:/usr/bin/ld: cannot find -lxxx
    疑难错误:/usr/bin/ld: cannot find -lxxx
    Arrow right

    本文讲述了在开发过程中遇到的一个编译错误,即`/usr/bin/ld: cannot find -lLLVM-13-rust-1.58.0-nightly`。原因是该库的路径被写入了zshrc的配置文件中的`LD_LIBRARY_PATH`位置,导致编译器无法找到。通过查阅资料,发现`LIBRARY_PATH`和`LD_LIBRARY_PATH`的区别,并了解到它们在编译和运行时的作用及影响工具。同时,文章还提供了如何同时使用这两个变量的建议,以及在使用时应考虑的安全性问题、调试问题和持久化配置。

    🕒2 min read
      编译错误LD_LIBRARY_PATHLIBRARY_PATHgcczshrc
  • Java和Go的内存管理学习
    Java和Go的内存管理学习
    Arrow right

    本文介绍了Java和Go的内存管理学习,通过GC实现自动内存管理,有助于深入理解性能瓶颈。GC分为三种:Series GC、Parallel GC和Concurrent GC,各有其特点和适用场景。GC策略包括Copying GC、Mark-sweep GC和Mark-compact GC,每种策略都有其优缺点。引用计数是判断死亡对象的一种方法,但存在缺点如线程不安全和无法处理环形结构。Java内存管理技术经过多代发展,采用分代回收法,根据对象的存活时间长短选择不同的清理策略。Golang采用三色标记法来追踪死亡对象,通过白色、灰色和黑色分别表示可以回收、正在检查和不能回收的对象。

    🕒1 min read
      JavaGoGC内存管理分代回收法三色标记法