<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Treeback的博客]]></title><description><![CDATA[小菜鸡的学习日常]]></description><link>https://blog.youkuaiyun.com/Treeback</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Treeback]]></copyright><item><title><![CDATA[水仙花字符串分割]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/148873042</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/148873042</guid><author>Treeback</author><pubDate>Tue, 24 Jun 2025 15:43:46 +0800</pubDate><description><![CDATA[示例2,输入:f3@d5a8,输出：-1,说明：分割成功但分割结果不唯一，可以分割为两组，一组"f3"和"@d5a8"，另外一组"f3@d5"。补充说明：“水仙花数Q“是指一个三位数，每位上数字的立方和等于该数字本身，如371是"水仙花数"，因为：371=33+73+1^3。给定非空字符串s，将该字符串分割成一些子串，使每个子串的ASCII码值的和均为水仙花数。3、若分割成功且分割结果唯一，则返回分割后子串的数目。示例1,输入：,abc,输出：0,说明：分割不成功。1、若分割不成功，则返回0。]]></description><category></category></item><item><title><![CDATA[RY-Cloud使用docker配置组件运行]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/147064274</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/147064274</guid><author>Treeback</author><pubDate>Tue, 08 Apr 2025 11:58:19 +0800</pubDate><description><![CDATA[在ry-cloud数据库下执行ry_20210908.sql和quartz.sql这两个sql文件,在ry-config数据库下执行ry_config_20211118.sql这个sql文件,最后，在ry-seata数据库中执行ry_seata_20210128.sql文件完成数据库的配置处理。最后，启用nacos，nacos记得进行版本对应，否则可能无法连接gateway，另外，命令记得执行端口映射，除了8848，哎呦9848、9849两个端口，否则也无法连接gateway。]]></description><category></category></item><item><title><![CDATA[Python中二进制和浮点类型互转]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/131848283</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/131848283</guid><author>Treeback</author><pubDate>Fri, 21 Jul 2023 11:39:52 +0800</pubDate><description><![CDATA[关于python中float和其二进制表示互相转换的程序，还有对于float二进制的修改方法]]></description><category></category></item><item><title><![CDATA[蓝桥C++省赛B组--J:网络分析]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/109257278</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/109257278</guid><author>Treeback</author><pubDate>Sat, 24 Oct 2020 12:06:49 +0800</pubDate><description><![CDATA[网络分析
题目如下
试题 J: 网络分析
问题描述
时间限制: 1.0s 内存限制: 256.0MB 本题总分：25 分
【问题描述】
小明正在做一个网络实验。
他设置了 n 台电脑，称为节点，用于收发和存储数据。
初始时，所有节点都是独立的，不存在任何连接。
小明可以通过网线将两个节点连接起来，连接后两个节点就可以互相了。两个节点如果存在网线连接，称为相邻。
小明有时会测试当时的网络，他会在某个节点发送一条信息，信息会到每个相邻的节点，之后这些节点又会转发到自己相邻的节点，直到所有或间接相邻的节点都收到了]]></description><category></category></item><item><title><![CDATA[二分查找笔记]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/109255006</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/109255006</guid><author>Treeback</author><pubDate>Sat, 24 Oct 2020 11:49:20 +0800</pubDate><description><![CDATA[二分查找二分查找常规二分查找左侧边界的二分查找查找右侧边界的二分查找
二分查找
二分查找是一种针对有序线性表的高效查找算法，在查找序列有序时，我们使用顺序查找和使用线性查找在数据规模较大的时候会有比较大的效率差别，很多人觉得二分就是整个左右指针往中间怼，就能达成目的，但是二分的细节还是蛮多的。
常规二分
对于常规的二分查找，一般是在指定的有序队列（无序如果有二分的需求的话就先排个序）中查找目标值，这个是二分最简单，也是最多为人所知的用法。
下面我们来看一下二分查找的代码：
#include &lt;iost]]></description><category></category></item><item><title><![CDATA[临界区，互斥，竞争条件]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/106460897</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/106460897</guid><author>Treeback</author><pubDate>Sun, 31 May 2020 20:56:10 +0800</pubDate><description><![CDATA[临界区，互斥，竞争条件
公共资源
可以是公共内存、公共文件、公共硬件等，总之是被所有任务共享的一套资源。
临界区
程序要想使用某些资源，必然通过一些指令去访问这些资源，若多个任务都访问同一公共资源，那么各任务中访问公共资源的指令代码组成的区域就称为临界区。怕有同学看得不仔细，强调一下，临界区是指程序中那些访问公共资源的指令代码，即临界区是指令，并不是受访的静态公共资源。
互斥
互斥也可称为排他， 是指某一时刻公共资源只能被 1 个任务独享， 即不允许多个任务同时出现在自己的临界区中。公共资源在任意时刻只能被]]></description><category></category></item><item><title><![CDATA[实模式和保护模式]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/106414832</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/106414832</guid><author>Treeback</author><pubDate>Fri, 29 May 2020 12:02:42 +0800</pubDate><description><![CDATA[实模式和保护模式实模式保护模式
实模式
实模式是什么？
保护模式

]]></description><category></category></item><item><title><![CDATA[平坦模型和分段模型]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/106304268</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/106304268</guid><author>Treeback</author><pubDate>Sat, 23 May 2020 19:31:56 +0800</pubDate><description><![CDATA[平坦模型和分段模型
平坦模型是相对于多段模型而言的。
在多段模型之下，当计算机在实模式下访问超过64kb的内存区域时，需要重新指定段基址（在16位段寄存器的情况下），因为它只能在段基址的基础上寻址1MB的内存空间，只有从新指定段基址才能访问更多空间，一个程序肯定包括多个段，这样它就要花跟多功夫去寻址，访存。
而平坦模型之所以相对多段模型而存在，是因为它可以理解成至始至终只有一个段，它能直接访问内存空间，不用再进行段基址的变换。在保护模式下，32位环境下用一个段就能访问4GB的内存位置，所以它不用再分段，可以]]></description><category></category></item><item><title><![CDATA[汇编笔记三]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/105434524</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/105434524</guid><author>Treeback</author><pubDate>Fri, 10 Apr 2020 15:59:10 +0800</pubDate><description><![CDATA[第一个8086汇编程序实践浅析
实践
在前面，我们知道了一些汇编语言的基本知识，接下来我们将学习如何用伪指令来编写汇编程序
。
assume cs:codesg	#假设（预定义） 代码段基址

codesg segment		#代码段

	mov ax,0123H
	mov bx,0456H
	add ax,bx
	add ax,ax
	
	#使程序正常结束的相关例程
	mov ax,4c00H
...]]></description><category></category></item><item><title><![CDATA[MySQL基本指令]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/105023749</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/105023749</guid><author>Treeback</author><pubDate>Sun, 22 Mar 2020 11:24:00 +0800</pubDate><description><![CDATA[MySQL操作
使用命令行操作数据库


打开mysql：
mysql -u root -p	其后输入密码即可。


显示我们自己创建的数据库
show databases;


创建一个数据库
create database 数据库名 [character set utf8];	后面的参数为设置该数据库的字符集，可选。


删除一个数据库
drop database 要删掉的数据库名;


修改...]]></description><category></category></item><item><title><![CDATA[C++11多线程（5）]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/104898571</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/104898571</guid><author>Treeback</author><pubDate>Mon, 16 Mar 2020 15:10:59 +0800</pubDate><description><![CDATA[C++11多线程原子操作atomic过程浅析一般原子操作总结
原子操作
我们之前可以通过mutex(互斥量)来给线程加锁，达到我们保护数据和操作的完整性，现在我们还可以用原子操作来保证我们的数据和操作的完整性（当然，mutex锁更好用）。
atomic
atomic是一个类模板，在atomic头文件中，用来封装某个类型的值。
#include &lt;iostream&gt;
#include &...]]></description><category></category></item><item><title><![CDATA[C++11多线程（4）]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/104893416</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/104893416</guid><author>Treeback</author><pubDate>Mon, 16 Mar 2020 14:04:56 +0800</pubDate><description><![CDATA[C++11多线程线程返回值异步任务(async)参数跟thread的比较返回值获取实践futurepromise
线程返回值
在先前的实践中，我们认识到，我们使用thread去获取线程返回值是比较费劲的。
C++11中提供了两个模板future和promise来协助我们获取线程返回值。
在使用它们的时候应该包含头文件thread。
异步任务(async)
异步是什么？
“异步与同步处理相对，异步处...]]></description><category></category></item><item><title><![CDATA[C++11多线程（3）]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/104873735</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/104873735</guid><author>Treeback</author><pubDate>Sun, 15 Mar 2020 12:02:28 +0800</pubDate><description><![CDATA[C++11多线程条件变量条件变量的使用
条件变量
上一章我们介绍了如何用互斥量给线程加锁，达到保证数据，操作完整性的目的，这一章我们会介绍一个具有类似功能的类模板，条件变量。
条件变量std::condition_variable；
它一般被用来阻塞一个或同时阻塞多个线程，直到另一个线程去通知它，它才放弃阻塞。它一般会和互斥量一起使用。
条件变量的使用
#include &lt;iostream&...]]></description><category></category></item><item><title><![CDATA[c++11多线程（2）]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/104855781</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/104855781</guid><author>Treeback</author><pubDate>Sat, 14 Mar 2020 12:41:43 +0800</pubDate><description><![CDATA[C++11多线程互斥量互斥量的使用
互斥量
通过上一篇文章，我们已经知道了怎么创建一个线程。现在我们要解决一个问题，要是我们创建了两个线程，它们都操作同一个对象，它会导致两个线程同时对这个对象进行修改，我们希望我们在运行其中一个线程的时候，另一个线程被阻塞住，等到这个线程执行完，再让另一个线程再来执行，循环往复。
这就要用到一个东西：互斥量。互斥量是一个类对象，可以理解成一把进程锁，多个线程尝试使...]]></description><category></category></item><item><title><![CDATA[c++11多线程（1）]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/104837927</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/104837927</guid><author>Treeback</author><pubDate>Fri, 13 Mar 2020 13:50:43 +0800</pubDate><description><![CDATA[# C++11多线程C++11对多线程的支持进程和线程创建一个线程函数浅析注意
C++11对多线程的支持
c++11中新支持了thread这个库，常见的创建线程、join（）、detach（）都能支持。所以我们能写出跨平台的多线程程序了。
进程和线程
在我们运行一个程序的时候，像我们写的一个cpp控制台程序运行起来，它就是一个进程。计算机运行可以有多个进程，进程里面也可以有多个线程，我们最熟悉的一...]]></description><category></category></item><item><title><![CDATA[汇编笔记二]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/103229879</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/103229879</guid><author>Treeback</author><pubDate>Sun, 24 Nov 2019 23:11:53 +0800</pubDate><description><![CDATA[汇编笔记二
内存访问
关于计算机内存访问，不能不说到计算机的内存分段，分页（学了操作系统的小伙伴应该都知道）。计算机的内存寻址和访问都要通过段表和页表的转换，将逻辑地址转换成物理地址，再进行磁盘读写，它的一个重要的转换原则就是“段基址*16+偏移地址=目的地址”。
在计算机中，内存被分为四个区，代码区，数据区，堆区，栈区。各自的作用就不细说。在汇编语言中，区又可以被称为段，前面讲寄存器的时候讲到了...]]></description><category></category></item><item><title><![CDATA[汇编笔记一]]></title><link>https://blog.youkuaiyun.com/Treeback/article/details/103177927</link><guid>https://blog.youkuaiyun.com/Treeback/article/details/103177927</guid><author>Treeback</author><pubDate>Thu, 21 Nov 2019 11:51:43 +0800</pubDate><description><![CDATA[汇编笔记一汇编语言简介汇编语言的组成机器指令的执行cpu对数据的读写寄存器批注
汇编语言简介
汇编语言（assembly language）(面向机器的程序设计语言)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言，亦称为符号语言。在汇编语言中，用助记符代替机器指令的操作码，用地址符号或标号代替指令或操作数的地址。在不同的设备中，汇编语言对应着不同的机器语言指令集，通过汇编过程转...]]></description><category></category></item></channel></rss>