精华内容
下载资源
问答
  • 在准备考研前就咨询了一下本的学长,制定了一下考研复习的计划,这个计划是基于数学的复习进度。刚开始,我复习的是数学基础知识,通过考研资料和B站上的视频进行学习,我买的是张宇的三本,个人不喜欢厚书,不过...

    写在前面:写这篇经验分享只是考虑到很多同学和我一样没人指导,后面才发现有些问题,纯粹是出于好心,五系本校的我没听说哪个390+被刷,外校确实有,出发点是强调面试前好好复习相关专业,有些同学某些专业课没上过,面试分会低,尤其是去面大佬,基础问题答不上问题很严重,这种说法也能伤到有些人的自尊心那我也没办法。     

         考研准备从大三暑假就开始了,实习完就回到学校进行学习。在准备考研前就咨询了一下本系的学长,制定了一下考研复习的计划,这个计划是基于数学的复习进度。刚开始,我复习的是数学基础知识,通过考研资料和B站上的视频进行学习,我买的是张宇的三本,个人不喜欢厚书,不过听考后本班学霸说李林的较好些,基本上刷的挺快的,自己不太熟的部分就多花点时间看看,与此同时我也买了本单词书背了下单词,有时也拿四六级的单词书背背。数学第一遍基础知识刷完后,我就开始进行数学第二阶段的准备,就是开始做习题集,这部分选的是红皮书,巩固基础的知识,与此同时我也开始了力学综合的学习,就是把书上的知识点推一推、把课后习题做一做,对于专业课来说课后题还是最重要的,考试题很多都是课后题变的,把每个模型关键点想明白就可以了。第三阶段就是刷张宇的一千题,张宇一千题是做的比较认真地,我听从学长的意见,买了一摞A4纸和一个垫板,标着题号把做题的过程详细写出来,这样就可以不断地减少自己因粗心而犯得错误。在专业课方面我吧往年的考题打印下来,将近几年的留下来做测验,较早的卷子用来复习,熟悉专业课卷子的知识点分布、题目的类型和出题的特点。英语阅读也开始练习,事后发现买的考研资料的阅读比考研试卷上的较难些,阅读的话题比较固定,一般是讲国外的一些经济政治法律相关的热点。晚上回去后在b站上看政治视频,对政治的知识点熟悉下,知道了政治的大概内容和重点就可以。在最后两个月的时间,我开始考试的准备,两天一个周期,做一套数学卷,一套专业卷,一套英语卷,但就是没练政治,政治还是在背一些重点,主要是政治经济学、毛概、19大这些。在最后一个月的时候我才开始做政治的题,政治选择题很大程度决定了政治的分数,要多注意,大题一般能够吃准要考的几道,只要都背到,有话说,写多一点,整齐点就可以,因为答题卡的空间很大,大题也要自己写着练一练。数学的模拟卷感觉挺难的,挺打击人的,但还是要练练,因为往年的卷子很快就用完了。

        我报的是学硕,因为同学告诉我可以调剂到专硕,但事后发现调剂很痛苦。寒假在家等成绩,成绩要出的几天挺紧张的,出来后发现是360,我赶紧问了一下其他同学的成绩发现并不稳,19年五系成绩出奇地高,高分比其他系都要多很多,很快系里的统计结果出来了,基本上乘二就差不多,外校的考的高分也很多,人数也就一半左右,380+390+400+很多,包括专硕400+也有几个。后来复试,我果然没过。这里要强调下,复试要好好准备,尤其外校的,390+400+被刷是真的,专业课问题问的很深,不要犯低级错误,将一些书上不太重要的知识点也看看。后来就是调剂专硕了,调剂的名额基本上是给报学硕没过的留的,因为学硕复试在前,专硕复试在后。问题在于剩下的名额都是一些校地合作的以及中俄中法的名额,正常名额较少,一般会被高分的抢走,不过名额应该够的。当然这是19年的情况,由于本校报学硕的较多,竞争较为惨烈。北航只接受本校调剂,许多系也只接受报本系的调剂,因此调剂别的系名额也不是很多。

       就成绩来看政治和英语60-70为平均水平,80+就高分了,主要拉开距离的是数学和专业课,高分普遍数学130+专业课140+,两门能保证120+就差不多380+了,这个分数本校的只要复试正常发挥,被刷的几率很小。

      个人感觉考研就是要坚持住,能够每天去,最好和本班几个人一块去,这样可以相互监督,不会的问题也可以相互讨论,有事也可以相互提醒。如果过程能够认认真真考上是没有问题的,我们班考研的除了几个平时爱打游戏不好好复习的其他的都考上了,总之考研并不是很难,努力坚持住就行。

    展开全文
  • Python爬虫自学系列(

    千次阅读 多人点赞 2021-01-23 22:02:14
    emmmm,又到了单数篇。 不知道为什么,我居然会觉得,这个系列,单数篇必是精品,双数篇基本划水。。 好,废话不多说,本篇我们进入了大并发时代,看看我们的大并发爬虫。 什么是大并发?几千个量?...

    在这里插入图片描述

    前言

    emmmm,又到了单数篇。
    不知道为什么,我居然会觉得,这个系列,单数篇必是精品,双数篇基本划水。。

    好,废话不多说,本篇我们进入了大并发时代,看看我们的大并发爬虫。


    数据集

    什么是大并发?几千个量?几万个量?几十万个?好意思吗?
    这波我找了近两万个数据集(好吧,小是小了点,本来有个一百万网址的数据集,但是大部分都是国外网址,爬不来)

    太大了放不下,大家扫一下左边侧栏的那个二维码,回复“爬虫大并发”拿一下数据集,我准备了csv格式、Excel格式、还有最原始的数据集以及清洗代码,看你喜欢哪种了。


    知识储备

    大并发编程嘛,不是跟你开玩笑的啊。
    Python都封装的很好了,但是你要是仅仅满足于Python的封装呢,那你跳过这一段吧。

    在我这里,要给你知其然知其所以然。

    东西太多了,接下来每篇都基本是万字长文,做好准备了吗?
    在这里插入图片描述

    都是我写的,看起来也不会无聊

    进程·全家桶(这篇还被CSDN的公众号选中了)

    Posix线程 它们那一大家子事儿,要觉得好你就收藏进被窝里慢慢看 (1)
    Posix线程 它们那一大家子事儿,要觉得好你就收藏进被窝里慢慢看 (2)

    【C++】勉强能看的线程池详解

    Python爬虫自学系列(三)(缓存系列,redis的链接太多了,就用这篇吧)

    消息队列:解耦、异步、削峰,现有MQ对比以及新手入门该如何选择MQ?

    这些东西要是都用文字堆上来,那好像有点喧宾夺主了


    正主:Python大并发爬虫

    1.0版本:原始版

    哪里有一蹴而就的好事儿啊,先来个最原始的版本吧。

    import threadpool
    import requests
    
    def get_data():
        op = open('CSDN_xml.txt')
        s = op.read()
        s = s.strip().split(' ')
        datalist = s[::4]
        return datalist
    
    
    def outdata(url):
        try:
            print('succeed'+url)
            requests.get(url)
        except:
            print('failed'+url)
    
    def Thread_Pool(outdata,datalist = None,Thread_num = 5):
        '''
        线程池操作,创建线程池、规定线程池执行任务、将任务放入线程池中、收工
        :param outdata: 函数指针,线程池执行的任务
        :param datalist: 给前面的函数指针传入的参数列表
        :param Thread_num: 初始化线程数
        :return: 暂无
        '''
        pool = threadpool.ThreadPool(Thread_num)  # 创建Thread_num个线程
    
        tasks = threadpool.makeRequests(outdata, datalist)  # 规定线程执行的任务
        # outdata是函数名,datalist是一个参数列表,线程池会依次提取datalist中的参数引入到函数中来执行函数,所以参数列表的长度也就是线程池所要执行的任务数量。
    
        [pool.putRequest(req) for req in tasks]  # 将将要执行的任务放入线程池中
    
        pool.wait()  # 等待所有子线程执行完之后退出
    
    datalist = get_data()
    
    Thread_Pool(outdata,datalist=datalist)
    
    

    当有 URL 可爬取时,上面代码中的循环会不断创建线程,直到达到线程池的最大值。在爬取过程中,如果当前队列中没有更多可以爬取的 URL时,线程会提前停止。

    2.0版本,加上时间处理、缓存

    这里的时间处理可不是说睡眠时间,还有计时器,因为后面我们要进行不同版本的测试嘛。

    缓存嘛,虽然不会那啥,但是还是加一下吧。

    改动的地方:

    1、把那些零零碎碎的指令放一块儿了

    def main():
        start = time.perf_counter()
    
        requests_cache.install_cache('bf_cache')
        requests_cache.clear()
    
        datalist = get_data()
    
        Thread_Pool(outdata,datalist=datalist)
    
        delta = time.perf_counter() - start
    
        print('共用时:'+ str(delta))
    

    2、函数指针中的修改:

    def outdata(url):
        try:
            # print('succeed'+url)
            res = requests.get(url)
            if res.from_cache:
                print('从缓存中获取:'+url)
        except:
            print('failed'+url)
        # finally:
        #     time.sleep(2)
    

    这要真两秒下去,那怕是没了。。

    然后上面我调成1000了,两万太久了。。

    在这里插入图片描述
    我觉得是不是假了点啊,我等了这么久,跟我说就一分钟!!

    开十个线程看看:Thread_Pool(outdata,datalist=datalist[:1000],Thread_num = 10)
    看看效果是否对折了。
    在这里插入图片描述

    好,可以看到,花了43秒,大概折了四分之一。

    那是不是说线程越多越好呢?是不是开足够多的线程,就可以在一秒内解决战斗呢?

    兄弟,前面的链接看了就不会有这个想法了,开线程,是要耗费资源的,虽然没有进程耗费的那么大,而且管理线程也需要资源和时间的,何况这还是Python。

    我刚刚测试了20个线程,花了40秒。多开无益。

    先到2.0版本吧,如果日后发现有新的需求再加。


    批量下载

    图片批量下载

    上边那个框架其实已经差不多了,只要改一下数据源,然后函数指针里面微调一下就好啦。

    def outdata(data):
    	'''
        这是一个处理数据的函数,即将被送入线程池
        :param data: 这是一个字典,以图片名为键,图片链接为值
        :return: 无
        '''
        
        item_list = data.items()
        for item in item_list:
            try:
                res = requests.get(item[1])
                if res.from_cache :
                    print('从缓存中获取:'+item[1])
                else:
                    f = open(item[0],'wb+')
                    f.write(res.content)
            except:
                print('failed'+item[1])
        # finally:
        #     time.sleep(2)
    

    批量音频下载

    其实吧,这里就改一下数据源就行了,其他都可以复用。

    那这个数据源哪里找呢?

    打开酷狗,或者其他音乐软件,然后找后缀为音乐的(mp3啥的)。

    在这里插入图片描述

    有看到不?

    我不知道是网页版的酷狗没有VIP限制还是说因为我本身是有VIP的,我找了首APP上听要VIP才给听的歌,也可以直接听。


    视频下载

    视频也差不多改一下数据来源的函数就行,不过视频要注意那个网址弧没有后缀,所以可以用模块定位法(Xpath那一套)找到链接位置。
    然后手动添加上后缀,就写成mp4就好啦。


    开多少线程/进程合适?

    看一下人家的测试数据吧:

    在这里插入图片描述

    本来想讲讲多进程的,但是我本身不是很喜欢拿进程来做这种大量并发的。
    进程,拿来做集群分布式就好了。


    展开全文
  • 描述移动机器人相对运动时有种常用的坐标,分别是地心惯性坐标(i)、地球坐标(e)、地理坐标(t)、载体坐标(b)和导航坐标(n),如图13-1所示。 (1)地心惯性坐标 (OeXiYiZi)。地心惯性坐标...

    以移动机器人导航为例,对移动机器人进行导航计算,首先要选定一个参考坐标系,才能知晓移动机器人的地理位置及其航向与水平姿态。因此,在讨论移动机器人相对于地面运动状态,确定其位置信息时,首先必须建立相对应的参考坐标系。
    描述移动机器人相对运动时有五种常用的坐标系,分别是地心惯性坐标系(i系)、地球坐标系(e系)、地理坐标系(t系)、载体坐标系(b系)和导航坐标系(n系),如图13-1所示。

    在这里插入图片描述

    (1)地心惯性坐标系
    (OeXiYiZi)。地心惯性坐标系作为测量物体运动信息的参考基准,以地球中心为原点,三轴指向不随地球自转发生变化。
    (2)地球坐标系
    (OeXeYeZe)。地球坐标系是以参考椭球面为基准面建立起来的坐标系,以地球中心为坐标原点,三轴随着地球自转不断旋转变化。
    (3)地理坐标系(OXtYt Zt)。地理坐标系原点为移动机器人所在点,坐标轴Xt、Yt、Zt分别指向地球正东方向、地理正北方向和天向,称为“东北天”坐标系。
    (4)载体坐标系(OXbYbZb)。载体坐标系通常固连于运动载体,以载体质心为坐标原点,以载体纵轴(侧倾轴)为Yb轴且向前为正,以载体横轴(俯仰轴)作为Xb轴且向右为正,Zb轴(偏航轴)沿竖轴向上。
    (5)导航坐标系(OXnYnZn).导航坐标系作为导航计算的基准,不同机器人不同的任务可以根据需要使用不同的导航坐标系,当导航坐标系与前述定义的地理坐标系重合时可称为指北方位系统。
    移动机器人在运动过程中除了位置发生变化,其姿态也会发生变化。沿Z轴方向看,绕Z轴逆时针做旋转运动是偏航运动,旋转角度称为偏航角;沿X轴方向看,绕X轴逆时针方向做旋转运动是俯仰运动,旋转角度称为俯仰角;沿Y轴方向看,绕Y轴逆时针方向做旋转运动是横滚运动,旋转角度称为横滚角。
    如图13-2所示,移动机器人载体坐标系(OXbYZb)分别绕机身纵轴、竖轴、横轴做
    三次基本旋转后即与地理坐标系(“东北天”)重合,产生三个姿态角度:偏航角θ、俯
    仰角β和横滚角φ。

    在这里插入图片描述

    展开全文
  • 小猪的C语言快速入门系列()

    万次阅读 多人点赞 2017-10-16 16:32:26
    小猪的C语言快速入门系列()标签: C语言本节引言:上一节我们C语言 复合数据类型 中的 数组 进行了解读,本节我们会继续来学习 复合数据类型中的 指针,指针可是C语言的灵魂;利用指针可以表示与使用复杂的 数据...

    小猪的C语言快速入门系列(五)

    标签: C语言


    本节引言

    上一节我们C语言 复合数据类型 中的 数组 进行了解读,本节我们会继续来学习
    复合数据类型中的 指针,指针可是C语言的灵魂;利用指针可以表示与使用复杂的
    数据结构,让我们可以更加方便的使用数组与字符串;可以像汇编一样直接处理内存
    单元地址;可以动态地进行内存空间分配;指针是C语言的重点,也是难点。


    本节学习路线图


    指针概念,指针与一维数组和字符串


    指针与二维数组

    这个知识点是指针里的难点,要弄懂这里的话,我们要先把重心放到二维数组上,先
    彻底了解清楚二维数组!

    • Step 1:二维数组是 按行与列存储数据的,可以看成 若干行 + 每行若干列一维数组组成;
      比如:int a3 = {{1,2,3,4},{1,2,3,4},{1,2,3,4}}; 可以看成三行,每行有四个一维数组;

    • Step 2a 代表二维数组 首元素的地址 ,即 &a[0],如果换成数组的第二,三行的话,
      只需要把 a + 1a + 2这样,等价于&a1&a2

    • Step 3:我们可以把 a[0] 看做是指向 a[0][0] 的指针,那么 a[0]+1 即指向 a[0][1]
      即此时地址为:&a[0][1]

      PS:这里的+1的1是数组元素所占的字节数,比如int a[]的话,那么这个+1代表的就是往后
      移动4个字节,指向下一个元素;如果是+2的话就是后移8个字节,所以a[i][2] = a[i] + 2

    • Step 4:通过前面一维数组的学习,知道了 a[i] 等价于 *(a+i),同样的,扩展到
      二维数组的情况,则有 a[i][j]*(a+i)+ja[i]+j 都是等价的,都是表示数组元素
      a[i][j] 的地址,而求 a[i][j]的值,用*(a[i]+j)*(*(a+i)+j) 都是可以的

    注意一点

    *a 与 *(a+i) 都不代表任何具体的数据元素,所以当你引用他们的时候可能会引起错误!

    如果上面的内容都捋清楚了,下面这几个点一清二楚了:

    • 1.数组首地址a[0]: a 不可以直接引用!!!
    • 2.一维数组a[0]首元的地址(&a[0][0]): a[0],*(a+0),*a;
    • 3.第一行的首地址: a + 1 同样不可以直接应用
    • 4.一维数组a1首元的地址(&a[1][4]): a[1],*(a + 1)
    • 5.序号为2行4列元素a[2][5]的地址:a[2]+4,*(a+2)+4,a[2][6]

    使用代码示例

    示例1指向数组元素

    #include <stdio.h>
    int main()
    {
        int a[2][2] = {{1,2},{3,4}};
        int *p,i,j;
        p = a[0];
        //p = &a[0][0]或*a也可以
        printf("输出数组中所有的元素:\n");
        for(i = 0;i < 2; i++) 
        {
            for(j = 0;j < 2;j++) 
            {
                printf("%4d",*p);
                p++;
            }
            printf("\n");
        }
        return 0;
    }

    输出结果

    示例2指向数组

    #include <stdio.h>
    int main()
    {
        int i,j;
        int a[4][9];
        //定义一个行指针,并指向数组的首地址
        int (*p)[4];
        p = &a[0];
        printf("请输入二维数组中的数组元素:\n");
        for(i = 0;i < 4;i++) 
        {
            for(j = 0;j < 4;j++)
            {
                scanf("%d",p[i]+j);
            }
        }
        printf("输出二维数组中的数据:\n");
        for(i = 0;i < 4;i++) 
        {
            for(j = 0;j < 4;j++)
            {
                printf("%4d",*(p[i]+j));
            }
            printf("\n");
        }
        return 0;
    }

    输出结果


    本文链接小猪的C语言快速入门系列(五)
    作者:Coder-Pig
    出处http://blog.csdn.net/coder_pig
    本文基于知识共享署名-相同方式共享 4.0 国际许可协议发布,欢迎转载,
    演绎或用于商业目的,但是必须保留本文的署名及链接。

    展开全文
  • 白话经典算法系列之 归并排序的实现

    万次阅读 多人点赞 2011-08-11 11:01:05
    归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取...
  • Maven系列第讲 私服讲解

    万次阅读 2020-09-02 18:17:41
    Maven系列第六讲环境私服Windows10中安装Nexus私服下载nexus解压latest-win64.zip启动nexus登录Nexus其他一些常见的操作Linux安装Nexus私服下载安装包解压启动开放端口验证效果登录Nexus中仓库分类代理仓库宿主仓库...
  • Thinkpad笔记本大系列简介

    万次阅读 2012-04-06 13:35:56
    在联想ThinkPad的生命线上存在着T、X、R、SL、W大系列,基于本来产品已在深圳上市,可能还有很多人对ThinkPad这大系列的划分还不是太了解,我们就介绍一下这大系列的定位和其各自的特点。  ThinkPad T系列 ...
  • RX系列 | Schedulers线程控制

    千次阅读 2017-03-24 11:44:22
    RX系列 | Schedulers线程控制在我们上一篇文章中的,我们的小例子里有这么一段代码//网络访问 .observeOn(Schedulers.io())事实上,我们在使用网络操作的时候,便可以控制其运行在哪个线程中,而Schedulers类,有...
  • Python系列之_爬虫抓图

    千次阅读 2017-03-04 07:09:23
    Python系列之_爬虫抓图
  • 大常用算法系列

    千次阅读 2014-12-05 11:14:57
    大常用算法之一:分治算法 大常用算法之二:动态规划算法 大常用算法之三:贪心算法 大常用算法之四:回溯法 大常用算法之:分支限界法
  • Hexo系列() 撰写文章

    万次阅读 多人点赞 2018-08-07 12:00:58
    Typora 快捷键: Ctrl+1:一级标题 Ctrl+2:二级标题 Ctrl+3:三级标题 Ctrl+4:四级标题 Ctrl+5:级标题 Ctrl+6 :六级标题 Ctrl+0:段落 (2)粗体、斜体、删除线和下划线 Markdown 语法: *斜体* **粗体** ***...
  • Datawindow.net 系列

    千次阅读 2007-11-07 19:34:00
    系列 --讲述page的分页可以看看实现的效果图CheckBox:Show Page Info------show or hide Page total informationDropDownList:Place-----show page navigation top , bottom or topbottomChekBox:Image ...
  • Fitnesse使用系列

    千次阅读 2014-09-23 11:14:57
    脚本表 如果说前面介绍的几种表格都是单步骤、单方法。Script table就是一系列的多步骤操作了,正如名称所代表的含义。 表头的第一个格加script:前缀,也可以只是一个script,后面紧跟的单元格作为类名。...
  • Unity3D优化技巧系列

    千次阅读 2017-04-02 18:06:16
    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。...
  • CAS 5.3.1系列之客户端对接(

    千次阅读 2020-04-29 13:44:59
    CAS 5.3.1系列之客户端对接() 我们要接入客户端可以常用第三方的库cas-client-autoconfig-support来对接,比较快捷,迅速实现,或者可以用cas-client-support-springboot集成到boot项目 pom配置: <!-- CAS...
  • 英语总结系列():英语无处不在

    万次阅读 热门讨论 2015-05-25 20:15:46
    月即将逝去,老规矩一篇博文以此来纪念这一个月我的小baby的成长之路。 回眸四月份总结——《英语总结系列:寻觅激励自我之道》在经历了坚持、兴趣,这两个阶段之后自己在月份迈入了英语无处不在融入生活的...
  • Mysql系列第十讲 事务详解

    万次阅读 2020-09-24 21:37:56
    Mysql系列第十讲什么是事务?事务的几个特性(ACID)Mysql中事务操作savepoint关键字只读事务事务中的一些问题事务的隔离级别关于隔离级别的选择 什么是事务? 数据库中的事务是指对数据库执行一批操作,这些操作...
  • SCCM2012系列之

    千次阅读 2012-11-04 07:58:03
    SCCM2012系列之   补丁更新是SCCM2012中的重要功能。微软的操作系统及服务器产品经常需要利用补丁修正已知的安全问题或功能缺陷。补丁更新功能依赖于WSUS,SCCM2012需要利用WSUS从微软的更新服务器下载所需的...
  • SpringBoot系列 热部署

    万次阅读 2018-03-07 17:10:51
    SpringBoot 热部署使用IDEA 中 实现springboot 热部署更多干货分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)...
  • Java面试题目系列

    千次阅读 2012-10-04 15:45:28
    我把其归之为Java面试题目系列,毕竟,笔试是否通过是获得的面试的第一步,因而不能不重视。 笔试题目包括四个部分,分别是选择题、填空题、阅读题和附加题。  选择题 1.Java是从()语言改进重新设计。 A....
  • R语言数据分析系列之

    万次阅读 2015-04-01 15:09:42
    R语言数据分析系列之,R语言数据可视化
  • Spring源码由浅入深系列 GetBean

    千次阅读 2014-10-20 11:08:10
    获取bean的过程如上图所示。下一章将继续图示讲解createBean的过程。 blog宗旨:用图说话 附:目录 Spring源码由浅入深系列四 创建BeanFactory Spring源码由浅入深系列三 refresh ...Spring源码由浅入深系列二 类结构...
  • Fdog系列():使用Qt模仿QQ实现登录界面到主界面,功能篇。 当前篇 读完该篇,你将学会: 如何保存登录数据 实现是否记住密码 如何获取本地数据 登录界面中出现的下拉框 从下拉列表框删除账号 改变选项,实时...
  • 如图,现实世界中有一个P点和一个相机(光心),描述这个P点的空间坐标首先得有一个坐标,那么以光心为原点O建一个坐标,叫相机坐标。 那么就可以在相机坐标下,设P坐标(x,y,z)和P的投影点P’(x’,y’,z’)...
  • JavaScript中的变量对象,简约却不简单(系列

    万次阅读 多人点赞 2020-06-17 18:52:05
    本篇文章:主要介绍执行上下文的组成部分之一——变量对象(VO)和活动对象(AO)。本文是与系列的前几篇文章存在一定的承接关系,大家感兴趣的话不妨从头阅读~
  • shell入门系列()cat

    千次阅读 2019-01-08 19:53:19
    title: shell入门系列( )cat date: 2019-01-08 18:00:00 +0800 update: 2019-01-08 18:00:00 +0800 author: me cover: https://ws1.sinaimg.cn/large/006jIRTegy1fyzcylktt2j31hc0u0aqp.jpg preview: Shell本身是...
  • Observable.just(1,2,3,4) .toMap(new Func1<Integer, String>() { @Override public String call(Integer integer) { return "key" + integer; } }, new Func1<Integer, Integer>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,748
精华内容 15,499
关键字:

五系