<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RookieWantToFly的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/RookieWantToFly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; RookieWantToFly]]></copyright><item><title><![CDATA[Matploblib work5]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122163854</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122163854</guid><author>RookieWantToFly</author><pubDate>Mon, 27 Dec 2021 00:47:31 +0800</pubDate><description><![CDATA[作业
1）查阅matplotlib官网，列举出Sequential，Diverging，Cyclic，Qualitative，Miscellaneous分别有哪些内置的colormap，并以代码绘图的形式展现出来
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import cm
from colorspacious import cspace_converter

cma]]></description><category></category></item><item><title><![CDATA[matplotlib -work4]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122132586</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122132586</guid><author>RookieWantToFly</author><pubDate>Fri, 24 Dec 2021 17:24:13 +0800</pubDate><description><![CDATA[作业
1.尝试在一张图中运用所讲过的功能，对title、text、xlable、ylabel、数学表达式、tick and ticklabel、legend进行详细的设计.
2.阅读你可能用到文献或者相关书籍，思考自己如何才能通过学过的例子将自己认为比较好看的图给复现出来.
#该block讲述如何在matplotlib里面，修改字体默认属性，完成全局字体的更改。
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimS]]></description><category></category></item><item><title><![CDATA[Matplotlib作业3]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122074938</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122074938</guid><author>RookieWantToFly</author><pubDate>Tue, 21 Dec 2021 22:31:48 +0800</pubDate><description><![CDATA[作业
1. 墨尔本1981年至1990年的每月温度情况

请利用数据，画出如下的图：


# 数据导入代码
# 导入包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.rcParams['font.sans-serif'] = ['SimHei']  #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号

ex1 = pd.re]]></description><category></category></item><item><title><![CDATA[Matplotlib作业2]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122032344</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/122032344</guid><author>RookieWantToFly</author><pubDate>Sun, 19 Dec 2021 23:36:21 +0800</pubDate><description><![CDATA[思考题

primitives 和 container的区别和联系是什么？


primitives基本元素是容器中包含的元素，container是容器用来盛放primitives基本元素。


primitives中包含要绘制的基本元素：曲线、矩阵、图像、多边形、集合等；


container中包含了很多primitives基本元素，但同时也有自己的属性，是绘制的基础框架


四个容器的联系和区别是么？他们分别控制一张图表的哪些要素？


四个对象容器分别为Figure容器，Axes容器，Axis容器，]]></description><category></category></item><item><title><![CDATA[经典最优滤波器（概述）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/121983332</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/121983332</guid><author>RookieWantToFly</author><pubDate>Thu, 16 Dec 2021 20:34:16 +0800</pubDate><description><![CDATA[《麦克风阵列信号处理》]]></description><category></category></item><item><title><![CDATA[Matplotlib作业一]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/121920814</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/121920814</guid><author>RookieWantToFly</author><pubDate>Tue, 14 Dec 2021 10:35:54 +0800</pubDate><description><![CDATA[import matplotlib.pyplot as plt
import numpy as np
fig,ax = plt.subplots() # 包含axes的figure
ax.plot([1,2,3,4],[1,4,3,2])


matplotlib.pyplot可以直接在当前axes上绘制图像，如果用户未指定axes，matplotlib会自动创建一个
plt.plot([1,2,3,4],[1,4,3,2])

在matplotlib中，图像是由不同元素组成的，通常图像是一个包含四个层次的]]></description><category></category></item><item><title><![CDATA[ubantu安装cuda和cudnn]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120925650</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120925650</guid><author>RookieWantToFly</author><pubDate>Sun, 24 Oct 2021 14:53:20 +0800</pubDate><description><![CDATA[文章目录1. 安装nvidia驱动；2. 安装cuda;3.安装cudnn
首先，保证有一个显卡，并且工作正常，狗头。
1. 安装nvidia驱动；
执行下面命令，系统会告诉你，需要什么驱动;

ubuntu-drivers devices
执行下面命令，安装系统推荐驱动；
sudo ubuntu-drivers autoinstall

安装完成后，执行命令：

nvidia-smi

查看显卡的工作情况；
2. 安装cuda;
选择适合的cuda版本，这点往往是由你要执行的任务决定的。
下载连接：
ht]]></description><category></category></item><item><title><![CDATA[signal和sigaction的区别]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120766123</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120766123</guid><author>RookieWantToFly</author><pubDate>Thu, 14 Oct 2021 15:58:44 +0800</pubDate><description><![CDATA[如果需要用相同的方式处理信号的多次出现，建议使用sigaction函数；若可以保证信号长时间内只出现并只需要处理一次，则可以使用signal函数；

参考链接：https://blog.youkuaiyun.com/qq_15437667/article/details/73824717
具体可以看上面的参考链接；
注意：signal函数，只能生效一次；sigaction函数设置后一直有效；

...]]></description><category></category></item><item><title><![CDATA[捕捉ctrl+c信号，并进行操作（C++实现）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120764265</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120764265</guid><author>RookieWantToFly</author><pubDate>Thu, 14 Oct 2021 14:57:41 +0800</pubDate><description><![CDATA[使用sigaction函数，绑定信号处理器函数

#include &lt;stdio.h&gt;
#include &lt;signal.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;stdint.h&gt;
void exit_handler(int signo);
uint8_t InitSystem(){
    printf("initSyst.]]></description><category></category></item><item><title><![CDATA[获得Local IP Address (C++实现)]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120758357</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/120758357</guid><author>RookieWantToFly</author><pubDate>Thu, 14 Oct 2021 10:16:57 +0800</pubDate><description><![CDATA[步骤：获得主机名（gethostname) - - - 通过主机名返回IP地址（gethostbyname）,返回的是一个结构体，使用inet_ntop将网络字节序转为点分10进制；

#include &lt;iostream&gt;
#include &lt;netdb.h&gt;
#include &lt;unistd.h&gt;
#include &lt;arpa/inet.h&gt;


int GetLocalIPNew(char *ipaddr) {
    char hostname[10.]]></description><category></category></item><item><title><![CDATA[ReentrantLock 公平锁和非公平锁加锁和解锁源码分析（简述）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119746166</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119746166</guid><author>RookieWantToFly</author><pubDate>Tue, 17 Aug 2021 01:37:33 +0800</pubDate><description><![CDATA[- title: ReentrantLock 公平锁和非公平锁加锁和解锁源码分析（简述）
- date: 2021/8/16

文章目录一、ReentrantLock1. 构造函数二、ReentrantLock 公平锁的加锁(lock)过程1.1 调用ReentrantLock中的lock1.2 调用Sync中的抽象方法lock，具体实现由子类完成，这里是非公平锁1.3 调用NonfairSync中的 lock;1.3.1 acquire 方法：1.3.1.1 tryAcquire1.3.1.2 acqui]]></description><category></category></item><item><title><![CDATA[乐观锁 VS 悲观锁（简述）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119716766</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119716766</guid><author>RookieWantToFly</author><pubDate>Sun, 15 Aug 2021 17:33:00 +0800</pubDate><description><![CDATA[- title: 乐观锁 VS 悲观锁
- date: 2021/8/15

文章目录1. 乐观锁 vs 悲观锁
1. 乐观锁 vs 悲观锁
乐观锁与悲观锁是一种广义上的概念，体现了看待线程同步的不同角度。在Java和数据库中都有对此概念对应的实际应用；
悲观锁：对于同一个数据的并发操作，悲观锁认为自己在使用数据的时候一定有别的线程来修改数据，因此无论共享的数据是否会出现竞争，它都会进行加锁（这里讨论的是概念模型，实际上虚拟机会优化掉很大一部分不必要的加锁（锁消除））。Java中，synchronized关]]></description><category></category></item><item><title><![CDATA[Java中CAS（Compare And Swap，比较和交换）算法的技术原理简述]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119709035</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119709035</guid><author>RookieWantToFly</author><pubDate>Sun, 15 Aug 2021 02:43:50 +0800</pubDate><description><![CDATA[- title: Java中CAS（Compare And Swap，比较和交换）算法的技术原理简述
- date: 2021/8/14

文章目录
CAS全称 Compare And Swap，是一种无锁算法。在不使用锁（没有线程被阻塞）的情况下实现多线程之间的变量同步。java.util.concurrent包中的原子类就是通过CAS来实现了乐观锁。

这里简要提一下乐观并发策略。
实现线程安全的方法主要有三大手段：阻塞同步（也叫互斥同步），非阻塞同步（基于冲突检测的乐观并发策略）以及无同步方案；

从]]></description><category></category></item><item><title><![CDATA[减少上下文切换和避免死锁简述]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119678865</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119678865</guid><author>RookieWantToFly</author><pubDate>Fri, 13 Aug 2021 16:36:19 +0800</pubDate><description><![CDATA[title: 减少上下文切换和避免死锁简述
date: 2021/8/13

线程有创建和上下文切换的开销；


如何减少上下文切换？


无锁并发编程。多线程竞争锁时，会引起上下文切换，所以多线程切换数据时，可以用一些办法来避免使用锁，如将数据的ID按照Hash算法取模分段，不同的线程处理不同段的数据。
CAS算法。Java的Atomic包使用CAS算法来更新数据，而不需要加锁。
使用最小线程。避免创建不需要的线程，比如任务很少，但是创建了很多线程来处理，这样会造成大量线程都处于等待状态。
协程。在单线程]]></description><category></category></item><item><title><![CDATA[Java-网络编程总结（转载）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119614304</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/119614304</guid><author>RookieWantToFly</author><pubDate>Wed, 11 Aug 2021 19:16:13 +0800</pubDate><description><![CDATA[文章目录1.  概述2. 网络分层2.1 网络体系结构2.1.1 OSI参考模型2.1.2 TCP/IP参考模型2.2 网络协议2.2.1 IP协议（Internet protocol）2.2.2 TCP协议（Transmission Control Protocol）2.2.2.1 TCP的报文格式2.2.2.2 三次握手与四次挥手2.2.3 UDP协议（User Datagram Protocol）2.2.3.1 UDP协议格式2.2.3.2 TCP与UDP的区别2.2.4 HTTP协议（Hyperte]]></description><category></category></item><item><title><![CDATA[滑动窗口1——无重复字符的最长字串]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118694335</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118694335</guid><author>RookieWantToFly</author><pubDate>Tue, 13 Jul 2021 10:49:22 +0800</pubDate><description><![CDATA[滑动窗口本质是一个队列，输入进入这个窗口（队列），当不满足条件时，移动这个队列；
如何移动，只需要将左边的元素移除即可，直到满足条件。
import java.util.HashSet;
import java.util.Set;

public class Solution {
    public int lengthOfLongestSubstring(String s){
        //哈希集合，记录每个字符是否出现过
        Set&lt;Character&gt; occ = n.]]></description><category></category></item><item><title><![CDATA[Java线程中断的理解（转载）]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118613020</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118613020</guid><author>RookieWantToFly</author><pubDate>Fri, 09 Jul 2021 18:59:02 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/qq_41512783/article/details/108943193?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-4&amp;spm=1001.2101.3001.4242

]]></description><category></category></item><item><title><![CDATA[图解红黑树和JAVA实现]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118546270</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118546270</guid><author>RookieWantToFly</author><pubDate>Wed, 07 Jul 2021 18:49:56 +0800</pubDate><description><![CDATA[文章目录一、红黑树的性质二、红黑树的操作1. 理解两个基本操作（左旋和右旋）
一、红黑树的性质
红黑树是AVL树的一个变种。对红黑树的操作在最坏情形下花费O(logN)O(log N)O(logN)时间。
红黑树是具有下列着色性质的二叉查找树：

每一个结点或者为黑色，或者为红色；
根是黑色的；
每个叶结点（NIL）是黑色的；
如果一个结点是红色的，那么它的两个子结点必须是黑色的；
对每个结点，从该结点到其所有后代叶结点的简单路径上，均包含相同数目的黑色结点。

黑高（black-height）: 从某个结]]></description><category></category></item><item><title><![CDATA[System.arraycopy和Arrays.copyOf的关系]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118381238</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118381238</guid><author>RookieWantToFly</author><pubDate>Thu, 01 Jul 2021 10:41:52 +0800</pubDate><description><![CDATA[参考连接：

https://www.cnblogs.com/happyxiaoyu/p/5786971.html
https://blog.youkuaiyun.com/expect521/article/details/79139829


]]></description><category></category></item><item><title><![CDATA[计算机网络体系结构与参考模型]]></title><link>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118282486</link><guid>https://blog.youkuaiyun.com/RookieWantToFly/article/details/118282486</guid><author>RookieWantToFly</author><pubDate>Mon, 28 Jun 2021 00:13:53 +0800</pubDate><description><![CDATA[文章目录1、计算机网络分层结构2、计算机网络协议、接口、服务的概念3、ISO/OSI参考模型和TCP/IP模型
1、计算机网络分层结构

计算机网络的各层及其协议的集合称为网络的体系结构(Arichitecture)；


这些功能是用何种硬件或软件完成的，则是一个遵循这种体系结构的实现(Implementation)

2、计算机网络协议、接口、服务的概念

网络协议(Network Protocol)：为进行网络中的数据交换而建立的规则、标准或约定，它是控制两个（或多个）对等实体进行通信的规则的集合，是]]></description><category></category></item></channel></rss>