1.线程概念 2.线程创建方式 1.继承thread 2.实现runnable runnable使用最多 3.线程的生命周期及线程的状态 新建状态 就绪状态的线程(已获得所有资源,栈堆内存空间),即start(); 还需要cpu给他执行权,时间片段 运行与就绪可以来回切换 ... ...
分类:
编程语言 时间:
2020-02-09 09:26:17
阅读次数:
89
内存模型以及分区,需要详细到每个区放什么 整个计算机的内存中的一部分划给了Java程序管理,在执行Java程序的时候,虚拟机会将这部分内存划分为不同区域,都有各自的用途以及生命周期。 分区:程序计数器、虚拟机栈、本地方法栈、堆、方法区(包含运行时常量池) 程序计数器(PCR)它可以看作是当前线程所执 ...
分类:
其他好文 时间:
2020-02-07 19:08:29
阅读次数:
107
1.什么是堆栈 1.1堆栈 堆栈可以看作程序的心脏 所有重要的数据都会在这个里面体现(比如运算一道算术题,虽然还没算出最终答案,但是你在算出最终结果前的一些过程值可以放进堆栈) 堆栈这块内存比较特殊,他是由大地址往小地址用 1.2栈指针寄存器ESP 假设现在程序的堆栈用到0018FF8C 当我们想使 ...
分类:
其他好文 时间:
2020-02-03 22:52:35
阅读次数:
196
class Person { int age; } public class LearnHeap { public static void main(String args[]){ int a=18; Person person = new Person(); person.age =18; cha ...
分类:
编程语言 时间:
2020-01-28 15:29:23
阅读次数:
92
JVM的结构图 Java内存结构 JVM内存结构主要有三大块:堆内存、方法区和栈。 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方法区存储类信息、常 ...
分类:
其他好文 时间:
2020-01-26 19:10:01
阅读次数:
68
Java8内存模型—永久代(PermGen)和元空间(Metaspace) 一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创 ...
分类:
编程语言 时间:
2020-01-16 10:56:22
阅读次数:
79
一、java虚拟的内存可以分为几种 1. 第一种 栈(stack) 栈的特点 1.1 栈描述的是方法执行的内存模型,每个方法都被调用都会创建一个栈(存储局部变量、操作数、 方法出口等) 1.2 JVM为每一个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等) 1.3 栈属于线程私有 ...
分类:
编程语言 时间:
2020-01-14 16:26:11
阅读次数:
79
简单来说数据结构是计算机存储,组织数组的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 数组结构的分类:数组、栈、堆、队列、链表、树、图、散列表,本文主要介绍栈和堆。 一、定义 栈(Stack)又名堆栈,它作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先 ...
分类:
Web程序 时间:
2020-01-13 18:22:46
阅读次数:
123
c++有三个地方存放对象:栈、堆、全局数据区、常量区、代码区 栈:本地变量 堆:只有new出来的对象 全局数据区:未初始化的全局变量、静态本地变量、静态成员变量 常量区:存储已经初始化的全局变量、静态本地变量、静态成员变量 ...
分类:
其他好文 时间:
2020-01-11 20:14:29
阅读次数:
95
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。 以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。 一、先说一下最基本 ...
分类:
编程语言 时间:
2019-12-30 19:43:14
阅读次数:
80