精华内容
下载资源
问答
  • 什么是单元测试? 三. 什么是集成测试? 四. 什么是系统测试? . 什么是验收测试? 六. 软件测试模型 1. V模型 2. W模型 3. X模型 4. H模型 七. 测试模型的总结 八. 在实际工作中应灵活地运用各类模型的...

    目录

    一. 敏捷测试

    二. 什么是单元测试?

    三. 什么是集成测试?

    四. 什么是系统测试?

    五. 什么是验收测试?

    六. 软件测试模型

    1. V模型

    2. W模型

    3. X模型

    4. H模型

    七. 测试模型的总结

    八. 在实际工作中应灵活地运用各类模型的优点.

    先介绍一下 "敏捷开发模型" 的测试模型, 即 敏捷测试, 有以下几个方案.

    一. 敏捷测试

    1. 不依赖文档.

           由于不依赖文档, 因此要时常和项目组的人沟通 测试人员自己的文档不再需要写测试用例, 而是需要画出思维导图, 将自己的测试点整理出来.

           有些公司虽然使用的是敏捷开发模型, 但要求测试和研发人员要按照传统模型的文档来写, 因为文档十分重要, 是后期了解项目的依据. 因此 测试用例, 需求文档, 研发设计文档都要求按照传统模型进行. 假如一点都不依赖文档, 测试或者开发人员一旦离职, 项目是无法说得清楚的, 因为需求文档和项目差异太大了, 这些变更都在开发人员和测试人员的大脑里, 他们离职了就带走了.

           因此有些公司要求重点写文档. 但有的公司要求其它文档轻, 核心文档重.

    2. 迭代周期频繁.

           由于项目迭代周期频繁, 工作量大, 压力大, 因此需要调整自己, 适者生存. 


    先介绍一下单元测试, 集成测试, 系统测试, 验收测试的基本概念.

    针对一个功能点四类测试所花费的时间(时间从少到多升序): 单元测试< 集成测试< 验收测试=< 系统测试

    二. 什么是单元测试?

           单元测试(unit testing), 是指对软件中的最小可测试单元进行检查和验证.

           对于单元测试中单元的含义, 一般来说, 要根据实际情况去判定其具体含义, 如C语言中单元指一个函数, Java里单元指一个类, 图形化的软件中可以指一个窗口或一个菜单. 总的来说, 单元就是人为规定的最小的被测功能模块.

           单元测试是在软件开发过程中要进行的最低级别的测试活动, 软件的独立单元将在与程序的其他部分相隔离的情况下进行测试.

           单元测试(模块测试)是开发者编写的一小段代码, 用于检验被测代码的一个很小的, 很明确的功能是否正确. 通常而言, 一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为.

           单元测试是由程序员自己完成的, 最终受益的也是程序员自己. 程序员有责任编写功能代码, 同时也有责任为自己的代码编写单元测试. 执行单元测试, 就是为了证明这段代码的行为和我们期望的一致. 

    三. 什么是集成测试?

            集成测试, 也叫组装测试或联合测试. 在单元测试的基础上, 将所有模块按照设计要求(如根据结构图)组装成为子系统或系统, 进行集成测试.

            实践表明, 一些模块虽然能够单独地工作, 但并不能保证连接起来也能正常的工作. 一些局部反应不出来的问题, 在全局上很可能暴露出来.

            集成测试最简单的形式是: 把两个已经测试过的单元组合成一个组件, 测试它们之间的接口. 从这一层意义上来讲, 组件是指多个单元的集成聚合. 在现实方案中, 许多单元组合成组件, 而这些组件又聚合为程序的更大部分. 方法是测试片段的组合, 并最终扩展成进程, 将模块与其他组的模块一起测试. 最后, 将构成进程的所有模块一起测试. 此外, 如果程序由多个进程组成, 应该成对测试它们, 而不是同时测试所有进程. 

    四. 什么是系统测试?

            系统测试(System Testing)是对整个系统的测试, 将硬件, 软件, 操作人员看作一个整体, 检验它是否有不符合系统说明书的地方. 

            这种测试可以发现系统分析和设计中的错误.如安全测试是测试安全措施是否完善, 能不能保证系统不受非法侵入. 再例如, 压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取)等情况下是否还能正常地工作.

            系统测试是将经过集成测试的软件, 作为计算机系统的一个部分, 与系统中其他部分结合起来, 在实际运行环境下对计算机系统进行的一系列严格有效地测试, 以发现软件潜在的问题, 保证系统的正常运行.

    五. 什么是验收测试?

            验收测试是部署软件之前的最后一个测试操作. 在软件产品完成了单元测试, 集成测试和系统测试之后, 产品发布之前所进行的软件测试活动. 它是技术测试的最后一个阶段, 也称为 "交付测试".

            验收测试的目的是确保软件准备就绪, 并且可以让最终用户将其用于执行软件的既定功能和任务.

            验收测试是向未来的用户表明系统能够像预定要求那样工作. 经集成测试后, 已经按照设计把所有的模块组装成一个完整的软件系统, 接口错误也已经基本排除了, 接着就应该进一步验证软件的有效性, 这就是验收测试的任务, 即软件的功能和性能如同用户所合理期待的那样.


    六. 软件测试模型

    软件测试有4个模型: V模型, W模型, X模型, H模型. 

    1. V模型

     

    V模型每个阶段"测试人员" 的工作:

    研发阶段:

    • 研发第一阶段"用户需求"阶段, 测试人员不参与
    • 研发第二阶段"需求分析与系统设计"阶段, 测试人员需要学习需求, 确定测试范围, 并制定测试计划
    • 研发第三阶段"概要设计"阶段, 测试人员需要将测试计划细化.
    • 研发第四阶段"详细设计"阶段, 测试人员不参与. 第三第四阶段测试人员参与度很低, 基本是不参与的
    • 研发第五阶段"编码"阶段, 是V模型里的黄金分割线. 在这个阶段, 测试人员的核心工作是"编写测试用例".

    此时, V模型里左边的研发线结束, 下来开始V模型里右边的测试线, 测试线和研发线是一一对应的

    测试阶段:

    • 测试第一阶段"单元测试"阶段, 详细设计阶段对应的是单元测试阶段. 这个阶段普通测试人员不参与. 由白盒测试工程师和研发人员参与

           单元测试用的是"白盒测试"方法

    • 测试第二阶段"集成测试"阶段, 集成测试阶段对应的是概要设计阶段, 这个阶段既涉及到了代码, 又涉及到了功能, 因此这个阶段仍然是由白盒测试工程师和研发人员参与.

           集成测试用的是"灰盒测试(白+黑)"方法

    • 测试第三阶段"系统测试"阶段, 是测试人员花费时间最长的阶段.

           这个阶段, 测试人员需要完成的工作有五项: 数据搭建, 环境准备, 测试执行, 缺陷管理, 测试报告的输出

           系统测试用的是"黑盒测试"方法, 人员就是普通功能测试

    • 测试第四阶段"验收测试"阶段

           验收测试用的是"黑盒测试"方法, 测试人员是"用户"

    2. W模型

          W模型也可以看做是 "双V模型", 有两个 V, 一个是研发V, 一个是测试V, 将研发和测试的工作并行了起来, 使研发和测试的工作可以同时进行, 因此解决了V模型的三个缺点

    研发V中: V模型的左边的阶段是不变的, 黄金分割线是 "编码" 阶段

    1.  右边第一个阶段对应集成测试的是 "集成" 阶段;
    2.  右边第二个阶段对应系统测试的 "实施" 阶段,
    3.  右边第三个阶段对应验收测试的 "交付" 阶段. 交付之后用户才可以验收

    测试V中: V模型的右边的阶段是不变的, 黄金分割线是 "单元测试" 阶段

    1.    左边第一个阶段对应用户需求的是 "验收测试准备" 阶段, 为验收测试阶段做准备
    2.    左边第二个阶段对应需求分析与系统的是 "系统测试准备" 阶段, 为系统测试阶段做准备, 提前准备好项目需要用到 的测试工具以测试方法等
    3.    左边第三个阶段对应概要设计的是 "集成测试准备" 阶段, 为集成测试做准备,
    4.    左边第四个阶段对应详细设计的是 "单元测试准备" 阶段, 为单元测试做准备, 需要提前掌握单元测试相关知识, 提前搭建好单元测试框架.

           在V模型中, 用户需求, 概要设计, 详细设计阶段, 测试人员参与度很低, 基本不参与, 但是在W模型中, 测试人员是需要参与的. 测试人员在W模型的所有阶段全程参与.

    开发V和测试V的黄金分割线 "编码" 和 "单元测试" 是对应的

    •        对于编码阶段:  在V模型的"编码"阶段中, 测试人员做的工作是 编写测试用例; 而在W模型的"编码"阶段中, 测试人员既要编写测试用例又要单元测试
    •        对于单元测试阶段:  单元测试完成一个模块就可以进行测试. 而在W模型的其他阶段中, 测试人员的工作和 V模型中的工作是一样的, 此处不再赘述.

    W模型整体来看也是 "串型"的, 比如没有进行设计, 是无法直接拿着需求进行编码的; 没有编码是不能进行单元测试; 因此,W模型是有缺点的, W模型不适合 "敏捷" 这种需求频繁变更的开发模型.

    3. X模型

            X模型是对V模型的改进, X模型提出针对单独的程序片段进行相互分离的编码和测试. 此后通过频繁的交接, 通过集成, 最终合成为可执行的程序.

            X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试, 此后将进行频繁的交接, 通过集成, 最终成为可执行的程序. 然后再对这些可执行程序进行测试. 已通过集成测试的成品可以进行封装并提交给用户, 也可以作为更大规模和范围内集成的一部分. 多根并行的曲线表示变更可以在各个部分发生.

            X模型还定位了探索性测试, 这是不进行事先计划的特殊类型的测试, 这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误. 但这样可能对测试造成人力, 物力和财力的浪费, 对测试员的熟练程度要求比较高.

    4. H模型

            H模型中, 软件测试过程活动完全独立, 贯穿于整个产品的周期, 与其他流程并发地进行, 某个测试点准备就绪时, 就可以从测试准备阶段进行到测试执行阶段. 软件测试可以尽早的进行, 并且可以根据被测物的不同而分层次进行.

            H模型揭示了一个原理: 软件测试是一个独立的流程, 贯穿产品整个生命周期, 与其他流程并发地进行. H模型指出软件测试要尽早准备, 尽早执行. 不同的测试活动可以是按照某个次序先后进行的, 但也可能是反复的, 只要某个测试达到准备就绪点, 测试执行活动就可以开展.

    七. 测试模型的总结

    1. V模型

         V模型是软件开发瀑布模型的变种, 主要反映测试活动与分析和设计的关系;

         局限性: 把测试作为编码之后的最后一个活动, 需求分析等前期产生的问题直到后期的验收测试才能发现

    2. W模型

         在V模型的基础上, 增加了开发阶段的同步测试, 形成W模型; 测试和开发同步进行, 有利于尽早发现问题

         局限性: 仍把开发活动看成是从需求开始到编码结束的串型活动, 只有上一阶段完成后, 才可以开始下一阶段的活动, 不能支持迭代, 自发性以及变更调整

    3. H模型

         在H模型中, 软件测试过程完全独立, 贯穿整个项目的周期, 与其他流程并发地进行, 某个测试点准备就绪时, 就可以从测试准备阶段进行到测试执行阶段; 软件测试可以进行尽早进行; 软件测试可以根据被测物的不同而分层次进行

    八. 在实际工作中应灵活地运用各类模型的优点.

    V模型: 强调了在整个软件开发项目中需要经历的若干个测试级别, 并与每一个开发级别对应; 忽略了测试的对象不应该仅仅包括程序, 没有明确指出对需求和设计的测试

    W模型: 补充了V模型中忽略的内容, 强调了测试计划等工作的先行和对系统需求和系统设计的测试; 与V模型相同, 没有对软件测试的流程进行说明

    H模型: 强调测试独立的, 只要测试准备完成, 就可以执行测试.

    展开全文
  • 1.1 什么是五笔字型 1.2 怎样提高五笔打字速度 1.3 怎样提高五笔打字速度 1.4 认识键盘 1.5 规范姿势与指法 1.6 指法训练 1.6.1 基准键练习 1.6.2 G、H键的练习 1.6.3 R、T、Y、U键的练习 1.6.4 V、B、N、M键练习 ...
  • MLH奖学金第批CTF 从2021年4月18日至24日发生的CTF存档的挑战中(尽我所能)。 除非没有支持文件(在这种情况下,这一个自包含的Markdown文件),否则每个挑战在其相应类别中都有自己的文件夹。 三个挑战有50...
  • reg52.h> #include <math.h> #include <intrins.h> //使用 _nop_()将会用到此头文件 #define uchar unsigned char #define uint unsigned int <p>//ds1302寄存器宏定义...
  • 推理题

    2012-08-27 16:00:18
    (2)题目:下面一组字母是一组常用英语单词的第个字母,你能推算出下一个字母是什么吗? N,WH,O,I,I 答案: 字母可能是数字,即一三四六七的英文单词,one two three four fire six ,下一...

    (1)题目:从逻辑的角度,下面的空格中应填入什么图形?请描述或画出~


    答案:

    (2)题目:下面一组字母是一组常用英语单词的第二个字母,你能推算出下一个字母是什么吗?

    N,W,H,O,I,I
    答案:
    字母可能是数字,即一二三四五六七的英文单词,one two three four fire six ,下一个单词是七seven,所以下一个字母是E。
    (3)题目:有三对母子老虎(所有的三只母老虎都会划船,三只小老虎中只有一只会划船)和一条船(一次只能载2只)。(3)
    三只母老虎不吃自己的孩子,但只要另外的两只小老虎没有其母亲守护,就会被吃掉。
    怎样才能让六只老虎安全地过河?
    答案:
    设大老虎,小老虎分别为ABC,abc,其中小老虎中a会划船,步骤如下:
    1、a,b先过河,a回来,两岸是:ABCac;b
    2、a,c过河,a回来,两岸是:ABCa;bc
    3、B,C过河,B,b回来,两岸是:ABba;Cc
    4、A,a过河,C,c回来,两岸是:CBbc;Aa
    5、B,C过河,a回来,两岸是:abc;ABC
    6、a,b过河,a回来,两岸是:ac;ABCb
    7、ac过河,两岸是:;ABCabc


    (4)学校来了A,B,C,D,E 5位应聘舞蹈老师的女士。她们当中有两位年龄超过30 岁,另外3 位小于30 岁。而且有两位女士曾经是老师,其他的3位是秘书。现在只知道 A 和 C 属于相同年龄档,而 D 和 E 属于不同年龄档。B 和 E 的职业相同,C 和 D 的职业不同。
    但是校长只想挑选一位年龄大于30 岁的老师任舞蹈老师。你猜谁是幸运者?
    答案:
    根据已知条件得知,D和E中必定有一位与A和C属于相同的年龄档,因此A和C都小于30岁。按照校长的要求,他是不会选择A和C的。另外,从条件中得知,C和D当中必定有一位与B和E的职业相同,因此,B和E是秘书。所以校长必定会选择D女士做学校的舞蹈教师。

    (5)3人答题如何拿满分?
    有4道测试题(每个问题都用Y或N来回答),小兰、小朋、小乐3人如下表那样回答的。
    Q1Q2 Q3 Q4
    小兰  Y Y  N  N
    小朋  N  Y  Y      N 
    小乐  Y  N   Y   Y
    这4道测试题是一个问题1分,3人的分数不同。在以下回答中的最低分的人的话是假的。
    小兰:“问题4的正确答案是N。”
    小朋:“小兰只得了1分。”
    小乐:“小朋只得了1分。”
     
    那么请问,怎么答题才能得满分呢?、

    答案:
    易得小朋和小乐必有一人说谎,而小兰是说真话的人。假设小朋说的是真话,则正确答案是NNYN。这样得分情况,小兰:小朋:小乐=1:3:2, 根据得分最低的人,说的话是假的,则小兰说假话,矛盾。所以小朋说谎了,正确答案是YNNN。此时得分情况,小兰:小朋:小乐=3:1:2。符合题意。

    (6)火柴搬家
    有3堆火柴共48根,现从第一堆里拿出与第二堆根数相同的火柴并入第二堆里;再从第二堆里拿出与第三堆根数相同的火柴并入第三堆里;最后,再从第三堆里拿出与这时第一堆根数相同的火柴并入第一堆里。经过这样的变动后,三堆火柴的根数恰好完全相同。
    问:原来每堆火柴各有几根?

    答案:
    总数48根,最后每人16根。
    第三次移动后:第1堆=16          第2堆=16       第3堆=16
    第二次移动后:第1堆=8            第2堆=16       第3堆=24
    第一次移动后:第2堆=8            第2堆=28       第3堆=12
    最初:           第1堆=22          第2堆=14       第3堆=12
    所以:原来各有22   14   12根火柴。

    (7)

    答案:19。 每个方块中的数等于它左上角的数*右上角的数-正上方的数。

    (8)

    答案:
    1-2-7-4-3-6-5
    推理过程:只看瓶子上的标签,每个会有残缺,从第一个开始,是在左下,第二个是左中,所以第三个就是左上,这样依次按照顺时针方向来放就得到了最后的顺序了。

    (9)

    答案:


    (10)


    展开全文
  • 3、很多人会忽略WH的问题。其中一个原因很多课程都有这种提炼,很多人自己乱了。 4、先搞清楚为什么很重要,磨刀不误砍柴工。 5、有女朋友的人一定很明白这个道理:want ≠ need 。 6、上级要求你在成本削减的...
  • 目录JAVA语言复习一、JAVA语言的历史及特点、JAVA开发环境配置三、JAVA语言基本语法四、JAVA变量类型、容器对象学习六、方法、类、对象、接口和函数七、函数式编程八、JAVA 的maven项目管理工具九、内置高级功能...

    JAVA语言复习

    常常听到前辈们和许多大牛说,要学好一门编程语言,先去了解他的背景、发展史,为什么开发出这种语言?这种编程语言是什么?可以解决什么样的问题?有什么?怎么用?接下来本小白本着这个原则(3W1H)学习(复习)java语言,之后还会学习python和node.js。

    一、JAVA语言的历史及特点

    废话有点多,可略过。。。。

    1.JAVA语言的发展史:
    (1)20世纪90年代,硬件领域出现了单片机计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为其大幅度提升了消费类电子产品的智能化程度。Sun公司预料嵌入式系统将在未来家电领域大显身手,于是,公司成立了一个由James Gosling领导的“Green计划 ”,准备为下一代智能家电(电视机、微波炉、电话)编写一个通用控制系统。 该团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家Bill Joy,发现C++和可用的API在某些方面存在很大的问题。而且工作小组使用的是嵌入式平台,可用的系统资源极其有限。并且很多成员都发现C++太复杂,以致很多开发者经常错误使用。而且C++缺少垃圾回收系统、可移植性、分布式和多线程等功能。
    (2)根据可用的资金,Bill Joy 决定开发一种新语言,他提议在C++的基础上,开发一种面向对象的环境。于是,Gosling试图通过修改和扩展C++的功能来满足这个要求,但是后来他放弃了。他决定创造一种全新的语言:Oak.(他们都具有不将就的精神、在开发某一项科技的时候得具有资金的支持以及各种创新精神)。
    (3)1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
    (4)1994年夏天,互联网和浏览器的出现不仅给广大互联网的用户带来了福音,也给Oak语言带来了新的生机。Gosling立即意识到,这是一个机会,于是对Oak进行了小规模的改造,到了1994年秋,小组中的Naughton和Jonathan Payne完成了第一个Java语言的网页浏览器:WebRunner.Sun公司实验室主任Bert Sutherland 和技术总监Eric Schmict 观看了该浏览器的演示,对该浏览器的效果给予了高度评价。当时的Oak这个商品已经被注册,于是只得将Oak更名为Java。
    (5)Sun公司在1995年年初发布了Java语言,Sun公司直接把Java放到互联网上,免费给大家使用,甚至连源代码也不保密,也放到互联网上向所有人公开。
    (6)1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。
    (7)1997年2月,JDK 1.1面世。1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。
    (8) 2004年10月,Sun发布了万众期待的JDK1.5,同时,Sun将JDK1.5改名为Java SE5.0,J2EE、J2ME也相应地改名为Java EE和Java ME。JDK1.5增加了诸如泛型、增强的for语句、可变数量的形参、注释、自动拆箱和装箱等功能;同时,也发布了新的企业级平台规范,如通过注释等新特性来简化EJB的复杂性,并推出了自己的MVC框架规范:JSF,JSF规范类似于ASP.NET的服务器端控件,通过它可以快速地构建复杂的JSP界面。
    (9)2006年12月,Sun公司发布了JDK1.6(也被称为Java EE 6)。一直以来,Sun公司维持着大约2年发布一次JDK新版本的习惯。
    (10)在2009年4月20日,Oracle宣布将收购Sun公司。Sun倒下了,不过Java的大旗依然猎猎作响。2011年7月28日,Oracle公司终于"如约" 发布了 Java SE 7——这次版本的升级经过了将近5年时间。
    (11)2014年3月18日,Oracle公司发不了Java SE8,这次版本升级为Java带来了全新的Lambda表达式、流式编程等大量新特性,这些新特性使得Java变得更加强大。
    (12)2017年9月22日,Oracle公司发布了Java SE 9,这次版本升级强化了Java的模块化系统,让庞大的Java语言更轻量化,而且采用了更高效、更智能的GI 垃圾回收器,并在核心类库上进行了大量更新,可以进一步简化编程;但对语法本身更新并不多(毕竟Java语言已经足够成熟)。

    2. JAVA语言特点:
    (1)简单性:用引用代替指针,自动分配和回收内存空间。
    (2)面向对象:Java 语言提供类、接口和继承等面向对象的特性。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。
    (3)分布式语言:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
    (4)编译和解释性:Java编译程序生成字节码(byte-code),而不是通常的机器码。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
    (5)稳健性/健壮性:Java是一个强类型语言,他的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。Java 的安全检查机制,使得 Java 更具健壮性;它允许扩展编译时检查潜在类型不匹配问题的功能。
    (6)安全性:Java的存储分配模型是它防御恶意代码的主要方法之一。
    (7)可移植性:Java环境本身对新的硬件平台和操作系统是可移植的。
    (8)高性能:Java是一种先编译后解释的语言。
    (9)多线程:Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线程、运行线程、停止线程和检查线程状态的方法。
    (10)动态性:Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

    二、JAVA开发环境配置

    1、下载JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
    2、配置环境变量:

    JAVA_HOME
    C:\Program Files\Java\jdk1.8.0_191
    CLASSPATH
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    Path
    %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    

    3、检查JDK是否安装成功
    “开始”->“运行”,键入"cmd";键入命令: java -version、javac 几个命令,出现以下信息,说明环境变量配置成功;
    在这里插入图片描述

    三、JAVA语言基本语法

    1、一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
    2、对象、类、方法、实例变量
    对象:对象是类的一个实例,有状态和行为;
    类:类是一个模板,描述一类对象的行为和状态;
    方法:方法就是行为,一个类可以有很多方法;
    实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
    3、命令行编译运行程序
    编译 javac Hellojava.java
    运行 java Hellojava
    4、基本语法
    (1)大小写敏感;
    (2)类名一般首字母大写,如果类名含有若干单词,则后面每个单词首字母大写;
    (3)方法名以小写字母开头,如果方法名含有若干单词,则后面每个单词首字母大写;
    (4)源文件名必须与类名相同,文件名后缀为.java ,如果文件名和类名不相同会导致编译错误;
    (5)主方法入口:所有的java程序由public static void main(String[] args)方法开始执行,也就是主方法。
    5、java标识符
    (1)标识符:类名、方法名、变量名都被称为标识符。
    (2)要求:

    • 所有标识符都应该以字母、美元符、或下划线开始;
    • 所有标识符只能由字母、美元符、下划线或数字组合;
    • 关键字不能用做标识符;
    • 标识符大小写敏感;

    6、java修饰符
    (1)访问控制修饰符:default, public, protected, private
    (2)非访问控制修饰符:final, abstract,static,synchronized
    7、java变量
    局部变量、类变量(静态变量)、成员变量
    8、java数组
    java的数组是存储在上的对象,可以保存多个同类型的变量。
    9、java枚举
    枚举限制变量只能是预先设定好的值;枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。关键字enum
    10、java注释
    单行注释://
    多行注释:/* */
    11、java关键字
    (1)访问控制修饰符

    关键字 说明
    private 私有的
    protected 受保护的
    public 公共的
    default 默认

    (2)类、方法、变量修饰符

    关键字 说明
    abstract 声明抽象
    class
    extends 扩充、继承,只能是单继承
    final 最终值,不可改变的(声明常量的关键字)
    implements 实现接口
    interface 接口,使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)
    native 本地、原生方法
    new 新,创建
    static 静态
    strictfp 严格、精准
    synchronized 线程、同步
    transient 短暂
    volatile 易失

    (3)程序控制语句关键字

    关键字 说明
    break 跳出循环,switch跳出一个分支;break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块;break 跳出最里层的循环,并且继续执行该循环下面的语句。
    case 定义一个值以供switch选择
    continue 继续,循环中跳出本次循环后续语句继续下一个循环;continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代;在 for 循环中,continue 语句使程序立即跳转到更新语句;在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
    default 默认
    do 运行
    else 否则
    for 循环
    if 如果
    instanceof 实例
    return 返回
    switch 根据值选择执行
    while 循环

    (4)错误处理、异常关键字

    关键字 说明
    assert 断言表达式是否为真
    catch 捕捉异常
    finally 有没有异常都执行
    throw 抛出一个异常对象
    throws 声明一个异常可能被抛出
    try 捕获异常

    (5)包相关

    关键字 说明
    import 引入
    package

    (6)基本类型(八大基本类型)

    关键字 说明
    boolean 布尔型
    byte 字节型
    char 字符型
    double 双精度浮点型
    float 单精度浮点型
    int 整型
    long 长整型
    short 短整型

    (5)变量引用

    关键字 说明
    super 父类、超类,通过super关键字来实现对父类成员的访问,用来引用当前对象的父类
    this 本类,指向自己的引用
    void 无返回值

    (6)保留关键字

    关键字 说明
    goto 是关键字,但不能使用
    const 是关键字,但不能使用
    null

    12、java循环结构

    (1)while 循环:

    while( 布尔表达式 ) {
      //循环内容  只要布尔表达式为 true,循环就会一直执行下去 先判断在执行
    }
    

    (2) do…while 循环

     do {
           //代码语句  无论条件是否满足都会先执行一次循环体 
           //布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
    }while(布尔表达式);
     
    

    (3) for循环

    for(初始化; 布尔表达式; 更新) {
        //代码语句
        /*最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
    然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
    执行一次循环后,更新循环控制变量。
    再次检测布尔表达式。循环执行上面的过程。*/
    }
    

    (4)增强 for 循环

    for(声明语句 : 表达式)
    {   //主要用于数组的增强型 for 循环
       //代码句子
      /* 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
    
    表达式:表达式是要访问的数组名,或者是返回值为数组的方法。*/
    }
    
    public class Test {
       public static void main(String args[]){
          int [] numbers = {10, 20, 30, 40, 50};
     
          for(int x : numbers ){
             System.out.print( x );
             System.out.print(",");
          }
          System.out.print("\n");
          String [] names ={"James", "Larry", "Tom", "Lacy"};
          for( String name : names ) {
             System.out.print( name );
             System.out.print(",");
          }
       }
    }
    
    10,20,30,40,50,
    James,Larry,Tom,Lacy,
    

    13、java条件分支语句
    (1)if…else…

    if(布尔表达式){
       //如果布尔表达式的值为true
    }else{
       //如果布尔表达式的值为false
    }
    

    (2)switch case语句

    switch(expression){
        case value :
           //语句
           break; //可选
        case value :
           //语句
           break; //可选
        //你可以有任意数量的case语句
        default : //可选
           //语句
    }
    
    • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
    • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
    • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
    • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
    • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
    • switch 语句可以包含一个 default 分支,该分支一般是 switch语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default分支不需要 break 语句。
    • switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有
      break,判断是否继续输出,或是跳出判断。

    四、JAVA变量类型

    java是强类型编程语言、动态类型(声明变量的时候需要指定变量的类型)、既有值类型也有引用类型。
    1、java数据类型
    变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
    (1)内置数据类型(基本数据类型)
    java提供了八大基本类型:4个整型、2个浮点型、1个布尔类型、1个字符类型。

    类型 说明
    byte 字节类型 整数型,-128–127 (-2^7 , 2^7-1) 八位有符号二进制位的整数,一个字节8个bit位,默认值为0
    short短整型 整数型,-32768–32767(-2^15, 2^15 - 1),16 位、有符号的以二进制补码表示的整数 ,默认值为0
    int整型 整数型,32位、有符号的以二进制补码表示的整数 -2^31 ,2^31 - 1 ,默认值为0
    long 长整型 整数型, 64 位、有符号的以二进制补码表示的整数 ,-2^63 ,2^63 -1 ,默认值是 0L ,如long a=100000L
    float 单精度、32位、符合IEEE 754标准的浮点数,默认值是 0.0f ,float f1 = 234.5f
    double 双精度、64 位、符合IEEE 754标准的浮点数,浮点数的默认类型为double类型,默认值是 0.0d double d1 = 234.5
    boolean 只有两个取值:true 和 false,默认值是 false
    char 一个单一的 16 位 Unicode 字符,char 数据类型可以储存任何字符,最小值是 \u0000(即为 0)最大值是 \uffff(即为65535) char c = ‘A’

    (2)引用数据类型

    • 在Java中,引用类型的变量类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
    • 对象、数组都是引用数据类型。
    • 所有引用类型的默认值都是null。
    • 一个引用变量可以用来引用任何与之兼容的类型。

    2、常量
    常量在程序运行时是不能被修改的,通常使用大写字母表示常量。在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:final double PI = 3.1415927;
    3、进制
    byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。当使用字面量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制。
    4、转义字符

    符号 含义
    \n 换行
    \r 回车
    \f 换页符
    \b 退格
    \0 空字符
    \s 空格
    \t 制表符
    \" 双引号
    \’ 单引号
    \\ 反斜杠
    \ddd 八进制字符
    \uxxxx 16进制unicode字符

    5、类型转换
    (1)自动类型转换
    整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级依次是:byte,short,char—> int —> long—> float —> double 。自动类型转换必须满足转换前的数据类型的位数要低于转换后的数据类型。

    (2)强制类型转换

    • 条件是转换的数据类型必须是兼容的;
    • 格式:(type)value type是要强制类型转换后的数据类型。

    (3)类型转换规则

    • 不能对boolean类型进行类型转换;
    • 不能把对象类型转换成不相关类的对象;
    • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换;
    • 转换过程中可能导致溢出或损失精度;
    • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。

    6、java变量类型
    (1)Java语言支持的变量类型有:

    • 类变量:独立于方法之外的变量,用 static 修饰;
    • 实例变量:独立于方法之外的变量(类中方法之外的),不过没有 static 修饰;
    • 局部变量:类的方法中的变量。

    (2)局部变量

    • 局部变量声明在方法、构造方法或者语句块中,局部变量只在声明它的方法、构造方法或者语句块中可见;
    • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁,作用域只在声明他的方法、构造方法或者语句块中;
    • 访问修饰符不能用于局部变量,无访问修饰符
    • 局部变量是在上分配的。
    • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

    (3)实例变量

    • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
    • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
    • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁(new创建对象);
    • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
    • 实例变量可以声明在使用前或者使用后;
    • 访问修饰符可以修饰实例变量;
    • 实例变量对于类中的方法、构造方法或者语句块是可见的;一般情况下应该把实例变量设为私有(关键字private);通过使用访问修饰符可以使实例变量对子类可见;
    • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
    • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

    (4)类变量

    • 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
    • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
    • 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static类型的变量。静态变量初始化后不可改变。
    • 静态变量储存在静态存储区。经常被声明为常量(static final),很少单独使用 static 声明变量。
    • 静态变量在第一次被访问时创建,在程序结束时销毁。
    • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
    • 默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
    • 静态变量可以通过:ClassName.VariableName(类名.变量名)的方式访问。
    • 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

    7、java修饰符
    (1)访问控制修饰符

    • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
    • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)、接口。被声明为 private 的方法、变量和构造方法只能被所属类访问;声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
    • public : 对所有类可见。使用对象:类、接口、变量、方法。Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类。
    • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)、接口。子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。
      在这里插入图片描述

    访问控制和继承

    • 父类中声明为 public 的方法在子类中也必须为 public。
    • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
    • 父类中声明为 private 的方法,不能够被继承。

    (2)非访问控制修饰符

    • static 修饰符,用来修饰类方法和类变量(静态变量、静态方法)。对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问。
    • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义(可继承不可重写),修饰的变量为常量,是不可修改的。final 修饰符通常和 static 修饰符一起使用来创建类常量。
    • abstract 修饰符,用来创建抽象类和抽象方法。抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。
    • synchronized 和 volatile 修饰符,主要用于线程的编程。synchronized 关键字声明的方法同一时间只能被一个线程访问。volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。

    抽象方法(abstract ):

    • 抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。
    • 抽象方法不能被声明成 final 和 static。
    • 任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
    • 如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。
    • 抽象方法的声明以分号结尾,例如:public abstract sample();

    final关键字:
    final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。
    声明类:final class 类名 {//类体}
    声明方法:修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}
    实例变量也可以被定义为 final,被定义为 final 的变量不能被修改。被声明为 final 类的方法自动地声明为 final,但是实例变量并不是 final。
    8、java运算符
    (1)java运算符

    • 算术运算符:+ - * /(整除) %(取余) ++ – (++i)i先加1,(i++)i 先执行操作再加1; 前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
      后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算
    • 关系运算符:== != > < >= <=
    • 位运算符:&(全1才是1) |(全零才是0) ^(异或 相同为0不同为1)~非 (取反 )<<左移(左移1位相当于乘以2) >> 右移(相当于除以2)>>> (按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充)
    • 逻辑运算符:&& || !
      短路逻辑运算符:当使用“与”逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了;“或” 也一样,当第一个操作为true,结果必为true,第二个也不需要判断了。
    • 赋值运算符:= 、+=、-=、*=、/=、(%)=、<<=、>>=、&=、^=、|=
    • 条件运算符(三元运算符)?: variable x = (expression) ? value if true : value if false
    • instanceof 运算符:该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)

    (2)java运算符优先级
    从高到低依次为:(除标注其余都是从左到右)

    • 后缀 () [] . (点操作符)
    • expr++ expr–
    • ++expr --expr + - ~ ! 从右到左
    • 乘性 * /%
    • 加性 + -
    • 移位 >> >>> <<
    • 关系 > >= < <=
    • 相等 == !=
    • 按位与 &
    • 按位异或 ^
    • 按位或 |
    • 逻辑与 &&
    • 逻辑或 | |
    • 条件 ?: 从右到左
    • 赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
    • 逗号 ,

    五、方法、类、对象、接口和函数

    1、继承:
    (1)继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
    (2)在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类;主要是提高代码的复用性,可维护性大大提高。
    (3)利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。
    (4)java不支持多继承,但支持多重继承。就是子类只能有一个父类,一个父类可以有多个子类(也可以有子孙类)。
    (5)特性:

    • 子类拥有父类非 private 的属性、方法。
    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
    • 子类可以用自己的方式实现父类的方法。
    • Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,这是 Java 继承区别于 C++ 继承的一个特性。
    • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
      (6)构造方法
      子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。
    class 父类 {
    }
     
    class 子类 extends 父类 {
    }
    

    (7)重写和重载

    2、接口:
    (1)接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

    未完待续。。。

    参考资料
    【1】java百度百科https://baike.baidu.com/item/Java/85979?fr=aladdin
    【2】Java语言的发展简史https://blog.csdn.net/wxb141001yxx/article/details/80786680
    【3】Java语言的发展史https://www.cnblogs.com/chenmingjun/p/8404386.html
    【4】Java菜鸟教程https://www.runoob.com/java/java-tutorial.html

    展开全文
  • 27.设AX、BX寄存器中存放的有符号的进制数据,若执行“CMP AX,BX”指 令后,( )L表示大于则转L。 A.JZ B.JA C.JGE D.JG 28.执行“DIV BX”指令后,( )寄存器中存放商。 A.AL B.AH C.AX D.DX 29....
  • 我又试了一下,这样对的,为什么啊? 请输入:s 请输入第个字母 u 星期日 Program ended with exit code: 0 */ 后来我 把第24行的 ‘a’ 改为 'u' 把第25行的 星期六 改为 星期日 把第27...
  • what w【像弯曲的波浪-水-水底下是个未知的世界,所以w可以表示未知、什么】,h【跟在辅音字母后面的h表示:“很、十分、相当”等程度,因为h是高的意思】,t【像钉子-站立】→什么东西站在哪里? that t【伸-指...
  • 11、证券投资和对外借贷是什么性质的投资(国家投资、私人投资、直接投资、间接投资) 12、泰勒被称为 13、我国在日本发行的债权叫什么 14、需求弹性大于1什么的(答案有奢侈品——我就选的这个,就记住这个了,也...
  • o0 C5 N1 @$ j/ Q% H0 V7 w$ r一个域的活动目录类似于一本书的目录,那么全局目录就好像一系列书的总目录。在全局目录中包含一个已有活动目录对象属性的子集。默认情况下,存储在全局目录中的对象属性那些经常...
  • opengl 期末复习资料

    2015-06-12 10:34:48
    1、 OpenGL中能渲染的基本元素是什么?GLU 可以渲染哪些基本元素? 第三章 2、 用框图说明OpenGL的渲染流程,并简要说明每个坐标系。 第四、章 3、 写出OpenGL中局部光照的方程,要包含的系数有光源参数、材料...
  • 4.1.5 用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。 4.1.6 JAVA8的ConcurrentHashMap为什么放弃了分段锁,有...
  • php高级开发教程说明

    2008-11-27 11:39:22
    后在适当的地方加以例外处理,当写一个应用程序时,应该知道你的代码从事的是什么工作, 能够快速地从一点转到另一点—但其他人可能认为这并不容易。如果你从开发组的某个人手 中获得一个源文件并需要添加一些特征,...
  • 好吧,现在我们说说正则表达式里的单词是什么意思吧:就是不少于一个的连续的\w。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大 :) \d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是...
  • .Linux操作系统上有什么应用?.....................................................................................4 六.在那里可以找到讨论区?..........................................................
  • 从法律的角度上来说“房东”的行为非法的,但如果合同上原房东与房东签订的协议中,原房东明确表示同意房东实施转租,那么目前的法律机制上无法限制房东的行为。若合同上原房东明确表示不允许转租等调理,...
  • 操作系统的大类型批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:将...
  • Unix/Linux 编程实践教程.PDF

    千次下载 热门讨论 2010-09-03 18:34:12
    2.5.3 编写 whol,c 2.5.4 显示登录信息 2.5.5 编写 who2.c 2.5.6 回顾与展望 2.6 编写 cp(读和写) 2.6.1 问题 1:cp 命令能做些什么 2.6.2 问题 2:cp 命令如何创建/重写文件的 2.6.3 问题 3:如何编写...
  • 8、 进制代码 1011000000000000101的差分码 ;HDB3码 +1 。 9、在ΔM系统中,输入信号f(t)=Acosωkt,抽样速率为fs,量化台阶为δ,要求系统不出现过载现象,而且能正常编码,输入信号f(t)的幅度范围应为 。 ...
  • 一、选择题(每题1分,共30分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项正确的,请将正确选项的标记写在题干后的括号内。...、简答题( 每1问2分,共20分 ) 阅读程序(或程序片段)并回答问题 。 ...
  • 什么不用线性回归的代价函数表示,因为线性回归的代价函数可能是非凸的,对于分类问题,使用梯度下降很难得到最小值,上面的代价函数凸函数 的图像如下,即y=1时: 可以看出,当趋于1,y=1,与预测值一致,...
  • 大学文献检索资料 DOC

    2009-11-28 10:35:24
    1.什么是科技文献? 含有知识内容的信息载体。 2.构成文献的三要素:知识内容、物质载体、记录手段。 3.文献的基本功能:存储知识信息、传播知识信息。 4. 科技文献的特点: 形式多、文种多。数量多、增长快。交叉...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    w:并不真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。 -f:没有调用shutdown,而强制关机或重启。 -i:关机(或重启)前,关掉所有的网络接口。 -f:强迫关机,不呼叫shutdown这个指令。 -p: 当...
  • 这样,因为w 在if 语句里定义的,所以当if 语句执行完后它就无效了。这样 导致的后果就是,按下enterBtn 后,主界面窗口一闪就没了。如果此时对程序 改动了,再次点击运行时,就会出现error: collect2: ld ...
  • AspJpeg 2.4.0.1

    2012-06-20 15:08:42
    session("random_num")=random_num 为什么调用session,没有session的安全码完全没有意义的。呵呵 Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件 Jpeg.Open Server.MapPath("infos/random_pic/...
  • TCP matches,顾名思义,这只能用于TCP包;第三类UDP matches, 当然它只能用在UDP包上了;第四类ICMP matches ,针对ICMP包的;第类比较特殊,针对的状态,指所有者和访问的频率限制等。在此,只...
  • flash shiti

    2014-03-14 10:32:41
    8.Flash中Remove movie clip指的是什么? A. 删除已复制的电影夹子 B. 删除电影夹子 C. 移动电影夹子 D. 复制电影夹子 9.Flash可接受的当鼠标放在按钮上时产生效果的鼠标操作是哪个? A. Press B. Release C....

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

五w二h是什么