牛客网——综合错题集

1、tcpdump 是简单可靠网络监控的实用工具

netstat 显示网络有关的信息,比如套接口使用情况、路由、接口、协议等

ifconfig 是查看活动的网卡信息

top 显示活动进程方面的情况

2、内存分配方式:从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。

3、虚存管理和实存管理的主要区别是(实存要求一程序全部装入内存才开始运行,虚存允许程序在执行的过程中逐步装入)。

4、进程与线程

  • 定义:
    • 【进程】是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。大小只与处理机的位数有关,一16位处理机的空间大小为216 ,而 32 位处理机的进程空间大小为 232 。进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。单机系统中进程通信有 4 种形式:主从式,会话式,消息或邮箱机制,共享存储区方式,管道(共享大量内存中的数据)。
    • 【线程】是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈,非共享),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
  • 区别
    • 1) 包含关系:一个程序至少有一个进程,一个进程至少有一个线程.
    • 2) 内存共享:进程在执行过程中拥有独立的内存单元(一个进程崩溃后,在保护模式下不会对其它进程产生影响);而多个线程共享进程提供的内存(拥有自己的私有栈空间只是作为运行需要的极少内存),从而极大地提高了程序的运行效率,但一个线程死掉就等于整个进程死掉。所以多进程的程序要比多线程的程序健壮
    • 3) 执行过程:进程独立执行;线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
    • 4) 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
  • 进程间通信
    • 进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。因为那些通信手段的效率太低了,而人们对进程间通信的要求是要有一定的实时性。   
    • 进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET.   
    • 管道包括三种:
      • 1)普通管道PIPE, 通常有种限制,一是半双工,只能单向传输;二是只能在父子进程间使用.
      • 2)流管道s_pipe: 去除了第一种限制,可以双向传输.
      • 3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯.   
    • 系统IPC的三种方式类同,都是使用了内核里的标识符来识别.
    • # 管道( pipe ):管道是一种半双工的通信方式数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
    • # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
    • # 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
    • # 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
    • # 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
    • # 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的(共享大量内存中的数据)。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
    • # 套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。

5、为了允许不同用户的文件使用相同的文件名,通常采用(多级目录)的方法。

6、DBMS 中实现事务持久性的子系统是(恢复管理子系统)。

  • DBMS中事务有四个特性,持久性,一致性,原子性,隔离性。
    • 持久性实现恢复管理子系统,
    • 一致性实现并发控制子系统,
    • 原子性实现完整性管理子系统,
    • 隔离性实现安全控制管理子系统。

7、java多态有两种情况:重载和覆写

  • 在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;
  • 在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法

8、顶层容器是指可以不能被其他容器包含 ,是容纳其他容器的容器组件,顶层容器包含JApplet、JDialog、JFrame和JWindow及其子类.
JFrame中就可以放Jtree(树形组件)。

9、IPV6允许在报头后增加扩展报头,以扩展新的功能、IPV6的安全机制是基于IPSEC的协议实现的、IPV6的路由选择是基于地址前缀概念实现的,便于建立层次化的路由结构、IPV6的安全机制是必须的。

10、计算机接入Internet时,可以通过公共电话网进行连接。以这种方式连接并在连接时分配到一个临时性IP地址的用户,通常使用的是(

SLIP/PPP协议连接方式) 。
  • SLIP是串行线路协议(Serial Line IP)的英文缩写。
  • PPP是点对点协议(Point to Point Protocol)的英文缩写。
  • 以这种方式入网时,用户所需要的硬件设备包括一台微型计算机、一条电话线、一台调制解调器(MODEM)、一根RS-232电缆,利用调制解调器通过公共电话网进行Internet连接.

11、Windows中进程间通信???

  • Windows中进程间通信方式有:File, 管道(Pipe),命名管道(named pipe),信号(Signal),消息队列(Message queue),共享内存(shared memory),内存映射(memory –mapped file),信号量(semaphore),套接口(Socket),命名事件。临界区事实上应该算是由信号量来保证的。
  • 临界区与事件是windows线程间通信的方式。管道,共享内存,消息队列,信号量,socket则是windows进程间通信的方式。

12、Java内部类,主要考核了这几个知识点:

  • 1.静态内部类才可以声明静态方法
  • 2.静态方法不可以使用非静态变量
  • 3.抽象方法不可以有函数体

13、比特——信息量的单位,一个二进制码元的信息量为1bit ,中文翻译是“位”。
字节——计算机内专用的数据计量单位8bit=1Byte
码元——在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。 码元,承载信息量的基本信号单位。

14、根据CSMA/CD原理,下列情形中需要提高最短帧长度的是( 冲突域的最大距离不变,网络传输速率提高)。

15、Java多线程有几种实现方法?

  • 两种。
  • 1、继承Thread类,Override它的run方法;
  • 2、实现Runnable接口,实现run方法;
  • 由于Java只有单继承,所以,第一种方法只能继承一个Thread;第二种则可以实现多继承。

猜你喜欢

转载自blog.csdn.net/u014067137/article/details/81166782