JVM
JVM
小姚师傅
一起努力,摆脱焦虑
展开
-
内存回收机制初解
【初步学习内存回收机制】 jvm内存的内存回收机制主要是针对堆来讲的 因为栈的内存回收机制随着一个基本类型的创建与销毁而进行创建而销毁,比较固定。 【如何判断对象是否死亡】 早期有两种算法: 第一种是【引用计数算法】: 给对象添加一个计数器,对象被引用,则+1,对象引用失效时,就-1。 任何时刻计数器为0的对象都是可以被清除的。 但是这里有一个问题,是我...原创 2018-03-12 22:23:52 · 156 阅读 · 0 评论 -
初步学习jvm底层原理
java虚拟机内存模型: 【程序计数器,虚拟机栈,本地方法栈,堆,方法区】五个主要模块 程序计数器: 主要是当前线程执行字节码的行号指示器,是线程私有的【线程私有:在每个线程内都会创建独立的相应的内存】 如果执行的是java方法,则计数器记录的是正在执行虚拟机字节码的指令地址; 如果执行的是native方法【native:java执行非java语言的代码用到的方法修饰符,只有方法名,没有具体实现,...原创 2018-03-11 09:18:13 · 1313 阅读 · 0 评论 -
初步学习虚拟机中对象创建的原理
在java层面,创建对象是new操作,在jvm中首先要根据这个指令的参数定位常量池中此类符号的引用, 并且检查引用代表的这个类是否已被加载/解析/初始化过。如果没有,那么会先执行相应的类加载过程。 类加载后,要为新生对象分配内存。 对象所需内存的大小在类加载完后便可完全确定。 创建新对象就是在堆内存中划出一块空内存使用。 这又分为两种情况: if(java堆内存绝对规整){ 内存模型...原创 2018-03-11 10:26:39 · 248 阅读 · 0 评论 -
用画小狗的方法来解释Java值传递
转载自Javdroider Hong的文章 - 知乎https://zhuanlan.zhihu.com/p/29074454 这位大侠讲解许多原理深入浅出,通俗易懂,推荐学习的小伙伴们关注。 主要记录这段方法:这里讲解了垃圾回收时的两种方式,引用计数法和更优化的可达性分析。 狗绳和垃圾回收 弄懂了myDog只是一条狗绳(引用),也有助于我们理解Java的垃圾回收机制,我在...转载 2018-03-14 21:26:45 · 263 阅读 · 0 评论