Java面试题

一、 Java的三大技术架构

答:JavaEE,开发企业环境下的应用程序,主要针对web的程序开发

    JavaSE,完成桌面应用程序的开发,是其他两者的基础

    JavaME,开发电子消费产品和嵌入式设备,如手机中的程序

二、  JDK和JRE的区别

    答:JDK:Java的开发和运行环境,Java的开发工具盒jre。

        JRE:Java程序的运行环境,Java运行的所需要的类库+jvm(java虚拟机)。

三 、Javac命令和Java命令做什么事情?

     答:Javac命令用来编译Java文件,Java命令可以执行生成class文件

四 、Java数据类型

    答: 基本数据类型包括byte、int、char、long、float、double、boolean和short。

        java.lang.String类是final类型

五、&和&&区别

    答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

六、|和||区别

    答:||是逻辑判断,||的左右都是布尔表达式,然后进行逻辑或运算。
                |是数值运算,|的左右是二进制数,然后根据,二进制数进行或运算。

七、面向对象

        答:1:、将复杂的事情简单化

                2、面向对象将以前的过程中的执行者,变成了指挥官。

・                3、面向对象这种思想是符合现在人们思考习惯的一种思想。

八、堆和栈的区别?

        答:Java把内存划分成两种:一种是栈内存,一种是堆内存。
               在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
                当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java                    会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
               

                 堆内存用来存放由new创建的对象和数组。

                在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。

                在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或                    对 象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。

                  引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中                        的数组或对象。

九、成员变量和局部变量的区别?

        答:局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。

十、构造函数和一般函数有什么区别?   

       答:1两个函数定义格式不同。

                2构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。

              一般函数,是对象创建后,需要调用才执行,可以被调用多次。

十一、构造代码块和构造函数有什么区别?

        答:构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就         会调用这个代码块。

        构造函数:是给与之对应的对象进行初始化。它具有针对性。



你可能感兴趣的:(虚拟机,double,应用程序,运行环境,程序开发)