<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[utopiajh的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/utopiajh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; utopiajh]]></copyright><item><title><![CDATA[免费的豆包手机？Open-AutoGLM保姆级部署教程]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/155865512</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/155865512</guid><author>utopiajh</author><pubDate>Sat, 13 Dec 2025 01:25:17 +0800</pubDate><description><![CDATA[本文介绍了Open-AutoGLM项目的安装使用教程。主要内容包括：1)安装ADB工具并配置环境变量；2)手机开启开发者模式和USB调试；3)安装ADBKeyboard输入法；4)克隆项目并安装依赖；5)选择模型服务(推荐第三方API或本地部署)；6)运行示例命令进行测试。文章还提供了常见问题的解决方法，如更换数据线解决屏幕敏感问题。该教程详细指导了如何配置环境、连接设备及运行项目，适合想要尝试手机自动化操作的用户参考。]]></description><category></category></item><item><title><![CDATA[leetcode380.O(1) 时间插入、删除]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/155243160</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/155243160</guid><author>utopiajh</author><pubDate>Tue, 25 Nov 2025 20:04:12 +0800</pubDate><description><![CDATA[1.unorder<int, int>hash中key表示元素值，value表示元素索引（正好相反hhh）利用hash特性可以迅速获取元素下标，然后，把将要删除的元素的下标给到hash表末尾元素，相当于以后查找hash表，末尾元素都会索引到被删除的元素的位置，最后将hash中的元素记录erase就好了。众所周知，数组中插入，删除元素时间最坏情况下时间复杂度O(n)，这是由于，当一个位置的元素发生改变时，其他元素都会受到影响，那么有无简单方式实现常数级时间复杂度实现插删呢？那就是哈希 + 动态数组。]]></description><category></category></item><item><title><![CDATA[【SQL优化】数据库查询优化 15 条核心准则]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/155075667</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/155075667</guid><author>utopiajh</author><pubDate>Thu, 20 Nov 2025 20:45:59 +0800</pubDate><description><![CDATA[文章内容来自网络，仅作学习与交流。]]></description><category></category></item><item><title><![CDATA[Ubantu24.02解压包安装部署Oracle11g详细教程]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/155035788</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/155035788</guid><author>utopiajh</author><pubDate>Wed, 19 Nov 2025 19:23:08 +0800</pubDate><description><![CDATA[sudo useradd -n oracle -g dba -d /oracle  # 组为 dba，家目录 /oracle。sudo mkdir -p /oracle              # 手动创建家目录（Ubuntu 不会自动创建）文件，内容无需修改（Oracle 环境变量与系统无关），记住其中的ORACLE_SID，后续用上。sudo passwd oracle #输入密码（如 `oracle123`），按提示确认。]]></description><category></category></item><item><title><![CDATA[高效文件传输：从同步阻塞到异步并发]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/154952828</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/154952828</guid><author>utopiajh</author><pubDate>Mon, 17 Nov 2025 17:32:31 +0800</pubDate><description><![CDATA[文件传输性能优化是一个系统工程，需要综合考虑网络条件、硬件资源、并发规模、开发成本等多方面因素。从同步阻塞到异步并发的演进，核心是通过解耦发送和接收操作，充分利用等待时间，提高资源利用率。多线程：平衡了性能和开发效率，是大多数场景的理想选择多进程：适合需要强隔离性的场景I/O多路复用：是高并发服务器的标准方案。]]></description><category></category></item><item><title><![CDATA[一篇文章说清楚静态库和动态库]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/154201198</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/154201198</guid><author>utopiajh</author><pubDate>Fri, 31 Oct 2025 19:15:28 +0800</pubDate><description><![CDATA[在实际开发中，我们把通用的函数和类分文件编写公共文件中，称之为库。在其它的程序中，可以使用库中的函数和类。一般来说，通用的函数和类不提供源代码文件（安全性、商业机密），而是编译成二进制文件。库的二进制文件有两种：静态库和动态库。]]></description><category></category></item><item><title><![CDATA[【操作系统】页表项长度深入理解]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/154083924</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/154083924</guid><author>utopiajh</author><pubDate>Wed, 29 Oct 2025 19:56:20 +0800</pubDate><description><![CDATA[例题理解：假设某系统物理内存大小为 4GB，页面大小为 4KB，内存总共会被分为2 ^20 个内存块（页框数量），因此页表项的大小为20位。然而，一个页框（页面大小） = 4KB， 可以存放4096 / 3 = 1365个页表项，4096 % 3 = 1；这样造成了页内碎片🧩。页表项的分为页号和块号，而页号就相当与一个编号，不占用空间，块号的长度取决于页框的数量，事实上等于 log2（页框数量）先说结论：因为页表也是存储到页框的，于是页表项的数量尽量可以完全填满一个页框，不产生页内碎片。]]></description><category></category></item><item><title><![CDATA[C++ 字符串格式化进阶：sformat 函数的两种重载版本与使用场景]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/153870218</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/153870218</guid><author>utopiajh</author><pubDate>Sat, 25 Oct 2025 11:16:35 +0800</pubDate><description><![CDATA[为 0 时，函数会跳过实际写入操作，仅计算 “格式化后的字符串长度” 所以，使用，对于snprintf来说，要获取写入长度，又因为 当。当需要格式化生成一个字符串的时候，我们可以使用。格式化字符串生成函数sformat的定义。可获取待格式化字符串长度。C++风格字符串重载版本。]]></description><category></category></item><item><title><![CDATA[【C++】你真的理解了声明和定义吗？]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/151156084</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/151156084</guid><author>utopiajh</author><pubDate>Wed, 03 Sep 2025 19:55:47 +0800</pubDate><description><![CDATA[答案是，在需要使用这个全局变量的文件中，我们声明一下这个变量，告诉编译器，这个变量在某个地方是存在的，大胆地编译吧！，相当于告诉编译器，程序有这个变量了，不会分配内存空间，而是在链接阶段编译器会去找这个变量。假设有个全局变量需要跨文件使用，但是一个变量不能重复定义，我们该怎么办？关键字来声明，extern int x；，区别于声明，编译器会给这个定义的变量分配内存空间。3、定义一定是声明，声明不一定是定义，这句话对吗？这样编译器就会知道，我不应该报错了！《C++ primer》阅读记录。]]></description><category></category></item><item><title><![CDATA[在命令行中编译并运行 C++ 程序]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/151018998</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/151018998</guid><author>utopiajh</author><pubDate>Sat, 30 Aug 2025 14:53:45 +0800</pubDate><description><![CDATA[本文介绍了在Windows系统下使用命令行编译运行C++程序的完整流程。首先讲解了如何创建和编辑源文件，然后详细说明了两种常用编译器的使用方法：MSVC的cl命令需要从VS命令行运行，GNU的g++命令可直接使用。最后指出两种编译器最终都会生成.exe可执行文件，并对比了Linux/macOS下的编译差异。文章为C++初学者提供了实用的入门指导。]]></description><category></category></item><item><title><![CDATA[【俄罗斯大神版】最新IDM永久使用授权教程]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/150781429</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/150781429</guid><author>utopiajh</author><pubDate>Mon, 25 Aug 2025 21:51:39 +0800</pubDate><description><![CDATA[IDM 提供 30 天的试用期，您可以在脚本中使用此选项锁定此试用期，这样您就无需再次重置试用期，并且试用期不会过期。- 互联网下载管理器提供 30 天的试用期，您可以随时使用此脚本重置此激活/试用期。但是问题不大，点击'是'，并且将路径修改成IDM实质安装路径即可。2、若是在安装idm时，修改了原安装路径，就会出现如下弹窗。2、下载插件，关注如图公主号，回复【idm】即可免费下载。，得到三个文件，并且点开IAS文件（如图箭头所指）2、下载插件，关注如图公主号，回复【idm】即可。]]></description><category></category></item><item><title><![CDATA[【保姆级教程】Internet Download Manager（IDM）安装]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/150770874</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/150770874</guid><author>utopiajh</author><pubDate>Mon, 25 Aug 2025 21:11:32 +0800</pubDate><description><![CDATA[点击。]]></description><category></category></item><item><title><![CDATA[基于C# WInform控件的图书管理系统]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/150759318</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/150759318</guid><author>utopiajh</author><pubDate>Mon, 25 Aug 2025 09:22:53 +0800</pubDate><description><![CDATA[这是一个图书管理系统，基于C# WInform控件编写，后端采用SqlServer数据库。源地址如下，就不做移植啦！]]></description><category></category></item><item><title><![CDATA[String字符串刷题总结（C++）]]></title><link>https://blog.youkuaiyun.com/utopiajh/article/details/145346366</link><guid>https://blog.youkuaiyun.com/utopiajh/article/details/145346366</guid><author>utopiajh</author><pubDate>Fri, 24 Jan 2025 21:18:30 +0800</pubDate><description><![CDATA[这里并不需要去记ASCII码表，咱们可以利用a~z以及A~Z这些个数，它们的码值是连续的特性，可以用加减来实现字符的大小写转化  例如：‘B’->‘b’  可以用 ‘B’ - ‘A’ + ‘a’①find(num)函数的使用：找到返回位置pos， 未找到返回-1（不是返回0，我老是将返回值直接去做if语句的判断条件，需要额外在+1）④length() 求string字符串的长度，用的很多，遍历字符串时我总是会用到。② substr(start_pos, sub_len)函数的使用：截取字串。]]></description><category></category></item></channel></rss>