子网掩码的作用?
子网掩码的作用就是判断两个需要通信的主机是否需要经过网络转发,如果两个要通信的主机在同一个子网内,就可以直接通信,如果两个需要通信的主机不在同一个子网内,则需要寻找路径进行通讯了。
DotNet中什么是托管代码和托管数据?
托管代码是编写为支持公共语言运行时服务的代码。为了支持这些服务,代码必须向运行时提供最小级别的信息(元数据)。
与托管代码密切相关的是托管数据。托管数据是由公共语言运行时的垃圾回收器进行分配和释放的数据。
C#中const和readonly的区别?
const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等。在多数情况下可以混用。二者本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。
数据库的第三范式?
第一范式:对于表中的每一行,必须且仅仅有唯一的行值。在一行中的每一列仅有唯一的值并且具有原子性。
第二范式:第二范式要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无法改变,外键关联一个表的主键。主外键关联意味着一对多的关系。
第三范式:第三范式要求非主键列互不依赖。
简单工厂模式的优缺点?
工厂没有可以提供新产品的逻辑,必须修改源代码,在if语言中加上创建新产品的逻辑,重新编译系统才可以。这一点违反了“开闭原则”,如何才可以不违反原则呢,工厂方法模式的其他两个模式作出了解决的方法。
简单工厂模式优点就在于实现起来很简单,对于一些本身就很简单的系统没有必要使用复杂的模式。
关键字struct和union有什么区别?
有的时候,我们需要把不同类型的数据组合成一个有机的整体,以便于引用,这时候我们就要用到结构体。
而共用体的定义形式与结构体相似,只是所用的保留字不同,最大的不同是:共用体能使几种类型的数据共享同一内存空间(即其各成员不能同时一起输出)。
fopen与open的区别?
open是系统调用,fopen是函数调用。
open是不带缓冲的,fopen是带缓冲的。
open频繁操作时速度慢,fopen操作后需要刷新才更新数据。
在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?
解决死锁可归纳为四种方法:预防死锁,避免死锁,检测死锁和解除死锁。
其中,预防死锁是最容易实现的;避免死锁使资源的利用率最高。
在单处理机环境下,进程间有哪几种通信方式?
共享存储器系统通信方式。
消息传递系统通信方式。
管道通信方式。