当前位置: 首页 > news >正文

【Java基础面试题】Java特点,八种基本数据类型

Java的特点

  • 1.面向对象
  • 2.跨平台
  • 3.简单易学
  • 4.内存管理

JVM、JDK、JRE的关系

  • JVM:Java虚拟机,它负责把字节码文件进行编译并运行,是Java具有跨平台性的关键所在。它还有内存管理,垃圾回收等功能。
  • JDK:JDK是Java开发工具包,它包含了JVM,编译器,调试器等开发工具,还包含一系列类库。它提供了Java程序编译,调试,运行所需要的工具和环境。
  • JRE:是java运行时的最小环境,它包含JVM和一组Java类库,用于支持java运行。

数据类型

八种基本数据类型:

整型:byte,short,int,long
浮点型:float,double
字符型:char
布尔类型:boolen
这八种基本类型都有对应的包装类分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean

基本类型和包装类型的区别

1.用途:除了定义一些常量和局部变量之外,我们在其他地方比如方法参数、对象属性中很少会使用基本类型来定义变量。并且,包装类型可用于泛型,而基本类型不可以。
2.存储方式:基本数据类型的局部变量存放在 Java 虚拟机栈中的局部变量表中,基本数据类型的成员变量(未被 static 修饰 )存放在 Java 虚拟机的堆中。包装类型属于对象类型,我们知道几乎所有对象实例都存在于堆中。
3.占用空间:相比于包装类型(对象类型), 基本数据类型占用的空间往往非常小。默认值:成员变量包装类型不赋值就是 null ,而基本类型有默认值且不是 null。
4.比较方式:对于基本数据类型来说,比较的是值。对于包装数据类型来说,比较的是对象的内存地址。所有整型包装类对象之间值的比较,全部使用 equals() 方法。

装箱和拆箱

  • 装箱:把基本数据类型转化为对应的包装类
  • 拆箱:把包装类型转化为基本数据类型

Integer和int 的区别

  • 基本类型和引用类型:int为基本数据类型,它们是预定义的,不需要实例化就可以使用。而Integer是引用类型,需要实例化。也就是说使用int 来存储一个整数时没有额外的内存分配
  • 自动装箱和拆箱:Integer可以实现自动拆箱和装箱,当把Integer类型的值赋值给int类型时会自动进行拆箱,把int类型的值赋值给Integer类型时,会自动装箱
  • 空指针异常:int类型可以赋0,而Integer不可以赋空值
http://www.lryc.cn/news/602469.html

相关文章:

  • 【Zustand】从复杂到简洁:Zustand 状态管理简化实战指南
  • GTSuite许可证兼容性及要求
  • 【数据标注】详解使用 Labelimg 进行数据标注的 Conda 环境搭建与操作流程
  • 修改gitlab默认的语言
  • GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【四】
  • Java面试深度剖析:从JVM到云原生的技术演进
  • opencv学习(轮廓检测)
  • OpenCV(05)直方图均衡化,模板匹配,霍夫变换,图像亮度变换,形态学变换
  • UE5 UI自适应 DPI缩放
  • 【Spring WebFlux】 三、响应式流规范与实战
  • android-屏幕-刷新流程
  • 《深入剖析Kafka分布式消息队列架构奥秘》之Kafka基本知识介绍
  • MCU 中的 PWM(脉冲宽度调制)是什么?
  • uniapp 更新apk有缓存点不动,卸载安装apk没有问题。android
  • LeetCode 刷题【18. 四数之和】
  • R 语言科研绘图 --- 其他绘图-汇总1
  • 2025 DevOps工具生态全景解读:本土化服务与智能化演进成关键赛点
  • Centos 7 命令:ip addr
  • 国产测试用例管理工具横向评测:DevOps时代如何选择最适合的协作平台?
  • 问题大全【1】
  • LWGJL教程(8)——基础知识
  • 游戏测试与软件测试的区别
  • 安全风险监测系统是什么?内容有哪些?
  • 关于联想M6201d-00 升级的几点总结
  • 【大模型LLM】大模型微调 应对显存限制和训练加速 常用的优化策略
  • 决策树算法小结(中)
  • git 使用 rebase 删除某次 提交
  • 【优先级高,先补充】基于文本增强跨模态特征交互注意网络的多模态情感分析
  • 机器学习与深度学习评价指标
  • linux函数 mmap详解