java基础面试可能套路

1,问java和c++的异同?

答:

1,Java是解释型语言,源代码经过Java编译器编译成字节码,然后由JVM解释执行。而c++为编译型语言,源代码经过编译和链接后生成可执行的二进制代码。因此Java的执行速度比c++慢,但是Java能够跨平台执行,而c/c++不行。

2,Java为纯面向对象语言,所有代码必须在类中实现,除基本类型外,所有类型都是类。Java中不存在全局变量或全局函数,而c++兼具面向过程和面向对象的特点,可以定义全局变量和全局函数。

3,Java中没有指针的概念,这有效防止了c++中操作指针可能引起的系统问题,从而使程序变得更加安全。

4,Java不支持多重继承,但Java引入了接口的概念,可以同时实现多个接口。由于接口也具有多态特性,所以Java可以通过实现多个接口来实现与c++语言中多重继承类似的目的。

5,在c++中需要程序员自己去管理内存大分配,而Java提供了垃圾回收器来实现无用内存的自动回收,不需要程序显式得管理内存的分配。

从上面的回答中面试官可能会继续问:

1.1JVM内存结构和内存模型?


1.2有哪些基本类型?

1.2.1接着会问包装器类?


1.3为什么java不学c++,去支持多重继承,而改用单继承,使用接口实现多重继承语义呢?


1.4Java垃圾回收方面的问题,比如,垃圾收集器,垃圾回收算法,如何判定对象可回收?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值