刷题杂记 ①

  1. 视图:
    1. 是虚拟存在的表,视图所对应的数据不做实际的存储,数据库只存储视图的定义
    2. 把一条sql的查询结果存放在一个视图里面,下次在查的时候,就不走sql了,直接取走视图
  2. 集群的主要瓶颈是 磁盘IO
  3. Hive的文件存储格式:
    1. textFile默认格式 行存储  磁盘&数据解析 开销大 压缩的text文件,hive无法进行合并拆分
    2. sequencefile二进制文件,以<key>形式序列化到文件中存储  行存储 可分割可压缩 与hadoop api中的mapfile是相互兼容的
    3. Rcfile存储方式,数据按行分块,每块按列存储,压缩快,快速列存取,
    4. ORC 数据按行分块,每块按照列存储,压缩快,快速列存取,效率比rcfile高,是rcfile的改良版本
    5. 自定义格式 用户可以通过实现inoutformat和outputformat来顶会议输入输出格式。
  4. 数据仓库主要用于存储数据,存储在数据仓库的数据一般不会再修改。
  5. hadoop2.X中,HDfS中的block默认保存3份,默认大小是128M
  6. SQL语言包括
    1. DDL数据定义语言 Definition 例如 create alter drop
    2. DML  数据操作语言 Manipulation   insert update delete
    3. DCL 数据控制语言 用来授予或回收访问数据库的某种特权 Control commit  rollback
    4. DQL 数据查询语言 Query  SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>组成的查询语句
  7. RAM 随机存取存储器 Random Access Memory 也叫主存,是与cpu直接交换数据的颞部存储器,可以随时读写(刷新时候除外)通常作为临时数据存储介质。
  8. Hadoop的认知   从HDFS和MapReduce方面谈即可
  9. hive内部表和外部表的区别:
    1. 内部表:建表时会在 hdfs 创建一个表的存储目录,增加分区的时候,会将数据复制到此location下,删除数据的时候,将表的数据和元数据一起删除。

    2.  

      外部表:一般会建立分区,增加分区的时候不会将数据移到此表的 location下,删除数据的时候,只删除了表的元数据信息,表的数据不会删除。  

       

  10. hive中,什么情况下容易出现数据倾斜,如何解决? 
    1. 倾斜原因: map输出数据按key Hash的分配到reduce中,由于key分布不均匀、业务数据本身的特、建表时考虑不周、等原因造成的reduce 上的数据量差异过大。 1)、key分布不均匀; 2)、业务数据本身的特性; 3)、建表时考虑不周; 4)、某些SQL语句本身就有数据倾斜; 如何避免:对于key为空产生的数据倾斜,可以对其赋予一个随机值。 解决方案 1>.参数调节: hive.map.aggr = true hive.groupby.skewindata=true 有数据倾斜的时候进行负载均衡,当选项设定位true,生成的查询计划会有两个MR Job。第一个MR Job中,Map的输出结果集合会随机分布到Reduce中,每个Reduce做部分聚合操作,并输出结果,这样处理的结果是相同的Group By Key有可能被分发到不同的Reduce中,从而达到负载均衡的目的;第二个MR Job再根据预处理的数据结果按照Group By Key 分布到 Reduce 中(这个过程可以保证相同的 Group By Key 被分布到同一个Reduce中),最后完成最终的聚合操作。 2>.SQL 语句调节: 1)、选用join key分布最均匀的表作为驱动表。做好列裁剪和filter操作,以达到两表做join 的时候,数据量相对变小的效果。 2)、大小表Join: 使用map join让小的维度表(1000 条以下的记录条数)先进内存。在map端完成reduce. 4)、大表Join大表: 把空值的key变成一个字符串加上随机数,把倾斜的数据分到不同的reduce上,由于null 值关联不上,处理后并不影响最终结果。 5)、count distinct大量相同特殊值: count distinct 时,将值为空的情况单独处理,如果是计算count distinct,可以不用处理,直接过滤,在最后结果中加1。如果还有其他计算,需要进行group by,可以先将值为空的记录单独处理,再和其他计算结果进行union。
  11. Oracle有几种表关联方式,有何区别? 
    1. inner join、内连接,当关联的左右两个表记录都存在时,记录才会出现在关联结果中。
    2. left join、外连接、保证左表记录都保留在关联结果中,而记录在右表总关联不上的则置为空
    3. right join、外连接、保证右表记录都保留在关联结果中,而记录在左表总关联不上的则置为空
    4. full outer join。外连接、则保证左右两个表都会出现在关联结果汇总,若记录在左表或右表中关联不上,则置为空。
  12. System.in.read()标准输入流
  13.  
    1. 静态方法,可以直接用类名调用。
    2. 普通public方法必须实例化类,才可以进行调用。
    3. protected方法,跟public用法相同,但对于外部类,变为private
    4. abstract方法,是抽象方法,必须被抽象类的实现类继承并重写,然后调用方法同public
  14. jdb.exe是java的调试器 
  15. javaprof.exe是剖析工具, javadoc.exe是用来制作java文档。
  16. 线程相关:
    1. start()方法时启动线程
    2. join()方法停止当前正在运行的线程,运行该线程直到结束
    3. run()方法是线程所执行的方法体,定义线程在启动的时候需要做什么,直接运行run()方法就不是线程
    4. synchronized是同步代码块加锁解锁用的
  17. AWT基本组件:
    1. Menu下拉菜单
    2. Label 标签
    3. List列表框
    4. TextField文本框
  18. Applet类是Java小应用的基本类, 一个Applet应用程序从开始运行到结束时候所经历的过程被称为Applet的生命周期。 Applet 的生命周期涉及 init() 、 start() 、 stop() 和 destroy() 四种方法,这 4 种方法都是 Applet 类的成员,可以继承这些方法,也可以重写这些方法,覆盖原来定义的这些方法。除此之外,为了在 Applet 程序中实现输出功能,每个 Applet 程序中还需要重载 paint() 方法:
    1. public void init() 方法是 Applet 运行的起点。当启动 Applet 程序时,系统首先调用此方法,以执行初始化任务。
    2. public void start()方法是表明 Applet 程序开始执行的方法。当含有此 Applet 程序的 Web 页被再次访问时调用此方法。因此,如果每次访问 Web 页都需要执行一些操作的话,就需要在 Applet 程序中重载该方法。在 Applet 程序中,系统总是先调用 init() 方法,后调用 start() 方法。
    3. public void stop()方法使Applet停止执行,当含有该Applet的Web页被其他页面替代时候也要调用该方法
    4. public void destory()方法收回Applet程序的所有资源,即释放已分配给他的所有资源,在Applet程序中,系统总是先调用stop方法,后调用destory方法。
    5. paint(Graphics g)方法可以使Applet程序在屏幕上显示某些信息,可以把g理解为一个画笔,对象g中包含了很多绘制方法,如drawstring()方法就是输出字符串。
  19. substring()方法 返回一个包含从start到最后(不包含end)的子字符串的字符串。
  20. 类变量、类方法是在类加载时初始化的,只加载一次。
  21. 静态方法先于主方法执行,静态代码块之间遵循代码顺序执行。
  22.  类加载的属性如下:

    1. 虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化。我们不要去纠结这里的顺序,一般来说我们只需要知道,静态方法一般在最后。

    2. 只有在调用new方法时才会创建类的实例

    3. 类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法

    4. 类实例销毁时候,首先销毁子类部分,再销毁父类部分

  23. JAVA子类重写继承的方法时候,不能降低方法的访问权限,而且子类抛出的异常必须是父类抛出的异常的子异常,或者子类抛出的异常要比父类抛出的异常要少。

  24. 类变量在不设置初始值的时候会进行默认值赋值,而局部方法中声明的变量必须先进行初始化,他不会进行默认值赋值。

  25. s.length()中 得到的是字符,不是字节,中文也看做一个字符。 如果是s.getBytes("GBK").length就是求得字节数,如果是GBK,一个中文字符占两个字节,如果是UTF-8占三个字节。

  26. Web Service采用XML传输格式化的数据,他的通讯协议是SOAP(简单对象访问协议)

  27. finally是无论是否抛出异常必定执行的语句,

  28. 程序设计语言中,数组元素在内存中是一个接着一个线性存放的,通过第一个元素就能访问随后的元素,这样的数组称之为“真数组”。避免了数据覆盖的可能。实现了真数组为Java语言健壮性的特点之一。

  29. InputStreamReader类可以用来处理Unicode

  30. 原码反码补码

    1. 正数:正数的原码、反码、补码都相同

    2. 负数的原码:最高位为1,其余为真值的绝对值

    3. 负数的反码:符号位不变,其他位按位取反

    4. 负数的补码:原码基础上符号位不变,其他位取反,最后加一。也就是反码的基础上加一。

  31. 复制数组的速度:

    1. System.arraycopy>clone>Arrays.copyOf>for循环

    2. arraycopy是native方法,也是本地方法。

    3. 而Arrays.copyOf(注意是Arrays类,不是Array)的实现,在源码中是调用System.copyOf的,多了一个步骤,肯定就不是最快的

  32. ~i 表示i 按位取反。 之后要转化成补码 进行操作

  33. 线程安全:

    1. Vector 

    2. HashTable

    3. StringBuffer

    4. ConcurrentHashMap

  34. 线程不安全:

    1. ArrayList

    2. LinkedList

    3. HashMap

    4. TreeMap

    5. HashSet

    6. TreeSet

    7. StringBuilder

  35. 字符流是字节流根据字节流所要求的编码集解析获得的

    可以理解为字符流=字节流+编码集

    所以和字符流有关的类都拥有操作编码集(unicode)的能力。

    字节流:

    InputStream  
    |-- FileInputStream (基本文件流)  
    |-- BufferedInputStream  
    |-- DataInputStream  

    |-- ObjectInputStream

    字符流

    Reader 
    |-- InputStreamReader (byte->char 桥梁) 
    |-- BufferedReader (常用) 
    Writer 
    |-- OutputStreamWriter (char->byte 桥梁) 
    |-- BufferedWriter 
    |-- PrintWriter (常用)

  36. StringBuilder , StringBuffer ,String 都是 final 的,

    1. 但是为什么StringBuilder , StringBuffer可以进行修改呢,因为不可变包括的是,引用不可变以及对象不可变,而这三个都是属于引用不可变,(也就是地址不要变,里面的内容随心所欲),

    2. 而StringBuilder , StringBuffer 中都包含右append方法,可对对象中的内容进行增加。

    3. 而String a="123"+new String("456");实际上底层是用了一个StringBuffer 进行append;

  37. LinkedBlockingQueue

    1. 是一个基于节点链接的可选是否有界的阻塞队列,不允许null值。

    2. 是一个线程安全的阻塞队列,实现了先进先出等特性。

  38. PriorityQueue

    1. 是一个基于优先级堆的无限优先级队列,不允许null值,

    2. 入队和出队的时间复杂度是O(log(n))。

    3. 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素

  39. ConcurrentLinkedQueue

    1. 是一个基于链接节点的无界线程安全的队列线程安全队列,该队列的元素遵循FIFO原则。

  40.  

    class A {}
    class B extends A {}
    class C extends A {}
    class D extends B {}

            1. 只看尖括号里边的!!明确点和范围两个概念
    1. 2. 如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List<A>,List<B>,List<Object>

      3. 如果尖括号里面带有问号,那么代表一个范围,<? extends A> 代表小于等于A的范围,<? super A>代表大于等于A的范围,<?>代表全部范围

      4. 尖括号里的所有点之间互相赋值都是错,除非是俩相同的点

      5. 尖括号小范围赋值给大范围,对,大范围赋值给小范围,错。如果某点包含在某个范围里,那么可以赋值,否则,不能赋值

      6. List<?>和List 是相等的,都代表最大范围

      ----------------------------------------------------------------------------------

      7.补充:List既是点也是范围,当表示范围时,表示最大范围

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      public static void main(String[] args) {

              List<A> a;

              List list;

              list = a;   //A对,因为List就是List<?>,代表最大的范围,A只是其中的一个点,肯定被包含在内

              List<B> b;

              a = b;      //B错,点之间不能相互赋值

              List<?> qm;

              List<Object> o;

              qm = o;     //C对,List<?>代表最大的范围,List<Object>只是一个点,肯定被包含在内

              List<D> d;

              List<? extends B> downB;

              downB = d;  //D对,List<? extends B>代表小于等于B的范围,List<D>是一个点,在其中

              List<?extends A> downA;

              a = downA;  //E错,范围不能赋值给点

              a = o;      //F错,List<Object>只是一个点

              downA = downB;  //G对,小于等于A的范围包含小于等于B的范围,因为B本来就比A小,B时A的子类嘛

          }

  41.  
    1. 字符流和字节流每次读入的字节数是不确定的,可能相同也可能不相同;
    2. 字符流和字节流都有缓冲流
    3. 字节流:是最基础的,所有的InputStream和OutputStream的子类都是,主要用来处理二进制数据。
    4. 字符流:按虚拟机的encode来处理,也就是要进行字符集的转化。
  42. 协议所属:
    1. 域名解析:DNS 
    2. 邮件接收:POP3(简单,非双向)\IMAP(复杂,双向的,将本地的邮件与远程的服务器联系起来)
    3. 邮件发送:SMTP
    4. 网络管理:SNMP
    5. 文件传输:FTP
    6.  
  43. ARP(Address Resolution Protocol)地址解析协议
    1. 是根据IP地址获取物理地址的一个TCP/IP协议。
    2. 属于网络层协议
    3. - ARP完成了ip地址到mac地址的映射。是因为在实际网络的链路上传送数据帧时,最终必须使用硬件地址。

    4. 其工作原理是:当主机a向主机b发送数据报时,要先在其arp高速缓存中查看有无主机b的ip地址。找到后,查出其对应的mac地址,并写入mac帧,通过局域网将此mac帧发往此mac地址

    5. 所以ARP协议数据单元封存在以太帧中进行发送。

  44. 合法的主机地址指的是A、B、C类IP地址,

    A类地址以0开头

    B类地址以10开头

    C类地址以110开头

    D类地址以1110开头,D类地址用于IP多播

  45. 子网掩码前面全部是1,后面为0,必须是连续的。

  46. ospf(open shortest path first)

    1. 开发最短路径优先协议,是一种基于链路状态的路由协议。

    2. ospf与rip存在的本质区别是:rip是基于距离矢量算法的路由协议,而ospf是基于链路状态算法的路由协议

    3. 使用距离矢量路由协议的路由器之间传递的信息是实实在在的路由信息,

    4. 而使用链路状态路由协议的路由器之间传递的信息是网络上各个交换机的自己周边的网络拓扑。(ospf域间传递的是实实在在的路由信息)

    5. 由于rip的收敛速度慢,所以他不适于大规模的网络,因此rip路由的最大跳数是15,如果一条路由的跳数达到了16,那么认为该路由是无效的。

    6. 而ospf由于他的收敛速度快,所以适合大规模的网络,最多可支持几百台路由器。

  47. RIP的基本特点:

    1)RIP仅和相邻的路由器交换信息;

    2)RIP交换的信息是当前路由器知道的所有信息,即自己的路由表 ;

    3)RIP会每隔一个固定的时间间隔交换信息;

  48. OSPF的基本特点:

    1)向本自治系统所有路由器发送信息;

    2)OSPF发送的信息是与本路由器相邻的所有路由器的链路状态;

    3)在刚启动时会发一次路由信息,其余只有当链路状态发送变化时,路由器才能向所有路由器以洪泛法发送此消息;

  49. IGMP是网络分组协议,负责IP组播成员管理的协议,属于网络层。

  50. 路径选择依靠路由器,路由器处于网络层之上。

  51. HTTP状态码:

    1. 1xx  临时响应

      2xx  成功

      3xx  重定向

      4xx  请求错误

      5xx  服务器内部错误

      304的内容是当前页面没有修改,所以不会返回页面内容。

  52. 集线器不分割冲突域,交换机分割冲突域。

    1. 所以集线器所有端口对应一个冲突域

    2. 交换机一个端口对应一个冲突域

  53. EEE 802.3采用CSMA/CD,并采用二进制指数退避和1-坚持算法

  54. CSMA/CD即载波监听多点接入/碰撞检测
    使用截断二进制指数退避算法来确定碰撞后重传的时机
    1-坚持算法就是一直在监听
    而0-坚持算法就是监听发现信道忙则结束,隔一段时间再来监听
  55. 网络层中,当两个计算机进行通讯的时候,对于面向连接的网络服务,应当先建立连接,(在分组交换中是简历一条虚电路VC)以保证双方通信所需的一切网络资源,然后双方就沿着已经建立的虚电路发送分组(确定路由)。这样的分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号,这样可以减少分组的开销。
  56. 防火墙的访问模式有非特权模式、特权模式、配置模式和监视模式四种,其中监视模式下可以进行操作系统映像更新和口令恢复等操作。
  57. 当本机DNS高速缓存中存有该域名的DNS信息时,则不需要查询任何域名服务器,这样最少发出0次DNS查询。最多情况下:因为均采用迭代查询的方式,在最坏的情况下,需要依次迭代地向本地域名服务器、根域名服务器(.com)、顶级域名服务器(xyz.com)、权限域名服务器(abc.xyz.com)发出DNS查询请求
  58. 计算机中,系统调用(System call)又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。
  59. 抽象类和普通类的三点区别:
    1. 抽象方法必须为public或者protected(因为如果是private,则不能被子类继承,子类无法实现该方法),缺省情况下默认是public
    2. 抽象类不能用来创建对象
    3. 如果一个类继承自一个抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则子类也必须定义为abstract类。
  60. 为什么建立连接是三次握手,关闭连接确是四次握手?
    1. 这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。
    2. 但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
  61. 为什么TIME_WAIT状态还需要等2MSL之后才能返回到ClOSED状态?
    1. 这是因为虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到 ESTABLISH状态那样);
    2. 但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于 LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的 ACK报文
  62. 虚电路方法在传输之前必须先建立一条逻辑链路。
  63. 候选码中属性称为主属性
  64. 临界资源有很多中,使用它们不一定互斥,而是用同类临界资源的是互斥的。
  65. 树型拓扑特点:
    1. 树有根节点,即中央交换单元
    2. 易于扩展,可以延伸出很多分支和子分支,因而可以在网络中加入新的分支或者新的节点
    3. 易于隔离故障,故障主要影响局部区域,因而可以将故障部位较为容易的隔离开
    4. 缺点是与星型拓扑类似,若根节点出现故障,也会引起全网不能正常工作。
  66. 私有网络地址:
    1. ABC类中专门划出一部分作为局域网内网使用的IP地址称为私有网络地址(或称为私网地址,内网地址)
    2. 私网地址不能在公网出现,只能在内部网络中,所有路由器都不能发送目标为私网地址的数据报。
    3. A类私网地址:10.0.0.0~10.255.255.255
    4. B类私网地址:172.16.0.0~172.31.255.255
    5. C类私网地址:192.168.0.0~192.168.255.255
  67. 为了查看Quidway路由器搭建的帧中继网络的封装类型,应使用的命令:show interface
  68. 方法的重载是指:

    1、在同一个类中

    2、方法名相同

    3、方法的形参列表不同

        具体的不同表现为:

            类型、个数、顺序的不同才可以构成重载  

        public void setVar(int a, int b, float c) {}

           private void setVar(int a, float c, int b){}也构成重载。

    4、#比较容易忽略的一点#

            与方法的返回值类型与访问权限无关

  69. HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议。

  70. Hash索引用于 =、in查询,适用于确定值的查询。

  71. btree用于<>和between的范围查询,也适合单值查询并且支持排序。

  72. JAVA编程中,Java编译器会将Java程序转换成字节码class文件,类加载到JVM后,执行引擎把字节码转换为可执行代码。执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。

  73. 构造方法:

    1. 构造方法也是类的方法,可以在创建对象时为成员变量赋值。

    2. 构造方法可以进行重载,但是参数列表必须不相同,不以返回值和访问级别进行区分

    3. 构造方法没有返回值

    4. 构造方法一定要与定义为public的类同名

  74. 127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络 软件测试 以及本地机 进程间通信 ,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。收到127.0.0.1的响应表示主机的ip配置正确。

  75. ICMP是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递信息。 ICMP报文有两种:差错报告报文,询问报文。 其功能主要有:

    1. 侦测远程主机是否存在

    2. 建立及维护路由资料

    3. 重导数据传送路径

    4. 数据流量控制

  76. 集线器(Hub)共享带宽 ,工作在半双工模式下;

  77. 交换机 独享带宽,工作时两通讯端口会生成地址对应表进行通讯,避免了广播风暴。工作在半双工模式&全双工模式下。

  78. CSMA/CD技术应用在以太局域网的总线型拓扑结构之上。工作原理为:

    1. 先听后说,边听边说

    2. 一旦冲突,立即停说

    3. 等待时机,然后再说

  79. S(shared)锁是共享锁,X锁是排他锁。共享锁也称为读锁,若事务T对数据对象A加上S锁,则事务T只能读A,其他事务只能对A再加S锁,不能加X锁。直到T释放掉A上的S锁,这就保证了其他事务可以读A,但是在T释放A上的锁之前不能对A做任何修改。

  80. 防火墙主要是局域网的安全措施,用来抵挡外部不安全因素影响的内部网络屏障,其目的就是防止外部网络用户未经授权的访问。

  81. E-R图也称为实体-联系图(Entity Relationship Diagram)提供了表示实体类型,属性和联系的方法,三者用矩形、椭圆、菱形表示。

  82. ping IP地址 之后其实已经有mac地址了
    使用 arp -a 就是查看缓存中ip 与 mac 地址的映射
  83. 1. Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引
  84. 2. 位图索引(bitmap index)
        位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。
    3. 基于函数的索引
        比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。
    4. 分区索引和全局索引
        这2个是用于分区表的时候。前者是分区内索引,后者是全表索引
    5. 反向索引(REVERSE)
        这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值(10001,10002,10033,10005,10016..)。这种情况默认索引分布过于密集,不能利用好服务器的并行,但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。
    6.HASH索引
        HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。
  85. 常对象就是创建初始化之后不能改变的对象,常对象只能调用常函数,就是说函数声明是有const关键字的成员函数。
  86. 异常:不该干啥干了; 失败:该干啥没干成
  87. default 与 protected 的区别:
    1. 前者只要是外部包就不允许访问
    2. 后者只要是子类就可以访问,即使子类位于外部包。
  88. 数据库类型是按照数据模型来划分的。
  89. 常见的哈希冲突解决方法:

    1.开放地址法

    1. 当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。 

    2. 链地址法(拉链法)

    3. .再散列

      1. 将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。

    4. 建立一个公共溢出区

    1.  

      if的语句比较,除boolean外的其他类型都不能使用赋值语句,否则会提示无法转成布尔值。

  90. 广域网:又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

  91. 只有源操作数才能用立即寻址

  92. ip rule add from 192.168.3.112/32 [tos 0x10] table 2 pref 1500。

    1. 规则包含3个要素:

      什么样的包,将应用本规则(所谓的SELECTOR,可能是filter更能反映其作用);

      符合本规则的包将对其采取什么动作(ACTION),例如用那个表;

      本规则的优先级别。优先级别越高的规则越先匹配(数值越小优先级别越高)。

  93. 汇编语言和编译相关的

    JBE al, bl ;al里的内容小于或等于bl时跳转;

    同理,JGB是大于或等于,JLE是小于或等于;

    A(above)大于,B(below)小于,E(equal)等于,用于比较符号数;

    G(great)大于,L(less than)小于, E(equal)等于,用于比较符号数

  94. SPOOLing:将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备

    (1)提高了I/O速度。

    (2)将独占设备改造为共享设备。

    (3)实现了虚拟设备功能。
     

  95. 堆式动态分配申请和释放存储空间遵守任意原则

  96. JMP为无条件转移,分为短转移,近转移,和远转移(far),短,近转移为段内转移,远转移为段间转移,不仅会改变指针寄存器IP的值,还会改变代码段寄存器CS的值 。 其中指令JMP FAR PTR DONE属于 段间转移直接寻址

  97. 数据分段发生在传输层,通常不同应用程序要发送和接收的数据在传输层不同端口发出或者收入,也就是数据分段

————————————————————————————————————————————————————————————————————————

随时记录,有空时翻看~ 未完待续~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值