面试宝典(自整版)

面试宝典(一)

一、java跨平台原理

精简概述: 通过JVM虚拟机实现

完整概述:我们直接写完的Java程序并不是直接在Windows或者Linux这样的操作系统中运行的,而是会通过Java编译器将这个Java程序编译为.class字节码文件(也就是将我们写的Java程序翻译成计算机可以识别的程序),然后由JVM虚拟机对字节码文件进行执行,最终我们程序是由JVM进行执行的而非Windows或者Linux,Unix操作系统执行,所以我们只需要安装对应操作系统版本的JVM虚拟机即可实现Java程序的跨平台实现。

二、JDK、JRE、JVM分别包含什么?各自之间的关系

  • 什么是JVM?
    • Java虚拟机(Java Virtual Machine),帮助我们运行Java程序.
  • 什么是JRE?
    • Java运行时的必要环境(Java Runtime Environment) -> 包含JVM以及核心类库JAVA API.
  • 什么是JDK? -> Kit 工具
    • Java的开发工具 (Java Development Kit)-> 包含JRE和开发JAVA程序时的一些工具.
  • JDK,JRE,JVM之间的包含关系是什么?
    • JDK包括JRE,JRE包括JVM.

[外链图片转存失败(img-4OoYHAs2-1564107061223)(E:\itheima\forMyself\allPicture\2019-07-13_081322.jpg)]

三、短路逻辑运算符和逻辑运算符的区别(&&/&、||/|)

  • 在逻辑与&表达式中,只要有一个表达式的值为false,那么后面的表达式不管是true还是false,结果都是false,但是后面的表达式还是会进行运算,消耗了系统性能,所以当使用短路与&&的时候,如果左边表达式是false,那么不会再去判断右边的表达式,直接返回false.

  • 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行.

  • 在逻辑或|的表达式中,只要有一个表达式的值为true,那么后面的表达式不管是true还是false,结果都是true,但是后面的表达式还是会进行运算,消耗了系统性能,所以当使用短路或||的时候,如果左边的表达式是true,那么不会再去判断右边的表达式,直接返回true.

  • 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行.

    简而概之:

    逻辑与&:无论左边真假,右边都要执行。

    短路与&&:如果左边为真,右边执行;如果左边为假,右边不执行。

    逻辑或|:无论左边真假,右边都要执行。

    短路或||:如果左边为假,右边执行;如果左边为真,右边不执行

四、方法重载

1.概念:

​ 方法重载指在同一个类中定义多个方法之间的关系,满足下列条件的多个方法相互构成重载.**

  • 多个方法在同一个类中.–>同一个爹.
  • 多个方法具有相同的方法名.–>同一个姓.
  • 多个方法的参数不相同,类型不同或者数量不同.

2.注意事项

  • 方法仅对对应方法的定义,与方法的调用无关,调用方式参照标准格式.
  • 重载仅针对同一个类中的方法与参数进行识别,与返回值无关,不能通过返回值是否不相同来判断两个方法是否构成重载.

五、java中是值传递还是引用传递?

值传递 -> 哪怕是引用类型,传递也是这个地址值.

六、成员变量和局部变量

  • 成员变量
    • 在类中方法外的变量是成员变量.
  • 局部变量
    • 在方法中或者方法声明中(形式参数)的变量是局部变量.
  • 成员变量和局部变量的区别是? -> 面试高频题
    • 在类中的位置不同
      • 成员变量在类中方法外,局部变量在方法中或者方法声明中.
    • 在内存中的位置不同
      • 成员变量在堆内存,局部变量在栈内存.
    • 生命周期不同
      • 成员变量随着对象的创建而创建,随着对象的消失而消失,局部变量随着方法的调用而创建,随着方法的调用完毕而消失.
    • 初始化值不同
      • 成员变量拥有初始化值,局部变量没有初始化值,必须先赋值然后才能使用.

初始化值**,局部变量没有初始化值,必须先赋值然后才能使用.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值