方法,必须有其所在类或对象调用时才有意义,若方法有参数: 形参:方法声明时的参数; 实参:方法调用时实际传给形参的参数值; java的实参如何传入方法呢? 首先要明确:变量分为两大类:基础数据类型、引用数据类型。 基础数据类型参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而 ...
分类:
编程语言 时间:
2019-12-14 19:26:25
阅读次数:
90
在正式开始之前,我们先说一下对象的保存 栈内存存放的是该对象的引用指针,真正的对象在堆内存中存着 多个对象的保存 function Foo() {...}; let f1 = new Foo(); 创建一个构造函数Foo(),并使用new关键字实例化一个f1对象 1.__proto__属性 首先有两 ...
分类:
其他好文 时间:
2019-12-12 17:56:10
阅读次数:
68
五种基本变量类型Null, Undefined, Boolean, Number, String,变量都是按值存放的,存放在栈内存中的简单数据段,可以直接访问。JavaScript的变量类型 对于引用类型,是存放在栈中的对象,变量保存的是一个指针,这个指针指向另一个位置。当需要访问引用类型(如对象,... ...
分类:
其他好文 时间:
2019-12-12 01:25:28
阅读次数:
105
java中内存主要包含4块,堆内存区、栈内存区、常量池、方法区。 堆内存中:存放的是new出的对象(引用类型也是对象,比如String,数组),new出的对象只包含成员变量。 栈内存中:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。 常量池:存放 ...
分类:
编程语言 时间:
2019-12-12 01:21:22
阅读次数:
112
JVM调优主要原理总结: a通过内存设置,减少GC触发。如:存新生代的比例和老年代的比例最好为1:2或者1:3。减少GC对老年代的回收 b设置并行并发垃圾器,减少GC触发时延迟卡顿。 c通过命令行查看优化前后参数,对比分析出优化的具体数据。 d.其他参数常见问题 1)内存溢出解:设置堆内存大小-Xm ...
分类:
其他好文 时间:
2019-12-09 01:08:20
阅读次数:
74
一、 堆(heap)和栈(stack) 栈(stack)会自动分配内存空间,会自动释放。堆(heap)动态分配的内存,大小不定也不会自动释放。 二、 基本类型和引用类型 基本类型:简单的数据段,存放在栈内存中,占据固定大小的空间。 引用类型:指那些可能由多个值构成的对象,保存在堆内存中,包含引用类型 ...
分类:
Web程序 时间:
2019-12-08 21:26:06
阅读次数:
123
不用程序员操心的堆 — 托管堆 程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存和栈内存。 栈内存,通常使用的场景是:对存取速度要求较高且数据量不大。 典型的栈内存使用的例子就是函数栈,每一个函数被调用时都会被分配一块内存,这块内存被 ...
分类:
Web程序 时间:
2019-12-08 15:29:33
阅读次数:
127
代码 js / 基本数据类型:string, number, boolean, null, undefined。 说明: 基本数据类型的变量是保存在栈内存中的,基本数据类型的值 直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不 会影响其他的变量。 比较: 当比较两个基本数据类型的值时,本质 ...
分类:
Web程序 时间:
2019-12-06 23:27:13
阅读次数:
167
第一部分:面试题 本篇文章我们将尝试回答以下问题: 1. 描述一下jvm的内存结构 2. 描述一下jvm的内存模型 3. 谈一下你对常量池的理解 4. 什么情况下会发生栈内存溢出?和内存溢出有什么不同? 5. String str = new String(“abc”)创建了多少个实例? 第二部分: ...
分类:
其他好文 时间:
2019-12-01 21:15:57
阅读次数:
111
String类对象的拼接操作:执行到s+="world"语句时,常量池会先创建"world"对象,再去创建"helloworld"对象,最后将"helloworld"对象的首地址赋给栈内存的s变量 StringBuilder构造方法: StringBuilder添加和反转方法: 1 import j ...
分类:
编程语言 时间:
2019-12-01 16:31:44
阅读次数:
89