Java-基础面试题

1:JDK、JRE、JVM的关系

JDK:(Java Development Kit)Java开发工具包,是开发一个Java程序所需要的最小环境

JRE:(Java Runtime Environment )Java运行环境,是运行一个Java程序所需要的最小环境

JVM:(Java Virtual Machine)Java虚拟机,JVM的可执行文件是.class

2:面向对象的特征

①封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的借口访问其他的对象。

②继承:是一种联结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程就称为继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

③多态:多态性是指允许不同类的对象对同一消息做出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名的问题。

④抽象:就是忽略一个主题中与当前目标无关的那些方面,以便更充分的注意和当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个部分:过程抽象、数据抽象

3:代码中如何实现多态性

①接口

②继承父类重写方法

③同一类中进行方法的重载

4:Java中创建对象的几种方式

①采用new

②通过反射:包括了class类的newInstance方法和Constructor类的newInstance方法

③采用clone

④通过序列化机制

5:Java当中的四种引用方式

①强引用:如果一个对象具有强引用,就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出OutOfMemoryError,使程序异常终止。如果想中断强引用和某个对象之前的关联,可以显示的将引用赋值为null,这样JVM就会在合适的时间回收该对象

②软引用:如果内存的空间足够,软引用就能继续使用,而不会被垃圾回收期回收,只有在内存不足的时候,软引用才会被垃圾回收器回收。

③弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当JVM进行垃圾回收的时候,一但发现弱引用对象,无论当前内存是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象

④虚引用:如果一个对象仅持有虚引用,就相当于没有被引用,在任何时候都可能被垃圾回收器回收

6:final在Java中有什么用处?

· final修饰的类叫最终类,不能被继承

· final修饰的方法不能被重写

· final修饰的变量叫常量,且常量必须初始化,初始化之后值就不能被修改

7:Java中的基本数据类型有哪些?

基本数据类型有8种:byte,boolean,char,short,float,double, int, long,其他的都是引用数据类型。

8:Java中操作字符串的类都有哪些?

1>String:字符串常量,是不可变的对象。

2>StringBuilder:可变字符串,线程不安全,适合单线程场合。StringBuilder 的性能要远大于 StringBuffer。

3>StringBuffer:可变字符串,线程安全,所有的公开方法都被synchronize修饰,适合多线程方法。

9:抽象类必须要有抽象方法吗?

抽象类不一定要有抽象方法,但是抽象方法必须只能定义在抽象类中。

10:throw和throws的区别

· throw:是真实抛出一个异常

· throws:是声明可能会抛出一个异常

11:Java的IO流分为几种?

· 按功能来分:输入流、输出流

· 按类型来分:字节流、字符流

12:try-catch-finally中,如果catch中return了,finally还会被执行吗?

finally一定会被执行,即使在catch中有return,catch中的return也会等finally里的代码执行完之后,才会执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值