java面试上

面向对象,简单方便,平台无关,多线程,解释与编译并存,支持网络编程,可靠安全

jvm是java虚拟机,针对不同的操作系统用于实现“一次编译,随处运行”

jre是java运行时的环境,是运行 已编译的java程序 所需的所有内容的集合

jdk是jre+编译器+工具,能创建和编译程序

字节码:jvm可以理解的代码(.class)

保留可移植性,解决执行效率低,运行高效,无需编译。

aot:提前编译节约时间

jit:即时编译器,运行时编译。

有些动态代理(cglib)使用到的技术(asm)原理是在运行时直接在内存中生成并加载修改后的字节码文件,提前编译就没法使用这个技术了

编译型:通过编译器一次性翻译成可被平台执行的机器码,执行效率快,开发效率低

解释型:通过解释器一句句翻译成可被平台执行的机器码,开发效率高,执行效率慢

java具有着两种特征,并要经过“先编译,后解释”,先编译生成字节码,再解释

oracle jdk:每6个月更新一次;是参考模型且开源;更稳定;在响应性和jvm性能方面性能更好;

openjdk:开源;商业免费;更新频率快

java:不提供指针来直接访问内存;单继承,但是接口多继承;有自动内存管理垃圾回收机制;方法重载

c++:多重继承;方法重载+操作符重载

单行注释 :通常用于解释方法内某单行代码的作用。
多行注释 :通常用于解释一段代码的作用。
文档注释 :通常用于生成 Java 开发文档

饭店是关键字,张小姐饭店的张小姐是标识符

continue :指跳出当前的这一次循环,继续下一次循环。

break :指跳出整个循环体,继续执行循环下面的语句。

return 用于跳出所在方法,结束该方法的运行。return 一般有两种用法:

return; :直接使用 return 结束方法执行,用于没有返回值函数的方法

return value; :return 一个特定值,用于有返回值函数的方法

成员变量局部变量
语法形式

public private static

能被final修饰

代码块或者方法

不能被访问控制修饰符及static修饰

能被final修饰

存储方式堆中栈中
生存时间是对象一部分,随对象而存在随方法调用自动生成消亡
默认值

静态变量作用:被类的所有实例共享;无论多少对象,都共享同一份静态变量;通常静态变量会被final关键字修饰成常量

字符型常量字符串常量
形式单引号双引号
含义≈整型值,可以参加表达式运算地址值
占内存大小2个字节若干字节

​​​​​​

基本类型:不赋值就是null;不可以用于泛型;放在虚拟机栈的局部变量表中;基本数据类型占用空间非常小

包装类型:有默认值且不是null;可用于泛型;放在虚拟机的堆中,属于对象类型;

Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。
Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or False。

如果超出对应范围仍然会去创建新的对象,缓存的范围区间的大小只是在性能和资源之间的权衡

装箱:将基本类型用他们对应的的引用类型包装起来

拆箱:将包装类型转换为基本数据类型

计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断

BigDecimal 可以实现对浮点数的运算,不会造成精度丢失


著作权归所有 原文链接:https://javaguide.cn/java/basis/java-basic-questions-01.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值