java面试2(java技术栈和Hollis面试内容分享)

1.什么是java虚拟机?

      java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件.

2.什么是平台无关性,java是如何做到平台无关的?

     跨平台是一种语言在计算机上的运行不受平台约束,一次编译处处运行的情况.平台无关一般有两种:源代码级和目标代码级,而我们经常说的是目标代码级.

    c和c++具有一定程度的源代码级平台无关,他们是源代码可以不用修改,在每个平台上重新编译就可以运行,但是一般提交软件提交的是成品,无源码,不能编译.

    java编译出来的是字节码,去到哪个平台都能用,前提是那个平台装有java开发工具包(JDK),java最大的优势就是跨平台,对于java交付的一般是jar包或者war包,只要系统上有JVM,就可以运行.

    至于java是如何做到的?

          我们编写的java源文件,经过编译会产生字节码文件,而字节码文件需要经过jvm虚拟机,然后翻译为机器语言后才能被执行.由于我们的不同的系统上安装者不同的虚拟机,源码产生的字节码文件不会有不同,而字节码文件经过不同系统的JVM会产生有差异的机器语言,是的机器可以运行.关键就在于jvm知道底层硬件平台的指令长度等,完整的表达正确的语义.

3.JDK和JRE的区别

    java运行时环境(JRE)是将要执行java程序的java虚拟机,包含了执行applet的浏览器插件.

    java开发工具包(JDK)是完整的java软件开发包,包含了JRE,编译器和其他工具,可以让开发者开发,编译,运行java应用程序.

    JDK > JRE > JVM

4.static关键字是什么意思?

    static关键字表名一个成员变量或者成员方法可以没有所属类的成员变量的情况下被使用.

5.什么是构造函数?什么是默认构造函数?

    构造函数一种在用来创建对象时初始化对象的特殊方法,即为对象成员进行初始化赋值的,总是与new关键字一起使用,特别的一个类可以有多个构造函数,可根据参数类型,参数个数不同来调用.

    他跟一般的实例方法类似,不同的是构造器没有返回类型,不会被继承,构造器的名称一般与类名相同,有着初始化对象数据成员的任务.

    而默认构造函数是指在编写一个可实例化的类的时候没有专门编写的构造函数,多数的编程语言会自动的生成缺省构造器,一般会将成员变量的值初始化默认值.如:int->0;Integer -> null;

6.构造函数可以被重载吗?可以重写吗?

    构造函数可以被重载,实现对象数据的不同初始化,不能被重写,子类不能继承父类的构造函数,只能在子类的构造方法中调用父类的构造方法(自动调用默认的构造方法),保证父类对象也进行初始化(子类继承父类对象数据得到初始化).

  

转载于:https://www.cnblogs.com/wadmwz/p/8823607.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值