
JVM虚拟机
鬼灭之刃
提升自我
展开
-
1 JVM内存模型的个人理解
1 java虚拟机内存模型1.1 程序计数器如果当前执行的是Java方法,则指示当前字节码指令的地址,如果执行的是本地本地方法,则值为Undefined。每个线程都有自己的程序计数器,也就保证了线程切换的过程中, 该线程执行的程序能恢复到正确的执行位置。1.2 本地方法栈一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样...原创 2019-05-24 18:09:25 · 288 阅读 · 0 评论 -
2 自动垃圾内存管理机制-1 识别垃圾对象
两种方法,引用计数算法,可达性分析算法1 引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。1.1 存在问题:它很难解决对象之间相互循环引用的问题。1.2 问题讲解我们删除了对象的所有的外部引用,那么对象应该要被垃圾回收,但是由于引用计数器不为1(对象相互引用导致的),...原创 2019-05-24 22:07:33 · 277 阅读 · 0 评论 -
2 自动垃圾内存管理机制-2 垃圾收集算法
总共有四种方法:(1)标记清理算法(2)复制算法(3)标记整理算法(4)分代收集算法1 标记清理算法 首先标记出需要回收的对象,在标记完成后统一回收掉所有的被标记对象。 缺点:效率问题和空间问题(标记清除后会产生大量的不连续内存碎片,内存碎片过多可能会导致程序需要分配较大对象时找不到足够大的连续内存空间而不得不提前触发另一次垃圾回收动作)2 复制算法 将内存划分为...原创 2019-05-24 22:50:06 · 273 阅读 · 0 评论 -
3 垃圾收集器
1 Serial收集器作用域:新生代采用的收集算法:新生代Serial采用复制算法,老年代SerialOld采用标记整理特点:单线程收集器,在进行收集的时候,需要暂停其他所有工作线程(Stop the world),简单高效,对于桌面应用场景(新生代使用内存不大)是很好的选择缺点:在用户不可见的情况下将用户的工作线程都停掉,对其他应用造成影响2 ParNew收集器作用...原创 2019-05-25 18:29:17 · 284 阅读 · 0 评论 -
封装、继承、多态、接口和抽象类
1 封装 即隐藏对象的属性和实现细节,仅对外公开接口。例如,我们将类的属性定义为private,只提供给用户使用属性的public方法。 作用:(1)更安全的访问 (2)提供统一的访问接口2 继承 继承就是子类继承父类的特征和行为。 作用:代码复用,有利于程序扩展,最重要的是能够实现多态。3 多态 接口的多种不同的实现方式即为多态。简单来说...原创 2019-06-14 20:00:18 · 1301 阅读 · 0 评论 -
泛型
1 泛型定义 数据类型的参数化2 泛型类 类中的参数类型由外部决定。 实现:在类后边加<T> 泛型类public class Node<T> { private T data; public Node() { } public Node(T data) { this.data = data; } public T...原创 2019-06-15 18:13:28 · 211 阅读 · 0 评论 -
文件读取
文件可以通过字节流和字符流读取package fileIO;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputS...原创 2019-06-15 23:02:55 · 472 阅读 · 0 评论