首页 > 编程语言 >Java Learning Day3 数组

Java Learning Day3 数组

时间:2023-12-01 11:15:37浏览次数:46  
标签:存储 Java JVM int 数据类型 Day3 引用 Learning Integer

System.out.print;    System.out.println;每输出一次就会换行 Integer.parseInt 字符串转int Double.parseDouble 字符串转double

数组

存储结构连续,存储元素类型相同,随机访问

 JVM

JVM栈:JVM栈正是java中方法执行时所占有的空间、局部变量会存于栈帧中

堆:堆是JVM内存中最大的一块,new出来的东西(称之为对象或者实例)都在堆上。

方法区

程序计数器:JVM执行代码解释执行的,即是一行一行执行字节码的,程序计数器用来记录当前执行的行数

本地方法栈:和JVM栈类似,区别是本地方法栈是给本地(native)方法使用的,而不是普通方法。

 

堆内存主要决定了Java程序的数据如何存储的问题。而JVM栈用来表示方法的执行流程, 它决定了程序如何执行,或者说如何处理数据。

 

引用数据类型的创建分为两部分:

  1. 首先是在栈上分配一片空间给引用数据类型的引用,简称引用,它是一个局部变量,直接存储在栈帧中。

  2. 在堆上开辟一片空间,用于存放引用数据类型的实际信息,称之为对象或者实例

 


基本数据类型与引用数据类型有什么区别

  • 存储位置(本质区别)

    1. 基本数据类型不存在引用的概念,数据都是直接存储在栈上的栈帧里;

    2. 引用数据类型在栈帧中存储引用,引用作为一个局部变量,存储的只是该引用类型在堆上对象的内存地址。

      存储在堆上的对象存储具体信息,才是引用数据类型的实质

  • 引申出,打印变量名区别:

    1. 基本数据类型,打印变量名就是该变量具体的数值

    2. 引用数据类型,没有办法直接访问对象,打印变量名(引用)会显示该引用存储的堆上的对象的内存地址。

 

布尔类型(boolean)默认值是false

引用数据类型默认值是null

增强for:无数组下标,不会改变元素取值

可变长参数:参数个数不确定,类型确定的情况,Java会自动把可变参数当作数组处理。可变参数用于形参列表中,并且只能出现在形参列表的最后 

 this 是指向成员变量的,否则就是就近原则

 

 

1.int是基本数据类型之一,而Integer是对象类型。

2.Integer是int的包装类,int则是java的一种基本数据类型。

3.Integer变量必须实例化之后才能使用,而int变量不需要。

4.Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值。

5.int默认值为 0,Integer默认为null

 Java有且仅有值传递,Java中的方法不能直接改变实参本身。

 

 

 

 

标签:存储,Java,JVM,int,数据类型,Day3,引用,Learning,Integer
From: https://www.cnblogs.com/cff1/p/17860579.html

相关文章

  • 一天吃透Java并发面试八股文
    内容摘自我的学习网站:topjavaer.cn分享50道Java并发高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?嗯,手动创建线程有两个缺点不受控风险频繁创建开销大为什么不受控?系统资源有限,每个人针对不同业务都可以手动......
  • 前端学习-JavaScript学习-js基础-API01
    学习视频:黑马程序员视频链接DOM简介DOM简介DOM树:将HTML文档标签以树状形式表现出来DOM对象:每个标签都是DOM对象DOM核心思想:将网页内容当作对象处理DOM中最大的对象:document,其次是<html><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metan......
  • [转]Java 读取 FinalShell 已保存的密码
    转自:https://blog.csdn.net/Linkaias/article/details/133805438也可以找一些在线解密网站来查看密码。 FinalShell可用来连接到Linux服务器,官网:https://www.hostbuf.com/?install_fspackageorg.example;importjava.io.ByteArrayOutputStream;importjava.io.DataOu......
  • java-2023-11-30
    1、java中char类型由于使用Unicode编码所以是占两个字节而并不像C中是占一个字节。2、java中不使用0或非0值来代表假或真而是直接使用false或true。3、java中float和double由于精度不同不能进行比较,否则存在两值明显不等但输出的比较结果却为true的风险。4、如果运算结果可能超......
  • Java面试小练(五)
    1).请描述一下Maven中坐标的组成部分?以及在Maven项目添加一个依赖之后,依赖在仓库中的查找顺序。坐标是用于描述仓库中资源的位置其主要组成groupld:定义当前Maven项目隶属组织名称artifactld:定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)version:定义当前项自版......
  • Java函数式接口再理解
    Java函数式接口再理解前言这篇文章主要是我个人对函数式接口的再理解,若有理解偏差或考虑不周的地方,欢迎批评指出,共同进步!这里做下记录,以便日后遗忘查阅;目录目录Java函数式接口再理解前言目录一、什么是函数式接口①概述②一个标准的函数式接口③举例感受函数式接口的作......
  • java接入百度翻译接口简单实现中译英
    1.去官网开通标准版https://api.fanyi.baidu.com/access/0/1百度翻译开放平台(baidu.com)开通成功后,点击立即使用后的页面是这样子的  将APPID和密钥复制下来,待会连接需要使用到  2.下载java包百度翻译开放平台(baidu.com) 下载后,复制粘贴到自己的项目中......
  • 在eclipse中拖动项目到Tomcat服务器中报错:Project facet Java version 16 is not supp
    ......
  • java使用hive-jdbc查询超时:java.sql.SQLException: org.apache.thrift.transport.TTra
     java.sql.SQLException:org.apache.thrift.transport.TTransportException:java.net.SocketTimeoutException:Readtimedout  atorg.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:262)  atorg.apache.hive.jdbc.HivePreparedStatement.execute(......
  • Java常用库介绍
    ApacheCommons与Guava 参考资料:开源工具导航——ApacheCommons与Guava全览https://blog.csdn.net/qq_35946969/article/details/123418026Java开源工具库使用之Apachecommons-lang3https://blog.csdn.net/qq_23091073/article/details/126743040 ......