1.
请你说说.NET中类和结构的区别?
答:结构和类具有大体的语法,但是结构受到的限制比类要多:
结构不能申明有默认的构造函数,因为结构的副本是由编译器创建和销毁的,所以不需要默认的构造函数和析构函数。
结构是值类型,值类型在堆栈上分配地址,所以对结构变量所做的改变不会影响其的原值;类是引用类型,引用类型在堆上分配地址,改变其变量的值会改变其原值;
申明结构用 struct关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。
与类不同,结构的实例化可以不使用 New关键字。
结构不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用 sealed声明,可是结构是隐式的sealed;类:完全可扩展的,除非显示的声明sealed否则类可以继承其他类和接口,自身也能被继承
2.
死锁的必要条件,怎么克服?
答:系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用完前,不能强行剥夺。
3.
接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。
4.
构造器Constructor是否可以被继承?是否可以被Override?
答: Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).
5.
当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?
答:不可以,一个对象的方法只能由一个线程访问。
6.
用最有效的方法算出2*几等于8?