自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 JVM学习笔记day7

内存分配与回收策略Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的规则并不是百分百固定的,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟...

2019-11-22 17:03:21 114

原创 JVM学习笔记day6

垃圾收集器与内存分配策略引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。Java语言中没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间的相互循环引用的问题。根搜索算法:通过一系列名为“GC Roots”的对象作为起始点,从这些点开始向下搜索,搜索所走过的路径称为引...

2019-11-21 18:46:47 103

原创 JVM学习笔记day5

对象访问看如下这行代码 Object object = new Object();"Object object"这部分的语义将会反映到Java栈的本地变量表中,作为一个reference类型数据出现。而"new Object()"这部分语义将会反映到Java堆中,形成一块存储了Object类型所有实例数据值的结构化内存,根据具体类型以及虚拟机实现的对象内存布局的不同,这块内存的长度是不...

2019-11-20 18:44:40 127

原创 JVM学习笔记day4

自动内存管理机制Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有点区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而创建和销毁程序计数器程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。子虚拟机的概念模型里,字节码解释器工作时就是通过改变这...

2019-11-19 18:52:45 93

原创 JVM学习笔记day3

package com.ginger;/** * @author ginger * @date 2019/11/14 9:38 */public class Test6 { public static void main(String[] args) throws Exception{ Class clazz = Class.forName("java.lang...

2019-11-14 18:41:40 108

原创 JVM学习笔记day2

类的加载类的加载的最终产品是位于内存中的Class对象Class对象封装了类在方法区内的数据结构,并且将Java程序员提供了访问方法区内的数据结构的接口有两种类型的类加载器Java虚拟机自带的加载器根类加载器(Bootstrap)扩展类加载器(Extension)系统(应用)类加载器(System)用户自定义的类加载器java.lang.Classloade...

2019-11-13 19:00:19 141

原创 JVM学习笔记day1

类加载在Java代码中,类型的加载(常见方法:将已存在的class字节码文件从硬盘加载到内存中)、连接(将类与类之间的关系确定好,并处理字节码相关问题)与初始化(对于一些静态变量的赋值)过程都是在程序运行期间完成的提供了更大的灵活性,增加了更多的可能性类加载器Java虚拟机与程序的生命周期在如下几种情况下,Java虚拟机将结束生命周期执行了System.exit()方法程序正...

2019-11-12 18:56:28 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除