(2)

Java.J2EE.Job.Interview.Companion(2)读书笔记
       

Q 01: 你出于什么考虑而选择Java作开发语言? (LF DC FAQ)    
A 01:
    1,Java在语言层面上支持多线程,Socket编程,内存管理(也就是垃圾自动回收).
    2,面向对象编程.
    3,与其它语言相比更优于跨操作系统的移植.
    4,对Web编程的内存支持(Applet,Servlet,JSP),分布式应用系统支持(Sockets,RMI,EJB...),网络协议的支持(HTTP,JRMP等);

Q 02: Java平台与其它语言相比有什么主要的不同? (LF)
A 02:

Q 03:C++与Java有什么不同之处? LF
A 03:
    1,Java不支持指针操作.
    2,Java并不支持多重继承,因为这个多重继承在C++里是解决了一些问题,但它却引入了更多的麻烦事.相反,Java用多重接口继承来替代C++里的多重继承,利用这个接口继承程序员可以从不同的接口里继承多个方法签名,不过那些继承过来的方法需在此inheriting objects里实现.基于这样的多重接口继承,那样继承来的方法也可以有多态的特性.(Java does not support multiple inheritance because it causes more problems than it solves. Instead Java supports multiple interface inheritance, which allows an object to inherit many method signatures from defferent interfaces with the condition that the inheriting object must implement those inherited methods.The multiple interface inheritance also allows an object to behave polymorphically on those methods.)

    3,Java并没有destructors这样的支持,不过另加了finalize()方法.这个finalize方法会在对象所占的内存由GarbageCollector回收时调用.这样也就意味着我们并不知道对象什么时候被finalized掉.Avoid using finalize() method to release non-memory resources like file handles, sockets, database connections etc because Java has only a finite number of these resources and you do not know when the garbage collection is going to kick in to release these resources through the finalize() method.  
    4,Java并没有structures或unions,而由Java里的Object oriented framework代替以前的数据结构.
    5,Java程序里的所有代码都包装为Class里,这样Java里也就没了全局变量与functions了.
    6,用C++编程时,程序员得自己管理内存,而Java里采用自动地垃圾回收机制.

你可能感兴趣的:(java,编程,javaee,面试,读书)