Java面试题库和在Linux上安装Java

谈谈Java的多态。

实现多态的三个条件(前提条件,向上转型,向下转型)。

1,继承的存在,(继承是多态的基础,没有继承就没有多态)。

2,子类重写父类的方法,(多态下会调用子类重写后的方法)。

3,父类引用变量指向子类对象,(涉及子类到父类的类型转换)。

向上转型Studentperson=newStudent()。

将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换,此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法此时通过父类引用变量无法调用子类特有的方法。

向下转型Studentstu=(Student)person。

将一个指向子类对象的引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换,向下转型必须转换为父类引用指向的真实子类类型,否则将出现ClassCastException,不是任意的强制转换。

长春Java培训向下转型时可以结合使用instanceof运算符进行强制类型转换,比如出现转换异常—ClassCastException。

32.简述Java的垃圾回收机制。

传统的C/C++语言,需要程序员负责回收已经分配内存。

显式回收垃圾回收的缺点:。

1)程序忘记及时回收,从而导致内存泄露,降低系统性能。

2)程序错误回收程序核心类库的内存,导致系统崩溃。

Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制,简称GC。

Java大致分为两个下载类别,Java虚拟机JavaVirtualMachine(JVM)是运行时组件,它是使Java应用程序能够在计算机上启动和运行的“引擎”,它包含在Java运行时环境JavaRuntimeEnvironment(JRE)中。

Java开发工具包JavaDevelopmentKit(JDK)是一个开发工具包:你可以将其视为一个车库,修理工可以坐在那里进行调整,修理和改长春Java培训哪家好进,JDK包含Java运行时环境(JRE)。

以下载来说,这意味着:。

如果你是希望运行Java应用程序的用户,则只需JRE(包括了JVM)。

如果你是希望使用Java进行编程的开发人员,则需要JDK(包括JRE库,而JRE库又包括JVM),###OpenJDK,IcedTea和OracleJDK有什么不同。

当太阳微系统SunMicrosystems被Oracle收购时,Java是该交易的主要部分,幸运的是,Java是一种开源技术,因此,如果你对Oracle维护该项目的方式不满意,则可以选择其他方法,Oracle将专有组件与Java下载捆绑在一起,而OpenJDK项目是完全开源的。

IcedTea项目本质上是OpenJDK,但其目标是使用户在使用完全自由开源的工具时更容易构建和部署OpenJDK。

(LCTT译注:阿里巴巴也有一个它自己维护的OpenJDK发行版“龙井Dragonwell”,以下引自其官长春Java培训机构网:“AlibabaDragonwell是一款免费的,生产就绪型OpenJDK发行版,提供长期支持,包括性能增强和安全修复,……AlibabaDragonwell作为Java应用的基石,支撑了阿里经济体内所有的Java业务,AlibabaDragonwell完全兼容JavaSE标准,……”)。

我应该安装哪个Java。

如果你对这些选择感到不知所措,那么简单的答案就是你应该安装的Java实现应该是最容易安装的那个,当应用程序告诉你需要Java12,但你的存储库中只有Java8时,可以安装可以从可靠来源中找到的Java12的任何实现,在Linux上,你可以一次安装几个不同版本的Java,它们不会互相干扰。

如果你是需要选择使用哪个版本的开发人员,则应考虑所需的组件,如果选择Oracle的版本,请注意,软件包中包含专有的插件和字体,可能会影响你分发你的应用程序,在IcedTea或OpenJDK上进行开发是最安全的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注