java面试题系列:java基础部分(1)
一、JRE、JDK、JVM分别是什么,三者之间有什么关系?
二、什么是java中的关键字及标识符?
三、什么是常量、常量的分类有那些?
四、进制的相互转换、是怎样转换的?
五、局部变量与成员变量的区别?
=============================================
答案:
第一题:
JRE是Java的运行环境;
JDK是java的开发工具包
JVM是java虚拟机
三者联系
(1)JVM不可能单独搞定class文件的执行,需要调用jdk根目录下的的lib类库
JDK下面的jre目录里有两个文件夹bin、lib,
bin可以理解为jvm
(2)JRE=JVM+lib
(3)java程序编译执行过程:JDK编译程序编译——>生成字节码文件.class———>JVM解析字节码到操作系统–>系统运行程序;
第二题:
关键字:java语言赋予特定含义的单词,全部为小写
标识符:给类,接口,变量方法起名字的字符序列
第三题:
常量:程序执行中,不可发生改变的量
分类: 字面值常量
自定义常量
第四题:
任意进制——>十进制
位权展开法
十进制——>任意进制
除积取余,直到商为零,取值反转。
第五题:
(1)在类中的位置不同
局部变量:在方法中定义中或者方法声明上的变量;
成员变量:方法外,类中的变量
(2)内存中的位置不同
局部变量:栈内存 与方法有关
成员变量:堆内存 与对象有关
(3)声明周期不同
局部变量:随方法调用而存在,方法使用完结束被回收
成员变量:随对象创建存在,随对象使用结束被回收,不会立即被回收
(4)初始化方式不一样,时机不一样
局部变量:定义后需要赋值初始化
成员变量:系统默认初始化。定义时可以先不赋值