<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cf_808的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cf_808</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cf_808]]></copyright><item><title><![CDATA[LightDB统一SQL]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/153470819</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/153470819</guid><author>cf_808</author><pubDate>Sat, 18 Oct 2025 18:31:23 +0800</pubDate><description><![CDATA[统一SQL代理驱动介绍应用程序将SQL语句发送到数据库中执行时，都会经过数据库驱动来转发，因此统一SQL可以在驱动层进行代理拦截，调用统一SQL改写模块，在应用程序的运行态完成改写，可以最大程度地避免修改应用程序的数据访问层代码。统一SQL改写模块是基于 Go 开发的 SQL 转换中间件，能够编译成被c/java/go等主流编程语言集成调用的动态库。因为每种编程语言和数据库系统都有其自己的驱动程序生态，因此统一SQL可以适用于c/java/go应用程序调用来实现SQL语句动态改写功能。]]></description><category></category></item><item><title><![CDATA[优化Go内存分配与GC行为]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147627129</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147627129</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:46:18 +0800</pubDate><description><![CDATA[垃圾回收器（Garbage Collector, GC）是Go语言运行时的关键组件，负责自动管理内存的分配和释放。尽管Go的垃圾回收机制极大简化了内存管理的难度，但不当的内存分配模式仍会对程序性能产生影响。因此，理解和优化Go的内存分配与GC行为是开发高效应用程序的重要步骤。本文将深入探讨垃圾回收的机制、内存分配策略、常见优化手段以及实际应用中的调优。]]></description><category></category></item><item><title><![CDATA[使用pprof分析性能瓶颈]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147627084</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147627084</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:44:39 +0800</pubDate><description><![CDATA[功能简介pprof可以分析程序的CPU使用率、内存分配情况、goroutine的运行状态等。生成的分析报告以火焰图、调用图等形式展示，帮助开发者直观地找到性能瓶颈。使用环境pprof适用于Go语言编写的应用程序，尤其是在需要提升程序执行效率和资源利用率的场景中。]]></description><category></category></item><item><title><![CDATA[Go内存模型概述]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147627045</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147627045</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:42:58 +0800</pubDate><description><![CDATA[在并发编程中，理解内存模型的运行机制对于开发高效和可靠的程序至关重要。Go语言的内存模型以简约而强大的设计著称，它提供了清晰的并发保证以及对内存访问的可预测控制。本文将深入探讨Go内存模型的基本概念、内存可见性、内存对齐与缓存机制，以及它与其他语言内存模型的比较。什么是内存模型：Go内存模型的目标：内存可见性原则：内存屏障：内存对齐：缓存机制：自动垃圾回收：逃逸分析：相似性：差异性：并发安全性：性能优化：Go的内存模型提供了一个简洁而强大的工具集，使得开发者可以在并发环境中安全且高效地进行内存操作。理解和应]]></description><category></category></item><item><title><![CDATA[深入sync包：Mutex与RWMutex的应用]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626828</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626828</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:36:33 +0800</pubDate><description><![CDATA[在并发编程中，掌握对共享资源的访问控制是至关重要的。Go语言的sync包提供了一组强大的工具，如Mutex和RWMutex，用于安全地管理共享资源的并发访问。这些工具可帮助开发者避免竞态条件和死锁，提高程序稳定性和性能。本文将深入探讨Mutex和RWMutex的工作机制、应用场景及注意事项。]]></description><category></category></item><item><title><![CDATA[使用WaitGroup进行Goroutines的同步]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626768</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626768</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:31:47 +0800</pubDate><description><![CDATA[在Go并发编程中，管理和同步多个Goroutines的执行是一项常见的需求。Go语言的syncWaitGroup，用于跟踪和等待一组Goroutines的完成。本文将深入探讨WaitGroup的基本概念、使用方法、常见场景及注意事项。]]></description><category></category></item><item><title><![CDATA[通信的桥梁]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626716</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626716</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:29:42 +0800</pubDate><description><![CDATA[Channel是Go中的一种引用类型，用于在Goroutines之间传递类型化的消息。它们遵循了“通过通信共享内存”的并发哲学，而非“通过共享内存进行通信”。]]></description><category></category></item><item><title><![CDATA[Goroutines的深入探索]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626680</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626680</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:28:17 +0800</pubDate><description><![CDATA[Goroutines是Go语言提供的一种轻量级并发结构，是Go并发模型的核心。它们的简单性和高效性使得Go成为构建高性能并发应用程序的理想选择。本文将深入探讨Goroutines的实现、调度、性能以及使用注意事项。]]></description><category></category></item><item><title><![CDATA[Go并发模型基础与Goroutines入门]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626572</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626572</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:26:33 +0800</pubDate><description><![CDATA[Go语言的并发模型通过Goroutines、Channels以及内建调度器，为开发者提供了一种轻量、高效和易于使用的并发编程工具。它适合各种类型的应用程序，无论是简单的脚本还是复杂的分布式系统，都可以通过这种并发机制来实现高效执行。通过全面掌握Go的并发特性，可帮助开发者有效提升应用程序的性能和响应能力。]]></description><category></category></item><item><title><![CDATA[Java多线程基本介绍]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147626348</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147626348</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 10:21:22 +0800</pubDate><description><![CDATA[Java多线程编程是Java开发中的核心技能，掌握多线程技术可以：提高程序性能改善用户体验更好地利用硬件资源但同时也带来复杂性：线程安全问题死锁风险性能调优挑战建议开发者在实际项目中：优先使用高级并发工具（如线程池、并发集合）编写线程安全的代码进行充分的并发测试使用性能分析工具（如JProfiler、VisualVM）调优。]]></description><category></category></item><item><title><![CDATA[深入理解Java类加载机制]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147625570</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147625570</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 09:50:03 +0800</pubDate><description><![CDATA[Java类加载机制是Java虚拟机(JVM)将类的.class文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被JVM直接使用的Java类型的过程。这一机制是Java实现"一次编写，到处运行"特性的关键所在。全盘负责：当一个类加载器负责加载某个类时，该类所依赖和引用的其他类也将由这个类加载器负责加载父类委托：先让父类加载器尝试加载，只有在父类加载器无法加载时才尝试从自己的类路径中加载缓存机制：加载过的类会被缓存，当程序需要某个类时，类加载器先从缓存区寻找。]]></description><category></category></item><item><title><![CDATA[虚拟机垃圾回收]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147625376</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147625376</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 09:44:29 +0800</pubDate><description><![CDATA[　　JVM 内存模型一共包括三个部分：堆 ( Java代码可及的 Java堆 和 JVM自身使用的方法区)、栈 ( 服务Java方法的虚拟机栈 和 服务Native方法的本地方法栈 ) 和 保证程序在多线程环境下能够连续执行的程序计数器。特别地，我们当时就提到Java堆是进行垃圾回收的主要区域，故其也被称为GC堆；而方法区也有一个不太严谨的表述，就是永久代。总的来说，堆 (包括Java堆 和 方法区)是 垃圾回收的主要对象，特别是Java堆。实际上，Java技术体系中所提倡的 自动内存管理 最终可以归结为自]]></description><category></category></item><item><title><![CDATA[JVM介绍]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147624469</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147624469</guid><author>cf_808</author><pubDate>Wed, 30 Apr 2025 09:14:03 +0800</pubDate><description><![CDATA[内存效率：复制算法》标记清除算法》标记压缩算法（时间复杂度）内存整齐率：复制算法=标记压缩算法》标记清除算法内存利用率：标记压缩算法=标记清除算法》复制算法有没有最优的算法：没有最好的算法，但是只有最合适的使用GC也被称为：房贷收集算法年轻代存活率低，复制速度快，适合用复制算法老年代：区域大，存活率高，使用标记清除加标记压缩混合实现。]]></description><category></category></item><item><title><![CDATA[深入理解Java多线程编程]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147620357</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147620357</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:46:46 +0800</pubDate><description><![CDATA[Java多线程是Java核心技术的重要组成部分，主要通过类和包实现。]]></description><category></category></item><item><title><![CDATA[Go项目结构与依赖管理]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147620231</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147620231</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:42:29 +0800</pubDate><description><![CDATA[【代码】Go项目结构与依赖管理。]]></description><category></category></item><item><title><![CDATA[Go测试与性能分析]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147620171</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147620171</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:35:43 +0800</pubDate><description><![CDATA[测试文件以_test.gogo test。]]></description><category></category></item><item><title><![CDATA[Go标准库常用包]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147620137</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147620137</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:31:53 +0800</pubDate><description><![CDATA[【代码】Go标准库常用包。]]></description><category></category></item><item><title><![CDATA[Go并发编程基础]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147620113</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147620113</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:29:15 +0800</pubDate><description><![CDATA[轻量级线程，使用go。]]></description><category></category></item><item><title><![CDATA[Go错误处理]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147619976</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147619976</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:17:22 +0800</pubDate><description><![CDATA[return fmt.Sprintf("无法计算 %.2f/%.2f", e.a, e.b)]]></description><category></category></item><item><title><![CDATA[Go方法与接口]]></title><link>https://blog.youkuaiyun.com/cf_808/article/details/147619952</link><guid>https://blog.youkuaiyun.com/cf_808/article/details/147619952</guid><author>cf_808</author><pubDate>Tue, 29 Apr 2025 21:15:41 +0800</pubDate><description><![CDATA[【代码】Go方法与接口。]]></description><category></category></item></channel></rss>