当前位置:   article > 正文

八股文之Java基础_java基础八股文

java基础八股文

1.Java的特点

简单易学,面向对象,支持网络编程,支持并发编程,编译与解释并存,一次编译到处运行。

注意,这里编译与解释并存很重要,下面会进行讲解!!

2.JVM,JRE,JDK的区别

2.1 JVM

JVM是执行Java字节码的虚拟机,不同的操作系统对应着不同的虚拟机,如windows,linux等,JVM和字节码文件是Java实现一次编译,到处运行的关键。

2.2.JRE

JRE是Java代码运行时的环境,包括了JVM,Java核心类库等,如果只是运行Java程序,而不需要创建和编译Java代码,则只需要JRE就够了。

2.3.JDK

JDK包含了JRE的一切,同时比JRE多出额外的功能,如创建程序,编译程序。

3.什么是字节码文件,使用字节码有什么好处?

3.1.什么是字节码文件?

字节码文件就是Java原程序(.java)经过编译后得到的文件(.class),它是可以被jvm理解的文件

3.2.有什么好处?

字节码文件的好处就是平台无关性,Java程序只需要经过一次编译得到字节文件,就可以在不同的操作系统上执行。

3.3.补充:为什么Java是编译与解释并存的语言

首先我们可以将高级编程语言分为两种:

 编译型:

如C,C++,GO等,这类语言开发慢,执行快,会一次性将所有程序编译成机器码,因此执行效率较高。

解释型:

如Python,JavaScript等,这类语言开发快,执行慢,会通过解释器一行一行将源代码解释为机器码。

为什么Java编译与解释并存:

因为Java代码从编写完成到顺利执行,需要经过两个步骤,首先我们需要将Java源程序编译为字节码文件,这里就体现了Java的编译型语言特性,然后我们需要将字节码一行一行解释给JVM虚拟机并且执行,这里又体现了Java的解释型语言特性。因此,我们称Java为编译与解释并存的语言。

4.Java与C++的区别

Java中类只支持单继承,而C++中类支持多继承,不过Java中接口可以多实现

Java不提供指针直接访问内存,更加安全

Java不需要手动回收内存,有内存回收和释放机制,而C++没有

C++的字符串和字符数组以"\0"结尾,而Java没有这一说法。

5.Java标识符和关键字的区别

5.1.什么是标识符

凡是可以自己命名的地方,都可称作为标识符

5.2.标识符命名规范

1.标识符由数字,字母,下划线和$组成,但是不能以数组开头

2.标识符需要有实际的意义

5.3.Java关键字

Java关键字是被赋予了特殊含义的,如class,interface,abstract等

6.自增自减运算符(++,--)

1.运算符在变量前就先自增或自减,再参与运算

2.运算符在变量后就先参与运算,再自增或自减

7.continue,break和return的区别

1.continue,跳过当前循环,进入下一次循环

2.break,结束循环

3.return,结束程序执行

8.成员变量和局部变量的区别

8.1.语法上的区别

成员变量属于类,局部变量属于方法。成员变量可以被public,private,static等修饰符修饰,而局部变量不可以,但是两者都可以被final修饰。

8.2.存储方式上的区别

若成员变量使用static修饰,则属于类,若无static修饰则属于对象实例,存放在堆中,而局部变量存放在栈中。

8.3.生存时间上的区别

成员变量属于对象实例,随着对象的创建而产生,随着对象的回收而消亡。

局部变量属于方法,随着方法的调用而产生,随着调用的结束而消亡。

8.4.默认值上的区别

成员变量有各自数据类型默认的初始值(被final修饰的成员变量则需要显式赋值)。

局部变量无默认初始值,需要显示赋值。

9.字符型常量和字符串常量的区别

9.1.形式上

字符型常量使用单引号,字符串常量使用双引号

9.2.内容上

字符型常量可以参与运算,相当于是整型,而字符串常量是字符串在内存中的地址,不能参与运算。

9.3.大小上

字符型常量占两个字节,字符串常量占若干字节

10.重载和重写

10.1.重载

重载发生在同一个类中,重载的方法名相同,其余都可以不同,主要是根据传入不同的参数,调用不同的方法,以处理不同的业务。重载的参数列表可以为可变长参数,但是传入的参数会优先匹配定长参数列表的方法。

10.2.重写

重写发生在子类与父类之间,主要表现为子类重写父类的方法,从而实现自己的逻辑。

重写的方法与父类方法方法名相同,参数列表相同。

重写的方法需要遵循“两小一大原则”,即子类的方法返回值类型和异常类型需要小于等于父类方法,子类方法的权限修饰符范围需要大于等于父类方法。

注意:构造方法无法被重写,但是可以被重载。

11.Java的基本数据类型(八种)

1.byte,一个字节

2.short,两个字节

3.int,四个字节

4.long,八个字节

5.float,四个字节

6.double,八个字节

7.char,两个字节

8.boolean,不占字节

12.基本数据类型和包装数据类型的区别

未完待续......

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/866081
推荐阅读
相关标签
  

闽ICP备14008679号