实例代码: actions: { // 获取用户信息 getUserInfo({commit}) { return new Promise((resolve, reject) => { getUserInfo().then(user => { if (user.data.success) { com ...
分类:
其他好文 时间:
2020-07-15 15:17:43
阅读次数:
82
一个进程对应一个jvm实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。 核心概述 1.一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 2.Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最 ...
分类:
其他好文 时间:
2020-07-15 12:57:51
阅读次数:
71
Linux基础入门(一)初识Shell shell是什么 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Shell ...
分类:
系统相关 时间:
2020-07-15 01:11:11
阅读次数:
82
JVM垃圾回收的算法很多,但是不管是哪种算法,在进行GC时大致的流程都是差不多的,主要有以下3个过程: ###1. 枚举根节点 这个过程主要是找到所有的GC Roots对象,这些对象一般发生在JVM虚拟机栈栈帧、常量池中的静态对象、方法区中静态类属性引用、本地方法栈中引用的对象。这个过程会发生STW ...
分类:
其他好文 时间:
2020-07-12 13:56:39
阅读次数:
63
Hotspot算法细节实现 我们以可达性分析算法中,从GC Roots集合找引用链这个操作作为介绍虚拟机高效实现的第一个例子。 固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,但查找过程并非易事,光是方法区的大小就常有数百上千兆,里 ...
分类:
其他好文 时间:
2020-07-11 09:43:01
阅读次数:
52
一、基础内部部分 Java虚拟机在运行时,会把内存空间分为若干个区域,根据《Java虚拟机规范(Java SE 7 版)》的规定,Java虚拟机所管理的内存区域分为如下部分:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ? 1.方法区 方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及 ...
分类:
其他好文 时间:
2020-07-10 19:21:16
阅读次数:
59
01JVM内存结构Java虚拟机的内存空间分为5个部分:?程序计数器?Java虚拟机栈?本地方法栈?堆?方法区JDK1.8同JDK1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。1.1程序计数器(PC寄存器)(1)程序计数器的定义程序计数器是一块较小的内存空间
分类:
其他好文 时间:
2020-07-10 09:58:56
阅读次数:
77
Java的三种初始化和内存分析 声明数组放在栈里。 创建数组放在堆里。 java的内存分析 堆 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区 可以被所有的线程共享 ...
分类:
编程语言 时间:
2020-07-08 16:58:04
阅读次数:
72
垃圾收集前的判断 1:判断对象“死活” 引用计数算法:定义略,主流的Java虚拟机并没有选用引用计数算法来管理内存,因为此算法很难解决对象之间的相互循环引用的问题 可达性分析算法:定义略,可作为GC Roots的对象包括: 1:虚拟机栈(栈帧中的本地变量表)中引用的对象 2: 方法区中静态类属性引用 ...
分类:
其他好文 时间:
2020-07-06 12:43:22
阅读次数:
67
栈 1. 存放局部变量 2. 不可以被多个线程共享 3. 空间连续,速度快 堆 1. 存放对象 2. 可以被多个线程共享 3. 空间不连续,速度慢。但是灵活 方法区 1. 存放类的信息:代码、静态变量、字符串常量等 2. 可以被多个线程共享 3. 空间不连续,速度慢。但是灵活 ...
分类:
编程语言 时间:
2020-07-05 19:02:40
阅读次数:
64