<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[凭澜偏偏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yliyp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yliyp]]></copyright><item><title><![CDATA[快速排序手写演示]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/122089757</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/122089757</guid><author>yliyp</author><pubDate>Wed, 22 Dec 2021 16:49:09 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[假定某计算机的CPU主频为80 MHz，CPI为4，并且平均每条指令访存1.5]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/121550164</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/121550164</guid><author>yliyp</author><pubDate>Fri, 26 Nov 2021 00:03:10 +0800</pubDate><description><![CDATA[假定某计算机的CPU主频为80 MHz，CPI为4，并且平均每条指令访存1.5次，主存与Cache之间交换的块大小为16
B，Cache的命中率为99%，存储器总线宽度为32位。请回答下列问题。
(1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下，主存带宽至少达到多少才能满足CPU的访存要求?
分析：计算机的MIPS，也就是一秒执行了多少百万条指令；
CPU主频为80MHz：也就是1s有80M个时钟周期；
CPI：也就是一条指令要4个时钟周期；
所以80M个时钟]]></description><category></category></item><item><title><![CDATA[关于Cache的一点点小结]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/120374337</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/120374337</guid><author>yliyp</author><pubDate>Sun, 19 Sep 2021 20:24:12 +0800</pubDate><description><![CDATA[为什么引入Cache？
因为IO设备向主存请求的级别高于cpu，会出现cpu等待IO访问cpu的情况，进而导致cpu使用效率的降低。解决主存和cpu速度不匹配的问题。
Cache依赖的原理？
时间局部性：近期要访问的数据很可能是现在要访问的数据，因为有循环。
空间局部性：近期要访问数据的所在地址，很可能就是现在访问数据地址的附近。
Cache和主存的映射方式
cache里面的数据实际上就是主存数据的一份复制。那么主存的数据该怎么放进cache中，引出映射的不同方式。而为存入cache里面的块为了与主存的块保]]></description><category></category></item><item><title><![CDATA[连续分配管理方式]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119653479</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119653479</guid><author>yliyp</author><pubDate>Thu, 12 Aug 2021 21:23:26 +0800</pubDate><description><![CDATA[一、单一连续分配方式
这种分配方式下，内存被分成系统区和用户区。内存中只能有一道用户程序，用户程序独占整个用户空间
优点：实现简单，没有外部碎片（因为每次就给一个程序分配空间，当他运行完成，把空间释放，又还是一个完整的没有被分配的空间）。不一定需要内存保护（因为只有一个程序，不存在有其他程序越界访问的情况）

外部碎片：指的是内存剩下一些没有被分配的空间太小，有非常多的小的内存块

缺点：只能用于单用户有内部碎片，存储空间的利用率很低（因为每次就一个程序在里面运行，会导致分配给他的空间有很多一部分他根本就用]]></description><category></category></item><item><title><![CDATA[装入的三种方式]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119652191</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119652191</guid><author>yliyp</author><pubDate>Thu, 12 Aug 2021 20:18:15 +0800</pubDate><description><![CDATA[1、绝对装入


如果知道程序将会放在内存的具体位置，就在编译的时候生成程序的物理地址。之后装入程序就会按照装入模块里面已经生成的物理地址放进内存进行运行。

只适用于单道程序的运行环境（单道批那时候没有操作系统，所以就是编译程序来干转换地址的事情）


2、可重定位装入（静态重定位）


在多道程序的运行环境下，我们并不能预知当程序并发执行的时候会放在内存的哪个地方。

多个目标模块的起始地址通常都从0开始，其他的地址则是相对于0的相对地址。

在装入的时候对程序里面的一些指令和数据进行修改的过程叫做重定]]></description><category></category></item><item><title><![CDATA[生产者-消费者问题（2）]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119493410</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119493410</guid><author>yliyp</author><pubDate>Sat, 07 Aug 2021 22:00:04 +0800</pubDate><description><![CDATA[问题描述：

桌上一盘子，盘子只放的下一个水果。爸爸放苹果，妈妈放橘子。儿子专等橘子吃，女儿专等苹果吃。盘子空时，爸爸妈妈才可以放一个水果。爸爸妈妈放了以后，儿子女儿才能拿自己需要的水果。


分析：

1、桌上有一个盘子，大家要进行互斥访问，不可以同时访问盘子（互斥关系）

2、爸爸妈妈放了水果以后，子女才可拿（同步关系）

3、子女拿走了，爸妈才可以接着放水果（同步）



具体实现：

1、设置互斥信号量，用于表示盘子plate=1；

2、设置apple，表示放了苹果，初始值为0

3、设置ora.]]></description><category></category></item><item><title><![CDATA[生产者-消费者问题（1）]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119493045</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119493045</guid><author>yliyp</author><pubDate>Sat, 07 Aug 2021 21:43:05 +0800</pubDate><description><![CDATA[问题描述：

一组生产者进程和一组消费者进程共享一个初始为空，大小为N的缓冲区。

当缓冲区没满的时候，生产者可以向里面放产品，否则必须等待。

当缓冲区满了的时候，消费者可以从里面买产品，否则要进行等待


分析：

1、缓冲区，临界资源，一次只可以一个进程对他进行访问（互斥关系）

2、生产者生产了以后，消费者才可以进去缓冲区（同步关系）

3、消费者买完了东西，有了多余的缓冲空间以后，生产者才能接着生产（同步关系）

具体实现：

1、设置信号量，metux用于互斥信号量，控制消费者和生产者互斥的访.]]></description><category></category></item><item><title><![CDATA[信号量机制]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119492145</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119492145</guid><author>yliyp</author><pubDate>Sat, 07 Aug 2021 21:14:40 +0800</pubDate><description><![CDATA[为什么要引进信号量机制？

用于解决互斥和同步的问题


同步：

直接制约关系，指的是为了完成某种合作的任务，这些进程需要调整他们的完成次序。让进程一前一后的进行

互斥：

间接制约关系，没有合作。当一个ji


只能使用两个标准的原语来访问：P，V操作（wait（），signal（））


原语：

指完成某种指令不被分割和中断操作的指令序列，通常可以通过硬件来完成。

为什么不能被中断？

因为原语对变量的操作如果发生了中断，便有可能去运行另外一个对本变量的操作，会出现临界段的问题。


信号量机制]]></description><category></category></item><item><title><![CDATA[某系统采用基于优先权的非抢占式进程调度策略，完成一次进程调度和进程切换的系统时间开销为 1μs。]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/119394536</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/119394536</guid><author>yliyp</author><pubDate>Thu, 05 Aug 2021 09:22:09 +0800</pubDate><description><![CDATA[某系统采用基于优先权的非抢占式进程调度策略，完成一次进程调度和进程切换的系统时间开销为 1μs。在 T 时刻就绪队列中有 3 个进程 P1、P2 和 P3，其在就绪队列中的等待时间、需要的 CPU 时间和优先权，如下表所示若优先权值大的进程优先获得 CPU，从 T 时刻起系统开始进程调度， 则系统的平均周转时间
为
A. 54 μs
B. 73 μs
C. 74 μs
D. 75 μs

审题：题目中，在T时刻已经到达三个进程，基于非抢占式优先权的调度方法，由此可知调度顺序：P2--&gt;P3--&gt.]]></description><category></category></item><item><title><![CDATA[python-深拷贝和浅拷贝]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106727600</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106727600</guid><author>yliyp</author><pubDate>Sat, 13 Jun 2020 08:51:38 +0800</pubDate><description><![CDATA[浅拷贝：只会copy一层。
list = ["1"]
sourcelist = ["2",list]
copylist = copy.copy(sourcelist)

当改变list时，sourcelist和copylist会发生变化，因为在他们两之间，还是使用了原来list的内存空间。所以当原来内存的赋值发生改变时，自然而然copy的也会改变
深拷贝：会开辟独立的新的内存空间
list = ["1"]
sourcelist = ["2",list]
copylist = copy.copy(source]]></description><category></category></item><item><title><![CDATA[JTable获取选中行]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106453343</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106453343</guid><author>yliyp</author><pubDate>Sun, 31 May 2020 11:50:14 +0800</pubDate><description><![CDATA[bookTable.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent mouseEvent) {
                flag = bookTable.getSelectedRow();/*判断哪一行被选中了,如果没有选中，返回值为-1*/
                //此行数即为二维数组的行
              .]]></description><category></category></item><item><title><![CDATA[java.lang.NullPointerException]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106453296</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106453296</guid><author>yliyp</author><pubDate>Sun, 31 May 2020 11:45:17 +0800</pubDate><description><![CDATA[首先我类里只有一个变量，起初我在findall里面使用了setContent进行了赋值，是的，太久没敲java代码的问题…自罚好多杯酒/(ㄒoㄒ)/~~。其实这样是没有对成员Content赋值到的…因为是局部变量…
然后在这个函数里面，我直接使用了Content对象，导致了空指针异常。刚开始我是以为上面的做法成功的修改了成员变量的值，然而没有，所以出现了报错。
所以这个地方也使用了Content变量，也就报错了。
Exception in thread "AWT-EventQueue-0" java.lan]]></description><category></category></item><item><title><![CDATA[Java弹出消息提示框]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106451242</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106451242</guid><author>yliyp</author><pubDate>Sun, 31 May 2020 09:22:26 +0800</pubDate><description><![CDATA[1、简单的
JOptionPane.showMessageDialog(null, "消息提示");


2、内容多一点的，有个错误图片的
JOptionPane.showMessageDialog(null, "lala！", "错误点击",JOptionPane.WARNING_MESSAGE);



]]></description><category></category></item><item><title><![CDATA[java获取数据库一个属性的所有值]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106442733</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106442733</guid><author>yliyp</author><pubDate>Sat, 30 May 2020 16:04:34 +0800</pubDate><description><![CDATA[/**
     * @use 获取某一个属性的所有值
     * @return ArrayList
     */
    public ArrayList&lt;String&gt; getBookType(){
        ArrayList&lt;String&gt; BookType = null;
        Connection con = null;
        Statement stmt = null;
        try {
            Class.f.]]></description><category></category></item><item><title><![CDATA[Java获取MYSQL表的列名]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106442701</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106442701</guid><author>yliyp</author><pubDate>Sat, 30 May 2020 16:02:55 +0800</pubDate><description><![CDATA[/**
     * @use 获取某张表的列名
     * @return ArrayList
     */
    public ArrayList&lt;String&gt; getColumnNames(){
        ArrayList&lt;String&gt; tableNames = null;
        Connection con = null;
        Statement stmt = null;
        try {
            Clas..]]></description><category></category></item><item><title><![CDATA[JTable不显示/没有列名]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106441820</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106441820</guid><author>yliyp</author><pubDate>Sat, 30 May 2020 15:24:53 +0800</pubDate><description><![CDATA[源错误代码


  Container indexC = index.getContentPane();
  JTable bookTable = new JTable(result,getColumnName.toArray());
  indexC.add(bookTable);

这样没有显示JTable，因为我前面用了setLayOut(null).所以这时候应该先加上↓
 bookTable.setBounds(300,800,700,500);

加上之后显示了但是没有列名，所以我开始百度。百.]]></description><category></category></item><item><title><![CDATA[package java.sql is not accessible]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106422059</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106422059</guid><author>yliyp</author><pubDate>Fri, 29 May 2020 11:30:14 +0800</pubDate><description><![CDATA[在module.java文件添加语句require java.desktop
删掉module文件


]]></description><category></category></item><item><title><![CDATA[下载mysql5.5最后不能全打勾]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/106418711</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/106418711</guid><author>yliyp</author><pubDate>Fri, 29 May 2020 09:57:43 +0800</pubDate><description><![CDATA[前面都很顺利，最后一步不给我打勾，就挺绝望的。百度了很多，最后还是给我解决了。

起初百度上都说删除注册表没有用所以我尝试了下面的方法
没奏效的方法一：
起初我更改了MySQL配置过程中默认选择的名字，（没有删除注册表）但是这样没有用。依然不打勾
没奏效方法二：
我在这里选择了取消勾选。
百度上说是因为win10和mysql5.5会有兼容性问题，所以在这里我先去把下面这个设置改了。
打开安装目录\MySQL\MySQL Server 5.5\bin找到MySQLInstanceConfig.exe 右键单击]]></description><category></category></item><item><title><![CDATA[vue-symbol]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/102505277</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/102505277</guid><author>yliyp</author><pubDate>Fri, 11 Oct 2019 17:23:42 +0800</pubDate><description><![CDATA[新增的Symbol类型，可以解决命名重名的问题
多用于设置对象属性上
const obj={};
obj[Symbol('name')]='li';
obj[Symbol('name')]='lo';
console.log(obj);//Symbol('name'):li,Symbol('name'):lo


const obj2={};
obj.name='loo';
obj.name='p...]]></description><category></category></item><item><title><![CDATA[vue-map/set（ES6）]]></title><link>https://blog.youkuaiyun.com/yliyp/article/details/102504257</link><guid>https://blog.youkuaiyun.com/yliyp/article/details/102504257</guid><author>yliyp</author><pubDate>Fri, 11 Oct 2019 16:52:45 +0800</pubDate><description><![CDATA[Set
1、类似于数组，键和值都是一样的
2、不允许有重复的元素出现
//1、 创建一个set集合
let set = new Set(["zhuangsan","lisi","wangwu"]);
console.log(set);

//2、一个属性 size
console.log(set.size);

//3、四个方法

//3.1 add
set.add("liudehua").add...]]></description><category></category></item></channel></rss>