1.比较remoting与webservice2.比较Final、Finally与Finallize3.比较Deep copy与shallow copy4.比较Heap与Stack

解决方案 »

  1.   

    以下是个人理解,呵呵
    1、remoting与webservice 都是分布式开发,webservice传输是用XML,以及SOAP协议,所以可以跨平台并且防火墙友好,比较好用,所以目前用得比较广泛。remoting比webservice用法要复杂一些,但是灵活得多,可以用HTTP和TCP协议,其实如果用HTTP协议的话,同样对防火墙友好,跟webservice差不多了,传输也可以用XML格式。
    2、Final、Finally与Finallize 
    Final是定义最终类,这样的类不能再有继承的子类,Finally是异常捕捉的时候,始终要执行的代码写到里面,Finallize 好象是垃圾回收的东东,
    3、比较Deep copy与shallow copy 不是很清楚,好象与ICloneable有关系。
    4、比较Heap与Stack
    heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。堆主要用来存放对象的
    stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。栈主要是用来执行程序的以及存值。
      

  2.   

    1)heap、stack可以参考名著《Windows核心编程(第5版)》
    2)Final是Java的,Finally如果是.NET的,则是异常处理的结构,Finalizer是终结者,在CLR垃圾回收时调用。
    3)Remoting基于Windows .NET平台之间的通信,非开放的;Web Servie是一种公共通信协议Soap/Http
      

  3.   

    final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承。
    Finally是异常处理语句结构中,表示总是执行的部分。
    Finallize表示是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法浅拷贝(shallow copy)与深拷贝(deep copy)。
    浅拷贝是指当对象的字段值被拷贝时,字段引用的对象不会被拷贝。
    深拷贝是对对象实例中字段引用的对象也进行拷贝的一种方式Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区。
    Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的。程序在编译期间变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的。