<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[liu094的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liu094</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liu094]]></copyright><item><title><![CDATA[常见的C语言段错误实例及原因分析]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/148281364</link><guid>https://blog.youkuaiyun.com/liu094/article/details/148281364</guid><author>liu094</author><pubDate>Wed, 28 May 2025 19:00:00 +0800</pubDate><description><![CDATA[【摘要】本文列举了C语言编程中16种典型的段错误(Segmentation Fault)场景及示例代码，主要包括：引用空指针、访问受保护内存、修改字符串常量、栈溢出、数组越界、使用未初始化指针、访问已释放内存、缓冲区溢出、双重释放内存、强制类型转换错误等常见问题。文章通过具体代码示例展示了每种段错误的触发方式，并分析了产生原因，如指针操作不当、内存管理错误、数据类型不匹配等。最后提出避免段错误的建议：正确初始化指针、避免越界操作、谨慎管理内存分配释放、检查库函数返回值等。这些内容对C语言初学者理解和排查段错]]></description><category></category></item><item><title><![CDATA[QT5 QPainter 自定义绘图]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/146215978</link><guid>https://blog.youkuaiyun.com/liu094/article/details/146215978</guid><author>liu094</author><pubDate>Wed, 12 Mar 2025 22:00:07 +0800</pubDate><description><![CDATA[通过使用 QFont 来构建我们想要的字体，setFamily()设置字体为微软雅黑、setPointSize() 设置点大小30、setItalic() 设置斜体， 然后通过 setFont() 来设置字体，最后调用 drawText() 来实现文本的绘制，这里的 rect() 是指当前窗体的显示区域，Qt::AlignCenter 指文本居中绘制。通过 drawPixmap() 来绘制图片，我们可以指定图片绘制的区域 QRect，这里为整个界面的区域，当界面伸缩的时候，图片也会跟着伸缩。]]></description><category></category></item><item><title><![CDATA[SpringBoot 常用注解]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/146175188</link><guid>https://blog.youkuaiyun.com/liu094/article/details/146175188</guid><author>liu094</author><pubDate>Tue, 11 Mar 2025 19:00:00 +0800</pubDate><description><![CDATA[基于 SpringBoot 平台开发的应该已非常广泛，SpringBoot 里面提供了大量的注解用于快速开发，而且非常简单，基本可以做到开箱即用！那么 SpringBoot 为开发者提供了多少注解呢？我们该如何使用？02、注解总结2.1、SpringMVC 相关注解通常用于修饰controller层的组件，由控制器负责将用户发来的URL请求转发到对应的服务接口，通常还需要配合注解@RequestMapping使用。]]></description><category></category></item><item><title><![CDATA[Java 中try 和 finally]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/145987310</link><guid>https://blog.youkuaiyun.com/liu094/article/details/145987310</guid><author>liu094</author><pubDate>Mon, 03 Mar 2025 20:00:00 +0800</pubDate><description><![CDATA[▶异常屏蔽：如果 finally 块中抛出异常，可能会屏蔽 try 块中抛出的异常。▶return 语句与 finally 块：如果 try 块中有 return 语句，finally 块中的代码会在 return 语句执行之前执行。▶finally 块的执行顺序：无论 try 块中是否发生异常，finally 块中的代码都会在 try 块执行完毕后或异常处理完毕后执行。try 块用于包裹可能会抛出异常的代码，而 finally 块中的代码无论 try 块中是否发生异常，都会被执行。]]></description><category></category></item><item><title><![CDATA[Java多线程互斥及其区别]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/145986026</link><guid>https://blog.youkuaiyun.com/liu094/article/details/145986026</guid><author>liu094</author><pubDate>Mon, 03 Mar 2025 19:00:00 +0800</pubDate><description><![CDATA[可以使用 lockInterruptibly() 方法获取锁，当线程在等待获取锁的过程中被中断时，会抛出 InterruptedException 异常。可重入意味着同一个线程可以多次获取同一把锁，而非公平锁表示线程获取锁的顺序是不确定的。Lock 接口：在高并发场景下，Lock 接口的性能可能会更好，因为它提供了更多的优化选项，例如锁的粒度控制、锁的超时机制等。综上所述，synchronized 关键字适用于简单的同步场景，而 Lock 接口适用于复杂的同步场景，需要更多的锁控制和灵活性。]]></description><category></category></item><item><title><![CDATA[Qt QtableWidgetItem居中显示图片]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/140017167</link><guid>https://blog.youkuaiyun.com/liu094/article/details/140017167</guid><author>liu094</author><pubDate>Thu, 27 Jun 2024 16:56:50 +0800</pubDate><description><![CDATA[QTableWidgetItem显示图片的方案]]></description><category></category></item><item><title><![CDATA[读写文件流]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/129175148</link><guid>https://blog.youkuaiyun.com/liu094/article/details/129175148</guid><author>liu094</author><pubDate>Thu, 23 Feb 2023 09:57:04 +0800</pubDate><description><![CDATA[ifstream,ofstream,open,read,write.]]></description><category></category></item><item><title><![CDATA[C++ 智能指针]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/128816623</link><guid>https://blog.youkuaiyun.com/liu094/article/details/128816623</guid><author>liu094</author><pubDate>Wed, 01 Feb 2023 14:46:02 +0800</pubDate><description><![CDATA[智能指针]]></description><category></category></item><item><title><![CDATA[C++知识点详细总结]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/128797395</link><guid>https://blog.youkuaiyun.com/liu094/article/details/128797395</guid><author>liu094</author><pubDate>Mon, 30 Jan 2023 11:29:54 +0800</pubDate><description><![CDATA[c++常用知识点详细总结。]]></description><category></category></item><item><title><![CDATA[Qt5 之 QSS基本语法]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/128442303</link><guid>https://blog.youkuaiyun.com/liu094/article/details/128442303</guid><author>liu094</author><pubDate>Tue, 27 Dec 2022 00:00:00 +0800</pubDate><description><![CDATA[Qt程序界面中控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性可以通过Qss文件来设置，美化UI界面。实现界面和程序的分离，快速切换皮肤。]]></description><category></category></item><item><title><![CDATA[Windows 与 Linux多线程函数对应表]]></title><link>https://blog.youkuaiyun.com/liu094/article/details/128032537</link><guid>https://blog.youkuaiyun.com/liu094/article/details/128032537</guid><author>liu094</author><pubDate>Fri, 25 Nov 2022 09:54:37 +0800</pubDate><description><![CDATA[【代码】Windows 与 Linux多线程函数对应表。]]></description><category></category></item></channel></rss>