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

java八股第一天

介绍一下jvm,jre,jdk

  • jvm可以将字节码翻译成机器码,以便java程序在特定平台运行
  • jdk提供java开发和编译的工具,以及运行java程序的环境jre
  • jre是java程序的运行环境,包含java核心工具库,jvm以及一些支持文件

订正:jre提供的是运行java所需的库


java有哪些基本数据类型?

整型:byte,short,int,long

浮点型:float,double

布尔型:boolean

字符型:char

自动类型转换和强制类型转换

  • 自动类型转换是从小到大:如byte到short到int到long到float到double
  • 强制类型转换是从小到大

需要注意的是自增自减和复合运算符,做了优化会自动进行强制类型转换

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

为了在对象环境下使用基本数据类型,java引用了包装类型。

  • 基本数据类型直接存储在内存中,在栈中创建,基本数据类型占用的内存是固定的
  • 包装类型会动态分配内存,在堆中创建,他还包含了一些字段和方法,所以会占用更多一点的内存

订正:基础数据类型不是直接存储在内存中,是直接存储数据值

在栈中分配内存。

什么是自动拆箱和自动装箱

自动拆箱是将包装类型转化成基本数据类型。

自动装箱是将基本数据类型自动转化为包装类型。

自动装箱其实是调用了valueof方法。自动拆箱其实调用了xxxValue方法。

订正:应该是转化成对应的类型

成员变量和局部变量的区别

  1. 声明的位置:成员变量的声明是在类中,并且是在方法,构造函数和块之外,在整个类中的方法中都可以使用;局部变量声明在类的构造函数,方法和块中,只在其声明的构造函数,方法和块中可见。
  2. 作用域:成员变量拥有类的整个生命周期,在整个类中都可用。局部变量只在其声明的构造函数,方法和块中可见。
  3. 生命周期:成员变量随着类的创建而创建,随着类的销毁而销毁注释的。局部变量只在方法中声明时创建,在方法执行完毕后销毁。
  4. 默认值:成员变量如果不显示初始化是有默认值的。局部变量必须要显示初始化否则不能使用。

静态变量是什么

静态变量是由static关键字修饰的成员变量,可以被类的所有实例使用,无论类创建了对象,都共享这一个静态变量,静态变量可以通过类名访问。

值传递和引用传递的区别

参数的传递方式有值传递和引用传递两种,需要注意的是java中的参数传递都是值传递。

  • 值传递:方法传递的参数是实际参数的副本,对副本进行修改不会影响原始值。
  • 引用传递:方法传递的参数直接是实际参数所引用对象的地址,不会创建副本,对形参对行修改会影响到实参。

需要注意的是,java参数传递的是引用的值(也就是引用的地址),实际是值传递。传递的是引用的副本,对引用进行修改会影响到原始值,但是无法修改引用指向的对象。

订正:引用传递的是对象在堆中的地址


http://www.kler.cn/a/386374.html

相关文章:

  • 华为路由策略配置
  • 4-6-2.C# 数据容器 - ArrayList 扩展(ArrayList 注意事项、ArrayList 存储对象的特性、ArrayList 与数组的转换)
  • Webkit 滚动条样式属性
  • 华为云前台用户可挂载数据盘和系统盘是怎么做到的?
  • 【Excel】身份证号最后一位“X”怎么计算
  • 设计模式之工厂模式,但是宝可梦
  • 斑马打印机如何与工业系统(如MES、ERP、数据库等)自动化通讯?
  • 计算机网络八股文个人总结
  • 友思特应用 | 动态捕捉:高光谱相机用于移动产线上的食品检测
  • Vosk 进行中文语音识别实例
  • Java基SpringBoot+Vue的高校院系学生信息管理系统(附源码,文档)
  • //二维数组的遍历方式
  • 分布式数据库中间件mycat
  • DIP switch是什么?
  • pdb和gdb的双剑合璧,在python中调试c代码
  • [Meachines] [Medium] MonitorsThree SQLI+Cacti-CMS-RCE+Duplicati权限提升
  • 【ESP32+MicroPython】硬件控制基础
  • Python毕业设计-基于 Python flask 的前程无忧招聘可视化系统,Python大数据招聘爬虫可视化分析
  • Flink处理无界数据流
  • TDengine 签约蘑菇物联,改造通用设备工业互联网平台
  • mac端mumu模拟器adb识别不了问题
  • Qt学习笔记(三)网络编程
  • DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?
  • RabbitMQ客户端应用开发实战
  • 一文读懂系列:结合抓包分析,详解SSH协议通信原理
  • Node.js-API 限流与日志优化