Java概述
JDK和JRE和JVM的区别
JDK :Jdk包括了一些Jre之外的东西 ,就是这些东西帮我们编译Java代码的, 还有就是监控Jvm的一些工具,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了
JRE :Jre大部分都是 C 和 C++ 语言编写的,它是我们在编译java时所需要的基础类库 Java
Runtime Environment和Java程序所需的核心类库等
Jvm:就是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。
什么是跨平台性?原理是什么?
跨平台性是指java程序在一次编译后,可以在多个系统平台上运行。
实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,就可以运行java程序。
什么是字节码?采用字节码的最大好处是什么?
字节码:
Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),只面向虚拟机。
采用字节码的好处:
Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。
Oracle JDK和Open JDK的对比
1. Oracle JDK版本将每三年发布一次,而OpenJDK版本每三个月发布一次;
2. OpenJDK 是一个参考模型并且是完全开源的,而Oracle JDK是OpenJDK的一个实现,并不是完全开源的;
3. Oracle JDK 比 OpenJDK 更稳定。
4. 在响应性和JVM性能方面,Oracle JDK提供了更好的性能。
Java基本数据类型
整数类型(byte,short,int,long)
浮点类型(float,double)
字符型(char)
布尔型(boolean)
Java语言采用何种编码方案?有何特点?
Java语言采用Unicode编码,它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。
访问修饰符public、private、protected以及默认的区别
定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
分类:
public : 对所有类可见。
private : 在同一类内可见。
protected : 对同一包内的类和所有子类可见。
default : 在同一包内可见,不使用任何修饰符。
&和&&的区别
&&运算符是短路与运算。逻辑与跟短路与,二者都要求运算符左右两端布尔值都是true 整个表达式的值才是true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。
Final有什么用
被final修饰的类不可以被继承
被final修饰的方法不可以被重写
被final修饰的变量不可以被改变
this关键字的用法
this是自身的一个对象,代表对象本身
this有3种用法:
- 普通的直接引用,this相当于指向当前对象本身
- 形参与成员名字重名,用this来区分
- 引用本类的构造函数
Super关键字的用法
super可以理解为是指向自己超(父)类对象的一个指针,而这个父类指的是离自己最近的一个父类。
Super有三种用法:
- 普通的直接引用
- 子类中的成员变量或方法与父类中的成员变量或方法同名时,用super进行区分
- 引用父类构造函数
this和super的区别
super:它引用当前对象的直接父类成员
this:代表当前对象名
super()和this()类似,区别是super()在子类中调用父类的构造方法,this()在本类内调用本类的其它构造方法。
super()和this()均需放在构造方法内第一行。
this和super不能同时出现在一个构造函数里面&