Day05_SHJavaTraing_4-8-2017

一.JVM对自己的内存划分为5个区域
    1.方法栈:所有的方法运行的时候进入内存
    2.堆:存储的是容器和对象
    3.方法和数据共享: 运行时期class文件进入的地方
    4.本地方法栈: JVM调用了系统中的功能
    5.寄存器:内存和CUP之间

二.值传递和引用传递的区别(易错内容)

  1.方法参数是基本数据类型

    方法参数是基本数据类型时,传递的是值。    

 //演示方法参数是基本数据类型的传递
class Demo{
public static void main(String[] args){
int a = 3 ;
int b = 5;
demo( a , b );
System.out.println("a="+a);//a = 3
System.out.println("b="+b);//b = 5
}
public static void demo( int a , int b ){
a = a + a;
b = b + b;
}
}

  打印结果:a = 3 , b = 5

  2.方法参数是引用数据类型

    方法参数是引用数据类型时,传递的是内存地址值。  

 //演示方法参数是引用数据类型的传递
class Demo1{
public static void main(String[] args){
int[] arr = {3,6};
demo( arr );
System.out.println("arr[0]="+arr[0]);//arr[0] = 6
System.out.println("arr[1]="+arr[1]);//arr[1] = 12
} public static void demo( int[] arr ){
arr[0] = arr[0] + arr[0];
arr[1] = arr[1] + arr[1];
}
}

  打印结果:arr[0] = 6 , arr[1] = 12

JVM内存划分以及值传递和引用传递的区别的更多相关文章

  1. python中变量在内存中的存储与地址关系解析、浅度/深度copy、值传递、引用传递

    ---恢复内容开始--- 1.变量.地址 变量的实现方式有:引用语义.值语义 python语言中变量的实现方式就是引用语义,在变量里面保存的是值(对象)的引用(值所在处内存空间的地址).采用这种方式, ...

  2. 堆栈详解 + 彻底理解Java的值传递和引用传递

    本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨 ...

  3. Java的值传递和引用传递的说法

    学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java ...

  4. JAVA不可变类与可变类、值传递与引用传递深入理解

    一个由try...catch...finally引出的思考,在前面已经初步了解过不可变与可变.值传递与引用传递,在这里再次深入理解. 1.先看下面一个try..catch..finally的例子: P ...

  5. java中参数传递--值传递,引用传递

    java中的参数传递——值传递.引用传递   参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递. 在 Java 应用程序中永远不会传递对象,而只传递对象引用. ...

  6. 第002弹:Java 中的值传递和引用传递

    在 Java 的代码开发过程中,为了尽可能提高方法的复用性,明确方法的作用,同时防止一个方法内部过于臃肿的问题,往往会创建许多方法,那么不可避免地会涉及到参数传递的问题.通常来说,我们将 Java 中 ...

  7. java 传参方式--值传递还是引用传递

    java 传参方式--值传递还是引用传递 参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递.写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用 ...

  8. Java中到底是值传递还是引用传递?

    Java中到底是值传递还是引用传递? 我们先回顾一下基本概念 实参和形参 参数在编程语言中是执行程序需要的数据,这个数据一般保存在变量中.在Java中定义一个方法时,可以定义一些参数, 举个例子: p ...

  9. 一个随意list引发的惨案(java到底是值传递还是引用 传递?)

    前两天写了一个递归,因为太年轻,把一个递归方法需要用到的list定义该递归方法外了,结果开始断点测试的时候有点小问题 ,然后上线之后因为数据量太多导致了一个java.util.ConcurrentMo ...

随机推荐

  1. 有关微信小程序

    每个页面都要在app.json中配置 "pages": [ "pages/index/index", "pages/list/list", ...

  2. 15.5.3 【Task实现细节】状态机的结构

    状态机的整体结构非常简单.它总是使用显式接口实现,以实现.NET 4.5引入的 IAsync StateMachine 接口,并且只包含该接口声明的两个方法,即 MoveNext 和 SetState ...

  3. 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm

    前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...

  4. Java代码规范和一些常见问题

       本文中的代码规范,是Java标准代码规范中的一小部分,在我看来,是最重要的一部分.    理想目标:不需要写注释,不需要和别人介绍,别人就知道你的项目大致是做什么的,每个类大概实现了什么功能. ...

  5. sqlalchemy带条件查询相关应用

    sqlalchemy带条件查询 filter_by与filter filter_by 与filter的区别: 1. filter_by只能取值= filter可以==,!=,>=,<=等多 ...

  6. 使用idea搭建maven项目时 java目录下的xml文件没有加载的解决方法

    今天在idea集成开发环境下 使用maven搭建了ssm项目,遇到了3个问题 首先我们先复习一下知识点: 第一步:在web.xml中配置spring监听器 <!-- spring监听器 加载sp ...

  7. WordPress TinyMCE 编辑器增强技巧大全

    说到WordPress自带的TinyMCE 编辑器,有些国人总是不太满意.针对这个情况,倡萌已经介绍了一些增强或替代的方法: WordPress编辑器增强插件:TinyMCE Advanced Wor ...

  8. 0802关于mysql数据库的锁机制

    参考网址 http://www.cnblogs.com/yelbosh/p/5813865.html http://www.cnblogs.com/chenpingzhao/p/5065316.htm ...

  9. hibernate反向生成

    1.在Myeclipse Database Explore中创建一个库的链接. 2.在Myeclipse中创建一个web工程,添加反向生成相关的引用.即在项目上右键,弹出Myeclipse选择add  ...

  10. 开源项目 apk cfg and android app path profiling

    暑假里面完毕的一个小项目,limitation还是挺多的. 期待未来有更大的motivation 去完好它.通过此次的项目设计,对于smali的语法更加了解了,对于进一步学习android app的安 ...