首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
请叫我憨人先森
掘友等级
Java(新零售)
大多时候以为的熟络,都是自以为是的自嗨。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
246
文章 246
沸点 0
赞
246
返回
|
搜索文章
最新
热门
憨人笔记之JVM--内存分配和回收策略
今天聊聊对象内存分配和回收策略。 在之前的笔记中,已经讲到过内存结构,对象在内存中的分配,以及垃圾回收算法及垃圾收集器的相关知识。本篇笔记记录一下对象的如何在内存中进行分配以及如何从内存中回收。 在Java中,其相对于C语言来说,它不用人为的去操作对象内存的释放。直接由虚拟机自…
憨人笔记之JVM-垃圾收集器
在之前学习了垃圾回收算法,可以这么理解,垃圾收集算法相当于一套规则,它约束也什么样的对象可以被回收。而垃圾收集器可以看做为这套规范的执行者。对可回收的对象进行垃圾回收,释放内存。下面分别了解一下各类垃圾收集器的特点。首先看一张图 图中展示了总共7种分别作用于不同分代的垃圾收集器…
憨人笔记之JVM-垃圾回收算法
在之前我们说到堆空间是对象实例存放的地方。程序会一致运行,对象也可能一直创建,但是堆的内存空间是有限的,那么如何保证在程序运行过程中,堆空间一直有足够的内存来创建新的对象呢?垃圾回收,垃圾回收将已经不使用的对象进行回收,释放内存空间,以便在分配新的对象时有足够的内存空间来进行分…
憨人笔记之JVM-运行时数据区(堆空间)
在Java虚拟机运行时数据区中,堆内存是各类内存中最大的一块。堆内存的创建伴随着虚拟机的启动而创建。所有对象实例的创建都是在堆内存中。在Java虚拟机规范中明确的描述了:所有对象实例以及数组都要在堆上分配内存空间。垃圾回收的主要区域也是发生在堆内存中。 从内存回收的角度来看,现…
憨人笔记之JVM-常量池区分
说到常量池,在JVM中,在说类加载子系统时有说到class类常量池,在分析运行时数据区时有说到运行时常量池。对于不同类型的常量池,可能容易产生混淆。那么下面来说说在整个JVM体系中各种常量池的概念以及异同。 常量池实际上有三类:class类常量池、运行时常量池、字符串常量池,下…
憨人笔记之JVM-运行时数据区(方法区)
方法区同Java堆一样,也是线程共享区域。方法区主要存储已经被虚拟机加载的类信息(包括类的名称、方法信息、字段信息)、常量、静态变量、即时编译器编译后的代码(比如spring 使用IOC或者AOP创建bean时,或者使用cglib,反射的形式动态生成class信息等)等数据。 …
憨人笔记之JVM-运行时数据区(虚拟机栈)
虚拟机栈它描述的是Java方法执行的内存模型。它的基本组成是栈帧。一个栈帧就对应的一个Java方法,任何一个Java方法在执行的时候都一定会有对应的栈帧。栈帧同程序计数器一样,也是属于线程私有的,每个线程在创建的时候都会创建一个栈帧。 栈帧的作用在于保存程序运行时候方法的局部变…
憨人笔记之JVM-运行时数据区(程序计数器)
先上图,在之前的文章中,详细介绍了类加载子系统。这里先回顾一下。类加载子系统中的核心部分 针对上面的提纲,回想一下是否能够记得每个类别每个小点的细节。 本章内容将着重讲述类加载子系统完成类加载之后JVM运行时数据区域。 运行时数据区是虚拟机在执行Java程序的过程成中把所管理的…
憨人笔记之JVM--类加载器
回顾一下前面的文章,了解了类加载子系统。整个类加载过程为加载、验证、准备、解析、初始化、使用、卸载这么七个过程。每个过程都做了详细的介绍。 本篇讲解的都是第一个过程,加载字节码文件。其关键就是类加载器,由类加载器来负责把class字节码文件加载到内存中。需要注意的是,类加载器虽…
憨人笔记之JVM--类加载子系统
先上图,由图中可以看到,整个虚拟机大致由三个子系统组成类加载子系统、运行时数据区、执行引擎。 首先要讲的就是类加载子系统。 要说类加载子系统,那就离不开虚拟机的类加载机制。可以这么认为,一切Java程序的运行,首先从类加载开始。Java文件会被编译成class字节码文件,再由J…
下一页
个人成就
文章被点赞
13
文章被阅读
5,404
掘力值
253
关注了
27
关注者
6
收藏集
3
关注标签
81
加入于
2018-05-15