<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JACK_JYH的博客]]></title><description><![CDATA[努力，也是一种天赋]]></description><link>https://blog.youkuaiyun.com/JACK_JYH</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JACK_JYH]]></copyright><item><title><![CDATA[操作系统-文件管理（参考王道）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/82109296</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/82109296</guid><author>JACK_JYH</author><pubDate>Mon, 27 Aug 2018 12:18:52 +0800</pubDate><description><![CDATA[文件的概念

在系统运行时，计算机以进程为基本单位进行资源的调度和分配，而在用户进行的输入输出汇总，则以文件为基本单位。

自底向上定义

数据项：

文件中最低级数据组织形式。

基本数据项：用于表述一个对象的某种属性的一个值，是数据中可命名的最小逻辑数据单位，即院子数据。

组合数据项：由多个基本数据项组成。

记录：

是一组相关数据项的集合。

文件：

是以计算机硬盘为载体存储在计算机上...]]></description><category></category></item><item><title><![CDATA[操作系统-虚拟内存管理（参考王道）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/82051015</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/82051015</guid><author>JACK_JYH</author><pubDate>Sat, 25 Aug 2018 15:11:18 +0800</pubDate><description><![CDATA[1.传统存储管理方式的特征

页式段式等各种内存管理策略是为了将多个进程保存在内存中以便允许多道程序设计，它们都具有以下两个共同的特征：

一次性：

作业必须一次性全部被装入内存后，方能开始运行。

（1）当作业很大时，将使该作业无法运行。

（2）当大量作业要求运行时，由于内存不足以容纳所有内存，只能使少数作业先运行，导致多道程序度的下降。

驻留性：

作业被装入内存后，就一直驻留在内存中，...]]></description><category></category></item><item><title><![CDATA[操作系统-内存管理（面试提纲）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81989739</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81989739</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 23:16:11 +0800</pubDate><description><![CDATA[1.为什么要进行内存管理？]]></description><category></category></item><item><title><![CDATA[操作系统-内存管理（参考王道）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81987361</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81987361</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 23:16:07 +0800</pubDate><description><![CDATA[内存管理的功能

1.内存空间的分配与回收：由操作系统完成主存储器空间的分配和管理，使程序员摆脱存储分配麻烦，提高编程效率。

2.地址转换：在多道程序环境下，程序中的逻辑地址与内存中的物理地址不可能一致，因此存储管理器必须提供地址变换功能，把逻辑地址转换成相应的物理地址。

3.内存空间的扩充：利用虚拟存储技术或者自动覆盖技术，从逻辑上扩充内存。

4.存储保护：保证各道作业在各自的存储空间内运...]]></description><category></category></item><item><title><![CDATA[操纵系统-概述（参考王道）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81983076</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81983076</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 19:57:22 +0800</pubDate><description><![CDATA[操作系统特征：

1.并发（最基本）

2.共享（最基本）

3.虚拟

4.异步

用户可以通过两种方式来使用计算机

1.命令接口

2.系统调用

 

引入多道程序设计后，程序的执行就失去了封闭性和顺序性。顺序性是单道程序基本特征。

 

库函数与系统调用的区别和联系？

库函数是语言或应用的一部分，可以运行在用户空间中，而系统调用是操作系统的一部分，是内核提供给用户程序接口，运行在内核...]]></description><category></category></item><item><title><![CDATA[操纵系统-概述（面试提纲）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81984356</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81984356</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 19:57:10 +0800</pubDate><description><![CDATA[1并发和并行有什么区别？

2.共享有几种方式？（2个）

3.说明库函数与系统调用的区别和联系？

4.处理器为什么要区分核心态和用户态两种操作方式？在什么情况下进行两种方式的切换？

 ...]]></description><category></category></item><item><title><![CDATA[操作系统-进程（面试提纲）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81980588</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81980588</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 14:55:22 +0800</pubDate><description><![CDATA[进程与线程篇？

1.PCB的作用？

2.进程有哪几种状态？（5个）

3.进程通信有哪几种方式？分别介绍一下（3个）

4.有了进程后为什么还要引入线程，线程有哪些优点？

进程调度算法篇

0.从调度层次来看调度分为作业调度（高级调度），内存调度（中级调度），进程调度（低级调度），分别说说它们的作用和按频率给它们从高到底排序？

1.进程调度方式？（2个）

2.进程调度算法有哪些（6个）？...]]></description><category></category></item><item><title><![CDATA[死锁（参考王道）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81974588</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81974588</guid><author>JACK_JYH</author><pubDate>Thu, 23 Aug 2018 11:14:18 +0800</pubDate><description><![CDATA[可剥夺资源：是指某进程在获得这类资源后，该资源可以再被其他进程或系统剥夺。例如，优先权高的进程可以剥夺优先权低的进程的处理机。又如，内存区可由存储器管理程序，把一个进程从一个存储区移到另一个存储区，此即剥夺了该进程原来占有的存储区，甚至可将一进程从内存调到外存上，可见，CPU和主存均属于可剥夺性资源

不可剥夺资源：当系统把这类资源分配给某进程后，再不能强行收回，只能在进程用完后自行释放，如磁带机...]]></description><category></category></item><item><title><![CDATA[操作系统（2.3进程同步）本章最后结合记录型信号量的使用方法和例题进行了详细讲解。]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81783999</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81783999</guid><author>JACK_JYH</author><pubDate>Fri, 17 Aug 2018 22:55:52 +0800</pubDate><description><![CDATA[最近在准备推免的面试把王道的进程这一章拿出来做了一下，收获挺多的，写个文章总结下

 2.3进程同步



访问临界资源过程

do{

entry section;//进入区 设置访问临界区标志

critical section;//临界区 访问临界资源

exit section;//退出区 将访问临界区标志清除

remainder section;//剩余区 

}while(true)...]]></description><category></category></item><item><title><![CDATA[孩子表示法（c++）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81316473</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81316473</guid><author>JACK_JYH</author><pubDate>Tue, 31 Jul 2018 16:52:41 +0800</pubDate><description><![CDATA[
#include&amp;lt;iostream&amp;gt;
#include&amp;lt;string&amp;gt;
#include&amp;lt;algorithm&amp;gt;
#include&amp;lt;vector&amp;gt;
#include&amp;lt;queue&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;cstdio&amp;gt;
#include&amp;lt;string.h&amp;gt;]]></description><category></category></item><item><title><![CDATA[排序算法实现]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81261256</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81261256</guid><author>JACK_JYH</author><pubDate>Sat, 28 Jul 2018 15:10:43 +0800</pubDate><description><![CDATA[
#include&amp;lt;iostream&amp;gt;
#include&amp;lt;string&amp;gt;
#include&amp;lt;algorithm&amp;gt;
#include&amp;lt;vector&amp;gt;
#include&amp;lt;queue&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;cstdio&amp;gt;
#include&amp;lt;string.h&amp;gt;]]></description><category></category></item><item><title><![CDATA[华东师范“高可信”夏令营 总结（2333 2019的学弟学妹们我知道你们需要这个）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/81070184</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/81070184</guid><author>JACK_JYH</author><pubDate>Mon, 16 Jul 2018 20:25:19 +0800</pubDate><description><![CDATA[首先感谢这个前辈的经历贴https://www.cnblogs.com/B704-6/p/7150123.html

虽然几年和去年有些不样（那个对华师和安大有兴趣的漂亮学妹可以联系我）

首先是华师今年四月16号左右出来的，https://yjszs.ecnu.edu.cn/system/yjszsxx_detail.asp?id=201804162015007515461610667

650...]]></description><category></category></item><item><title><![CDATA[leetcode 买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862962</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862962</guid><author>JACK_JYH</author><pubDate>Sat, 30 Jun 2018 07:14:37 +0800</pubDate><description><![CDATA[刚开始像试试暴力能不能过class Solution {
public:
    int maxProfit(vector&amp;lt;int&amp;gt;&amp;amp; prices) {
        if(prices.size()==1||prices.size()==0)
            return 0;
        int max=0;
        for(int i=0;i&amp;lt...]]></description><category></category></item><item><title><![CDATA[leetcode 爬楼梯]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862858</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862858</guid><author>JACK_JYH</author><pubDate>Fri, 29 Jun 2018 23:22:46 +0800</pubDate><description><![CDATA[这题有点坑没给范围，我取得10万，然后超级简单，因为每一步有多少个完全取决于他前面一阶的和前面两阶的，因此初始化p[0]=1,p[1]=1 ，然后根据p[n]=p[n-1]+p[n-2]递推即可，代码如下class Solution {
public:
    int climbStairs(int n) {
   int p[100000];
        p[0]=1;
        p[...]]></description><category></category></item><item><title><![CDATA[lectcode 26. 删除排序数组中的重复项]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862738</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80862738</guid><author>JACK_JYH</author><pubDate>Fri, 29 Jun 2018 23:11:56 +0800</pubDate><description><![CDATA[这题我开始的思路是如果和后面的相同就删除后面的，不相同则往后进一个，但我忽视了一个问题，题目需要的是原地删除，我这样则相当于每次都需要把后面的复制到前面来，这样复杂度就高了。左思右想了很久不知道怎么写，最后参考网上大佬的思路才做出来的，（自己之前一直是从0开始判断num[i]与num[i-1],大佬是从1开始判断num[i]与num[i-1]，像大佬这样要单独判断数组为0q情况，我那个则需要单独判...]]></description><category></category></item><item><title><![CDATA[Adapter适配器模式（参考《java与设计模式》]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80572472</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80572472</guid><author>JACK_JYH</author><pubDate>Mon, 04 Jun 2018 22:37:18 +0800</pubDate><description><![CDATA[为什么要有适配器模式？系统在初期规划时设计了一个Target类，然后第三方提供了一个实现与Target功能的Adaptee类，但此时Target因为与系统其他部分都有联系，Adaptee已经设计好了，两者可能都不可修改了，此时为了调用Adaptee这一目的就需要通过一个Adapter来作为一个中介帮助。因为Adapter是Target的子类或者继承了他的接口，根据里氏代换原则，只需在如何实现适配器...]]></description><category></category></item><item><title><![CDATA[观察者模式（参考《java与设计模式》]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80556644</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80556644</guid><author>JACK_JYH</author><pubDate>Sun, 03 Jun 2018 20:28:14 +0800</pubDate><description><![CDATA[为什么要有观察者模式？软件系统中，在某些场景中需要实现一个对象状态发生变化时，与之相关的对象也需要对应的发生改变。观察者模式如何实现简单来说通过就是一个Subject类通过一个能够存储多个Observer类的容器来保存对，这些类的应用，当Subject类状态发生改变时，通知保存应用的Observer调用自身的更新方法。因为Observer在实际应用中不可能是同一个类因此需要定义一个Observer...]]></description><category></category></item><item><title><![CDATA[Template 模板方法设计模式（参考《java与设计模式》）]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/80551057</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/80551057</guid><author>JACK_JYH</author><pubDate>Sat, 02 Jun 2018 22:14:41 +0800</pubDate><description><![CDATA[在java的各种个样设计模式中，大部分都通过委派来实现，尽量避免继承，因为继承会破坏封装，及时用继承，也是接口继承，类继承很少见，但是模板方法却是为数不多使用继承类的。为什么要有模板方法？顶层设计人员可以更加专注于整体架构的设计，而将具体子类实现交由程序员来完成。子类可以置换掉父类的可变部分，但是子类却不可以改变模板方法的顶层逻辑。模板方法如何实现？简单的说就是一个AbstractClass 在一...]]></description><category></category></item><item><title><![CDATA[Java 反射详解]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/62037192</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/62037192</guid><author>JACK_JYH</author><pubDate>Tue, 14 Mar 2017 10:28:07 +0800</pubDate><description><![CDATA[在java.lang.reflect包中有三个类 


java.lang.reflect中的三个类


Field 
描述域


Method 
描述方法


Constructor 
描述构造器






三个类都有getName方法，Filed类还有一个getType方法,具体使用如下
输入完整路径比如我的 输入jyh.A
package j]]></description><category></category></item><item><title><![CDATA[java 参数可变的方法]]></title><link>https://blog.youkuaiyun.com/JACK_JYH/article/details/61934269</link><guid>https://blog.youkuaiyun.com/JACK_JYH/article/details/61934269</guid><author>JACK_JYH</author><pubDate>Mon, 13 Mar 2017 22:43:26 +0800</pubDate><description><![CDATA[这是Java SE5.0中开始引入的方法
最直接的就是System.out.printf函数
它允许“%d %s....”一直下去只要后面数量匹配就行了


printf实现
public class printf(String fmt,Object...args){return format(fmt,args);}
...符号是java代码的一部分，表示可以接受任意数量的对象。
]]></description><category></category></item></channel></rss>