精华内容
下载资源
问答
  • 面向对象是把整个需求按照特点、功能划分,将这些存在共性部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题步骤中行为 (这里为了区分一下面向过程,下面解释一下面向过程,...
    • 面向对象的三大特性:封装,继承,多态
      (这个直接回答,但是要了解是如何实现的,如果面试官想就这个问题继续提问的话)

    • 什么是面向对象? (老生常谈,但长话短说就行)
      面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为
      (这里为了区分一下面向过程,下面解释一下面向过程,直接背就行了)

    • 面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可

    展开全文
  • java(三)四大特性

    千次阅读 2018-10-01 20:55:04
    今天给大家分享一篇纯文字博客,因为我觉得这篇文章代码演示意义不是很大,因为思想这个东西在于理解。今天就来说一下JAVA核心思想。  JAVA核心思想:面向对象,一切事物皆对象。而面向对象四个特性才...

    今天给大家分享一篇纯文字的博客,因为我觉得这篇文章代码的演示意义不是很大,因为思想这个东西在于理解。今天就来说一下JAVA的核心思想。  

    JAVA的核心思想:面向对象,一切事物皆对象。而面向对象的四个特性才构成了面向对象。下面我将为你举出一些例子帮助你理解:
      1.抽象:比如,我们将水果看做一个对象,而水果中又有苹果、梨子等等一系列的分类,在我们眼中,水果是对象,而苹果、梨子等也都是对象,对一个苹果而言,你会关心这个苹果产自哪里,苹果是姓什么吗?不会,这就是抽象,去掉我们不关心的,我们只关心它就是个苹果

      2.继承:继续上面我们将水果看做一个对象,那么所有的水果都有颜色、味道等一系列属性,而这些属性在苹果、梨子等都是一定会有的,那么我们的苹果就可以继承于水果,因为它具有水果的一切特性,但是它还有自己的特性,这就便于我们自己对其定义新属性

      3.封装:继续上面,水果的属性有很多,颜色、味道等等,我们怎么才能表达出最完整的水果?这就是封装,将水果的特性包装在一个javabean,这样一个完美的水果就诞生了

      4. 多态性:接着上面,一个苹果具有水果的全部特性,但是仅仅是这样吗?苹果还能作为蔬菜做饭(如苹果酱等),那么我们怎么才确定它和蔬菜的关联呢?这就是多态了,它不仅有一个水果的特性还有其他种类的特性,在具有水果的全部特性前提下(继承),我们就需要为苹果添加一个蔬菜的接口,接口中定义了蔬菜的特性方法,但是我们不必像继承那样实现所有的方法,我们只需要实现需要的做饭这一个特性方法就行了,这就是接口,这就是多态。

    Java的特性如果别人问你三种你只需要说封装、继承、多态。如果是四种 你只需要把抽象加上。现在我大概的用自己的理解来给你解释一下四大特性的概念。

    首先说封装,封装其实就是将重复的代码抽出来反复用,这样既加快了开发效率,也增加了代码的可读性。

    继承、多态、抽象这三个特性是息息相关的。为什么说息息相关,就用刚才举的例子,我有一个水果类,我让一些类都继承了这个水果类,然后继承了这些水果类既有了水果的特征属性也可以有自己独特的属性,所以呢一般子类功能都比父类强大。这就是继承的概念。 Java里面的类所有的类都继承Object,注意Java里面的类只能单继承。

    接下来我们再说多态,用上面举的例子,香蕉继承了水果拥有了水果的属性特征,我们可以说香蕉是一种水果,但是我们不能说水果是一种香蕉。 在代码中我们可以声明一个父类对象变量, 然后new 一个子类对象赋给父类对象变量,我们就可以通过这个父类变量来调用这个子类对象中的方法,如果子类重写了父类中的方法,调用的就是子类的方法,如果没有重写父类的方法,那么调用的方法就是父类的方法。相信大家都有这样的过这样的经历,封装一个对象的时候调用方法莫名其妙多了一下自己没写的方法,那些方法都源于Object类,其实这就是多态。

    最后我们说抽象,抽象你可以理解为是一种模板,首先呢我们先说说抽象类,抽象类是不能被实例化的,只能用子类对象的实例化来赋给抽象类,也就是说抽象类只能通过多态来实现自己里面的方法,而是子类还必须重写,那么相应的就有抽象方法,抽象方法是没有方法体的,只能被实现的子类重写。所以抽象的天生就是被继承的,上面我说了抽象、多态、继承是息息相关的。这三个特性,使用起来很简单,重要的是在于理解,java的核心思想,只要理解了后面的知识都会很好学的。

    在刚才举到的例子里面我们提到了接口,其实接口呢是为了让Java能和C++一样能实现多继承而生的,一个类不能继承多个类但是能实现多个接口,接口的基本概念就是里面只有常量和抽象方法,当然接口也可以理解为是一个抽象类,是不能实例化出来对象的。接口相比抽象类更像是一种标准的规范要求。 

    展开全文
  • 本文描述了越来越受欢迎微服务架构模式(Microservicearchitecturepattern)。微服务背后大创意是将大型、复杂...微服务架构本质并不是一个新事物。分布式系统概念是非常古老。微服务架构也类似于SOA。在
  • mysql事物详解

    2018-09-12 15:10:08
    前言:事物是什么?...下面本文详细一一介绍事物是什么,事物的特性,怎么使用等等。 1. 事物是什么  所谓事物,在我的理解中就是一系列操作的一个集合,一旦其中一个操作失败,那么整个操作集合必...

    前言:事物是什么?作为一个java程序员,也许我们仅仅只是停留在会使用的程度上,会通过在类上或者方法上使用@Transactional注解的方式来使用事物,但是背后的原理,为什么使用这个注解就能使事物生效可能并不是很清楚。下面本文详细一一介绍事物是什么,事物的特性,怎么使用等等。

    1. 事物是什么

        所谓事物,在我的理解中就是一系列操作的一个集合,一旦其中一个操作失败,那么整个操作集合必须全部失败,回滚到事物之前的状态。事物的出现是为了确保数据的完整性和一致性。

    2. 事物的特性

         事物具有四大特性:

              2.1. 原子性 :原子性是指事务是一个不可分割的工作单位,是一个整体,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的增删改的sql,要么全部执行成功,要么全部执行失败,全部失败的同时,数据必须回滚到事物操作的状态之前。

              2.2 一致性: 一致性指的是 事务在完成时,必须是所有的数据都保持一致状态(所有数据必须符合业务规则,否则事务必须中止),举个例子: 例如A和B的账户总和有1W块钱,不管A和B之间怎么进行转账,那么A和B的账户总额还是1W块钱,除非A或者B有取钱或存钱的动作,也就是说事物使数据库中的数据从一个一致性的状态到达另外一个一致性状态。

              2.3 隔离性:隔离性指的是:多个事物之间互不影响,并发访问数据库时,每个访问都会开启一个事物,多个事物之间具有隔离性,多个事物的操作的结果互不影响。

              2.4 持久性:持久性其实很好理解;就是事物一旦提交,那么事物操作对数据库中数据的影响必须是持久性的,即影响的数据必须是持久性的存储起来。

    3. 事物的五种隔离级别 

        事物的四大特性中,最复杂,最难以理解的是事物的隔离性,多个线程并发访问数据库时,数据库必须提供相应的隔离性以确保操作之间不互相影响。

         如果数据库事物没有提供相应的隔离性,那么在并发操作数据库时,可能会出现下面的问题:

         1.  脏读 

              一个事务读到另一个事务未提交的更新数据,就是有A,B两个事物,B事物做了更新的操作,此时B事物还没有提交,但是在A事物中,能够读到B事物中提交的结果。

         2. 不可重复读

              不可能重复读是在同一个事物内,多次查询表中的同一行数据,发现多次查询的结果不一致。

    不可重复读和脏读的区别在于,不可重复读读取的是同一个事物中已提交的数据,脏读读取的是不同事物中未提交的数据。

         3. 幻读

              幻读指的是:读取同一张表中的数据,发现多次读取的结果集不一致(也就是表中的数据总行数不一致),也就说读取到了另外一个事物插入的数据。

    不可重复读和幻读的区别在于:不可重复读读取的是同一张表同一行的数据,而幻读读取的是同一张表中的数据。

    mysql中的事物定义了四种隔离级别:
    3.1 TRANSACTION_READ_UNCOMMITTED(读未提交)

           读未提交是 也就是上面说的脏读,是事物隔离级别中的最低级别,下面的三种情况都不能保证,也就说会产生脏读,不可重复读和幻读

    3.2 TRANSACTION_READ_COMMITTED (读已提交)

           读已提交可以避免脏读的发生。也就是说一个事物提交了,那么提交的数据才能被另外一个事物读取,没有提交,是不能被另外一个事物读取的。

    3.3 TRANSACTION_REPEATABLE_READ (可重复读)

           可重复读可以避免脏读和不可重复读的发生。但是可能出现幻读的情况发生。

    3.4 TRANSACTION_SERIALIZABLE (串行化)

           串行化可以避免脏读和不可重复读和幻读的发生,这种是代价最为昂贵的但是最可靠的事物。

    mysql中事物的默认隔离级别是TRANSACTION_REPEATABLE_READ (可重复读)

    我们可以在sql命令行中使用select @@tx_isolation来查看当前数据库的事物隔离级别。

    使用 set transaction isolation level 隔离级别名    来设置数据库的事物隔离级别。

    其中mysql事物中能保证的功能越多,并发性能越差,其中TRANSACTION_SERIALIZABLE的并发性能是最差的。

    展开全文
  • 如果你想检测你浏览器究竟支持 HTML 5 哪些特性,可以查看下面我们介绍一种方法。 当 浏览器渲染 web 页面时候,它会构造一个文档对象模型(Document Object Model,DOM)。这是一组用于表现页面上 HTML ...
  • redis系列之——事物及乐观锁

    千次阅读 2020-07-19 17:46:42
    学习mysql的时候,我们常说mysql是有事物的,事物有ACID四个特性,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 redis有事物吗?是怎样的呢?下面就使用实际测试的...

    Redis系列目录

    redis系列之——分布式锁
    redis系列之——缓存穿透、缓存击穿、缓存雪崩
    redis系列之——Redis为什么这么快?
    redis系列之——数据持久化(RDB和AOF)
    redis系列之——一致性hash算法
    redis系列之——高可用(主从、哨兵、集群)
    redis系列之——事物及乐观锁
    redis系列之——数据类型geospatial:你隔壁有没有老王?
    redis系列之——数据类型bitmaps:今天你签到了吗?
    布隆过滤器是个啥!

    学习mysql的时候,我们常说mysql是有事物的,事物有ACID四个特性,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

    redis有事物吗?是怎样的呢?下面就使用实际测试的情况,告诉大家结果。

    事物 (multi / exec /discard)

    在redis中,是有事物的。但是redis的事物是弱事物。事物没有隔离级别,事物中的多条命令也不是原子性的。正是这些原因,在实际的生产中,也很少用到redis的事物。

    redis事物本质:一组命令的集合。事物中的所有命令都会被序列化,存放到队列中,事物执行过程中,命令按顺序往下执行。

    redis单条命令保证原子性,多条命令不保证原子性。

    1.正常事物执行

    redis的事物使用有三步:

    • 开启事物 (multi)

    • 命令入队 (需要执行的命令写入队列,先进先出,队列中是一组命令。)

    • 执行事物 (exec)

    正常事物展示:

    127.0.0.1:6379>
    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> multi  #开启事物
    OK
    127.0.0.1:6379> set name wuxl  #命令入队
    QUEUED
    127.0.0.1:6379> set age 30    #命令入队
    QUEUED
    127.0.0.1:6379> get name     #命令入队
    QUEUED
    127.0.0.1:6379> set addr shanghai  #命令入队
    QUEUED
    127.0.0.1:6379> exec    #执行事物 
    1) OK
    2) OK
    3) "wuxl"
    4) OK
    127.0.0.1:6379>
    

    上面的事物提交后,会按顺序依次执行四个命令,执行完成后退出事物。

    2.取消事物

    事物开启后,也可以取消事物(discard):

    127.0.0.1:6379>
    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> multi
    OK
    127.0.0.1:6379> set name wuxl
    QUEUED
    127.0.0.1:6379> set age 30
    QUEUED
    127.0.0.1:6379> discard   #取消事物
    OK
    127.0.0.1:6379> get age   #事物中的命令未执行,这里查询不到
    (nil)
    127.0.0.1:6379>
    

    3.事物报错

    编译错误

    编译时报错,是因为队列中的命令本身有问题,导致在命令入队的时候就报错;有编译错误的时候,执行exec会提示失败,所有的命令都不能执行。

    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> multi
    OK
    127.0.0.1:6379> set name wuxl
    QUEUED
    127.0.0.1:6379> get            # 错误命令,入队时报错
    (error) ERR wrong number of arguments for 'get' command
    127.0.0.1:6379> set age 30
    QUEUED
    127.0.0.1:6379> exec           # 事物提交报错,所有的命令都不能执行
    (error) EXECABORT Transaction discarded because of previous errors.
    127.0.0.1:6379> get name       # 查询不到结果
    (nil)
    127.0.0.1:6379> get age
    (nil)
    127.0.0.1:6379>
    

    运行错误

    运行时错误,是入栈的命令本身没有错误,但是在出队执行的时候报错,比如下面对String做自增操作。

    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> set name wuxl        # 初始化name,是string
    OK
    127.0.0.1:6379> multi
    OK
    127.0.0.1:6379> set age 30
    QUEUED
    127.0.0.1:6379> incr name            # 入队的命令,对name做自增。命令本身没有问题,但是执行时会报错
    QUEUED
    127.0.0.1:6379> set addr shanghai
    QUEUED
    127.0.0.1:6379> exec                 # 提交任务,依次执行每一个命令
    1) OK
    2) (error) ERR value is not an integer or out of range   # 第二个命令报错
    3) OK
    127.0.0.1:6379> get name                                 
    "wuxl"
    127.0.0.1:6379> get age               # 其他的命令都执行成功了
    "30"
    127.0.0.1:6379> get addr
    "shanghai"
    127.0.0.1:6379>
    

    这里可以看出,运行时报错了,但是事物不会回滚,而且,出错后不会影响后续的命令执行,只会有出错的那一条命令执行失败。所以,对于队列中的命令,是不存在原子性的

    乐观锁 (watch)

    1.乐观锁和悲观锁

    悲观锁

    认为出现并发问题的可能性比较大,比较悲观。这时需要真正的加锁处理。加锁会降低性能。

    乐观锁

    认为出现并发问题的可能性比较小,比较乐观。这时不需要加锁,只需要在执行修改操作的时候,比较一下原来的数据是否发生变化,如果没有变化就修改,有变化就不修改。在mysl中通常是使用version字段处理。

    redis提供了watch命令,可以监控修改数据时,数据是否被其他线程修改过,如果修改过,则本次修改失败,如果没有修改过,则修改成功。其实watch命令就可以看做是redis的乐观锁的实现。

    2.转账模拟

    下面,模拟的场景是两个账户转账的业务。

    单线程模拟

    正常转账过程:

    127.0.0.1:6379> flushall     #清空数据库
    OK
    127.0.0.1:6379> set acc1 1000 #付钱账户有1000元
    OK
    127.0.0.1:6379> set acc2 0     #收钱账户有0元 
    OK
    127.0.0.1:6379> multi          #开启事物
    OK
    127.0.0.1:6379> decrby acc1 100 #付钱账户扣款100
    QUEUED
    127.0.0.1:6379> incrby acc2 100 #收钱账户收款100
    QUEUED
    127.0.0.1:6379> exec            #执行事物
    1) (integer) 900
    2) (integer) 100
    127.0.0.1:6379> get acc1         #付钱账户现在有900
    "900"
    127.0.0.1:6379> get acc2         #收钱账户现在有100
    "100"
    127.0.0.1:6379>
    

    上面单线程模拟转账后,付钱账户付完钱后还有900,收钱账户现在有100。这是正常过程。

    并发模拟

    在这个过程中,如果在执行exec前,有人想acc1中充了1000元,这个时候就会出现并发问题,如果这时不使用锁,执行完成exec后,结果会怎样呢?结果会是acc1有1900,acc1有100,这个结果也是正确的。为啥?因为redis的事物没有隔离性,两个事物会相互影响

    如果需要在执行exec时,比较acc1有没有发生变化,如果变化了,就转账失败。该如何处理呢,这就可以使用redis的watch做乐观锁。下面模拟两个客户端同时修改redis数据,使用watch做乐观锁的情况。

    第一步:初始化两个账户的金额。acc1是付钱账户,acc2是收钱账户。

    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> set acc1 1000   #付钱账户
    OK
    127.0.0.1:6379> set acc2 0      #收钱账户
    OK
    127.0.0.1:6379>
    

    第二步:使用客户端一,开启watch监听acc1是否发生变化,同时开启事物,命令入队(转账100元),先不执行事物。

    127.0.0.1:6379>
    127.0.0.1:6379> watch acc1    # 使用watch监控acc1的账户在执行事物时是否发生变化
    OK
    127.0.0.1:6379> multi         # 开启事物
    OK
    127.0.0.1:6379> decrby acc1 100   #模拟付钱
    QUEUED
    127.0.0.1:6379> incrby acc2 100   #模拟收钱
    QUEUED
    127.0.0.1:6379> 
    

    第三步:使用客户端二,修改acc1账户的金额。

    127.0.0.1:6379>
    127.0.0.1:6379> incrby acc1 1000 # 模拟向acc1的账户再存款1000
    (integer) 2000
    127.0.0.1:6379> get acc1         # 这是acc1的账户发生变化,有2000  
    "2000"
    127.0.0.1:6379>
    

    这里可以看到,客户端二执行成功了!!!如果是mysql,这个时候,客户端二应该是被阻塞的,必须要等客户端一执行完成后,这里才能成功。这也就是上面说的redis的事物没有隔离性,会相互影响。

    第四步:使用客户端一,执行事物。

    127.0.0.1:6379> exec            # 执行事物,执行时,会比较acc1是否发生变化,如果变化,就执行失败;如果acc1未变化,就执行成功
    (nil) #执行失败
    127.0.0.1:6379> get acc1
    "2000"
    127.0.0.1:6379> get acc2
    "0"
    127.0.0.1:6379>
    

    这里可以看出由于客户端二修改了acc2的账户金额,在客户端一执行exec前,watch监控到acc1的金额发送了变化,所以客户端一的转账过程就失败了。这里其实就是使用watch实现了一个乐观锁。

    完成,收工!

    传播知识,共享价值】,感谢小伙伴们的关注和支持,我是【诸葛小猿】,一个彷徨中奋斗的互联网民工!!!

    展开全文
  • 这些概念具体语法形式可能都不一样,但是所内涵功能是一致,比如英语中bird和汉语中鸟,其实指都是同一种事物,关键是它们怎么运作,而不是它们形式是什么。 掌握语言特性,一开始要掌握最基本、最...
  • java中的子类是什么发布时间:2020-06-26 15:57:41来源:亿速云阅读:152作者:Leahjava中的子类是什么?很多新手对此不是很清楚,...继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物...
  • 劳德巴克(Jim Louderback)近日发表分析文章,列出了他所看到七大Web2.0新特性和新鲜事物下面为这篇文章主要内容: 如果你不是生活在火星,就一定听说过Web2.0.Web2.0是互动、社区驱动网络应用统称,它有...
  • JavaScript 继承实现

    2020-12-10 07:25:38
    面向对象与基于对象 几乎每个开发人员都有面向对象语言... 这里面就有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子: // 定义一个函数 – add
  • 最常用javascript验证

    2009-06-30 10:37:54
    JScript 不是其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,...
  • 首先要知道的是Webpack有许许多多的特性,一些是”开发模式“下才有的,一些是”生产模式“下才有的,还有一些是两种模式下都有的。 <p><img alt="A sample dev v/s prod Webpack files" src=...
  • ES6 实现自己 Promise

    2020-12-26 19:05:55
    JavaScript引擎是基于事件循环或单线程这两个特性的。更为甚者在浏览器中,更新UI(也就是浏览器重绘、重拍页面布局)和执行JavaScript代码也在一个单线程中,可想而知,一个线程就相当于只有一条...
  • ASP.NET网页代码模型及生命周期

    热门讨论 2009-07-28 14:22:11
    从上述代码中可以看出,在头部声明的时候,单文件页模型只包含Language=“C#”,而代码隐藏页模型包含了CodeFile=“Default.aspx.cs”,说明被分离出去处理事物的代码被定义在Default.aspx.cs中,示例代码如下所示。...
  • 面向对象与基于对象  几乎每个开发人员都有面向对象语言(比如C++、... 这里面有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子: var doc; //
  • 面向对象与基于对象 几乎每个开发人员都有面向对象语言... 这里面就有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子: // 定义一个函数 – add
  • 面向对象与基于对象 几乎每个开发人员都有面向对象语言... 这里面就有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子: // 定义一个函数 - add f
  • 儿童美术创意绘画图片儿童美术创意绘画图片1儿童美术创意绘画图片2儿童美术创意绘画图片3儿童美术创意绘画图片4儿童美术创意绘画图片5少儿美术教学中观察的重要性注重观察事物的特性比如向日葵,孩子们更喜欢叫他向...
  • 什么是软件性能 定义:软件性能是软件一种非功能特性,它关注的不是软件是否能够完成特定功能,而是在完成该功能时展示出来及时性。不同群体眼中性能 不同人由于人生观、世界观、价值观以及教育背景、...
  • 我简历上写的就业方向是C++后台开发,但捞我的部门是做java开发的,面试官确认我同意转语言就没纠结这个(当然没问和java直接相关的问题)。...5.什么是事物,事物的四个特性? 6.redis用过吗?有哪几种数据结构?什么是
  • 再遇面向对象

    热门讨论 2015-12-04 18:13:23
    面向对象是一个漫长过程,应该贯穿我们整个学习阶段吧,再次遇见面向对象,再总结一下。...是对象和类概念主要特性下面说一说对象和类。 对象和类 //对象//是看得见摸得着 例如电脑点灯就不是
  • 学外语时首先是使用它而不是先学它的语法和组词造句,当你花了一定的时间来运用外语后,就很容易理解...最上面的区域是类名,中间区域是类的属性,最下面区域里列的是类的操作。类图就是由这些类框和表明类之间如何...
  • RNN网络实现二进制加法...'利用RNN网络特性(能够记忆之前的事物),使RNN网络学会二进制加法,即能正确完成加法和进位两种操作' "激活函数为sigmoid" import copy, numpy as np np.random.seed(0) #定义
  • javascript参考文件.chm

    2019-08-28 15:48:48
    JScript 不是其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,...
  • 面向对象符合人类看待事物的一般规律。其次,采用面向对象方法可以使系统各部分各司其职、各 尽所能。为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更强的可重 用性。有人说PHP 不是一个...
  • 因最先进入队列的元素将最先出队,所以队列具有先进先出的特性,体现“先来先服务”的原则。 队头元素q1是最先被插入的元素,也是最先被删除的元素。队尾元素qn是最后被插入的元素,也是最后被删除的元素。因此,与...
  • ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

下面不是事物的特性的是