<Java.JavaEE面试整理>(2)

本文探讨了Java作为开发语言的选择理由,包括其在多线程、内存管理和跨平台方面的优势,并详细比较了Java与C++的主要区别,如指针支持、多重继承处理方式、资源释放机制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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里采用自动地垃圾回收机制.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值