五种基本变量类型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
概念:内存泄露:内存泄露就是对象引用消失了,对象内存却没有被回收。 java是自动管理内存的,通常情况下程序运行到稳定状态,内存大小也达到一个基本稳定值,但是内存泄露导致GC不能回收泄露的垃圾,内存不断变大,最终超出了内存界限,进而程序抛内存控制的Exception(说法应该不对,java只有Out ...
分类:
其他好文 时间:
2019-12-11 23:19:21
阅读次数:
94
1、定义一个Person类、创建它的对象p 【创建对象的根本途径是构造器,通过new关键字来调用某个类的构造器即可创建这个类的实例】 在代码中通过Person p = new Person();创建了一个Person的实例,即Person对象,赋给p变量,产生了两个东西:p变量和Person对象; ...
分类:
其他好文 时间:
2019-12-11 12:39:29
阅读次数:
142
Java之方法重写、方法重载、多态博客分类:java语言Java重写重载多态一、方法重写(Override)子类可以重写父类的方法。方法的返回值类型、参数类型、参数个数都不能改变,只能重写方法体。方法的重写规则参数列表必须完全与被重写方法的相同;返回类型必须完全与被重写方法的返回类型相同;访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写
分类:
编程语言 时间:
2019-12-09 16:49:49
阅读次数:
85
垃圾收集器与内存分配策略 1、对象已死吗 1)、引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的 主流的Java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难 ...
分类:
其他好文 时间:
2019-12-09 12:15:21
阅读次数:
71
问题描述 怎么能够更高效地判断一个链表是否有环呀? 首先创建两个指针p1和p2(在Java里就是两个对象引用),让它们同时指向这个链表的头节点。 然后开始一个大循环,在循环体中,让指针p1每次向后移动1个节点,让指针p2每次向后移动2个节点,然后比较两个指针指向的节点是否相同。如果相同,则可以判断出 ...
分类:
其他好文 时间:
2019-12-07 21:28:10
阅读次数:
96
new 操作符做了这些事: 1.它创建了一个全新的对象; 2.它会被执行[[Prototype]](也就是__proto__)链接; 3.它使this指向新创建的对象; 4.通过new创建的每个对象最终被[[Prototype]]链接到这个函数的prototype对象上; 5.如果函数没有返回对象类 ...
分类:
其他好文 时间:
2019-12-07 12:34:28
阅读次数:
150
代码 java中初始化一个实例,这个实例对应的只是对象的一个地址,并不是对象本身。将这个实例赋值给别的实例时,新实例也是指向对象的地址,两个实例实际指向的是同一个实例。对新实例赋值,老实例也会同时改变。 如图中代码,java传的只是对象地址,对象赋值引用的是同一个对象,p1引用用p,对p1操作,最终 ...
分类:
编程语言 时间:
2019-12-05 13:06:15
阅读次数:
84
只有对象引用和基本类型可以在Java的桟中以局部变量形式存在。Java栈不能容纳对象。 Java虚拟机中的对象和基本类型的结构分离在java编程语言中体现为:对象不能作为局部变量声明,只有对象引用和基本类型可以。对象引用在声明后并不指向任何有意义的东西,只有在引用被显式初始化后(无论是使引用指向一个 ...
分类:
编程语言 时间:
2019-12-03 23:04:43
阅读次数:
134