判定对象是否属于垃圾: 判断对象的引用数量 通过判断对象的引用数量来决定,是否被回收,引用数量=0,被当做垃圾处理 每个对象实例,都有一个引用计数器,被引用+1,完成引用-1 优点:执行效率高,程序执行影响较小 缺点:无法检测循环引用的情况,导致内存泄露 可达性分析算法 通过判断对象的引用链是否可达 ...
分类:
编程语言 时间:
2019-07-24 21:09:29
阅读次数:
133
类命名空间与对象、实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 其中类的数据属性是共享给所有对象的 而类的动态属性是绑定到所有对象的 创建一个对 ...
分类:
其他好文 时间:
2019-07-24 20:58:11
阅读次数:
100
面向对象:类 class 和 对象 object: 01. 什么是对象: 对象是指现实中的物体或实例 02. 什么是面向对象: 把一切看成对象(实例),对象和对象之间用方法(行为)建立关联关系 面向过程是一件事怎么去一步一步实现, 面向对象是一件事有谁(实例)去实现 03. 什么是类: 拥有相同属性 ...
分类:
编程语言 时间:
2019-07-20 09:52:15
阅读次数:
71
1.1 概念: 1.1.1 Java堆(Heap) 对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。 Java堆是垃圾... ...
分类:
其他好文 时间:
2019-07-07 14:34:49
阅读次数:
92
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。本节讲重点讲解面向对象的相关内容,主要围绕 Java 类和 java 对象展开。 知识点 类 对象 构造方法 引用与对象实例 static final 封装 继承 方法重载与重写 多态 抽象类 接口 内部类 对象,从字面意思来 ...
分类:
其他好文 时间:
2019-07-05 12:55:52
阅读次数:
95
JVM的内存结构根据JVM规范,JVM内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1.Java虚拟机栈:线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。2.堆:线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例。3.方法区:线程共享;被所
分类:
数据库 时间:
2019-07-04 17:18:32
阅读次数:
144
js中只有 实现继承, 没有接口继承. 1.使用原型实现继承 构造函数,对象实例 中都有指向 原型对象的指针 但是构造函数实例和对象实例二者并没有直接联系(除了对象实例是用构造函数new出来这一点) 试想,当类型A的原型对象 是其它类型(比如B类型)的 对象实例(b) 的时候 那么A的prototy ...
分类:
Web程序 时间:
2019-07-04 14:37:55
阅读次数:
166
概述 在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其它几个运行区域都有发生OOM异常的可能,下面我们模拟几个异常发生的场景。 Java堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且把保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数 ...
分类:
其他好文 时间:
2019-07-03 20:17:30
阅读次数:
153
什么是单例设计模式? 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 类结构图 具体实现 需要: (1)将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 ( ...
分类:
其他好文 时间:
2019-07-03 18:24:38
阅读次数:
91
双冒号(::)主要使用形式包括: 类名::实例方法 对象::实例方法 下面通过代码示例,详细解说。 双冒号(::)和 箭头函数(->)一并展示如下: 如:HashMap::new 等同于 ( ) -> new HashMap() Person类代码如下: ...
分类:
编程语言 时间:
2019-06-29 00:26:18
阅读次数:
1138