
JVM
文章平均质量分 77
csdn_kenneth
这个作者很懒,什么都没留下…
展开
-
类加载器
虚拟机规范中并没有严格约束类加载的时机,但对类的“初始化”时机进行了严格的限制,有且只有下面4中情况必须立即对类进行初始化。(而加载、验证、准备自然要在此之前完成)使用new关键字实例化对象,读取/设置一个类的静态字段,调用一个类的静态方法的时候;使用java.lang.reflect包中的方法对类进行反射调用的时候;初始化子类的时候,如果父类尚未初始化,则先触发其父类的初始化原创 2018-01-23 18:16:35 · 267 阅读 · 0 评论 -
JVM性能调优
https://www.cnblogs.com/csniper/p/5592593.html转载 2018-12-03 18:56:37 · 200 阅读 · 0 评论 -
《Java虚拟机原理图解》
https://blog.youkuaiyun.com/luanlouis/article/category/2630089转载 2018-11-07 10:33:17 · 668 阅读 · 0 评论 -
JVM笔记
---------------垃圾收集算法---------------新生代:复制算法。将新生代分成一块较大的Eden空间和两块较小的survivor空间。每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地赋值到另外一块Survivor空间上,最后,清理掉Eden和刚才用过的Survivor空间。老生代:标记-整理算法。先标记出存活的对象,...原创 2018-03-21 19:43:50 · 173 阅读 · 0 评论 -
java虚拟机内存区域的划分以及作用详解
一、运行时数据区什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。1、程序计数器(寄存器) 当前线程所执行的字节码行号指示器字节码解释器工作依赖计数器控制完成通过执行线程行号记录,让线程轮流切换各条线程之间计数器互不影响线程私有,生命周期与线程相同,随JVM启动而生,JVM关闭而死线程执行Java方法时,记录其正在执行的虚拟机字节码指令地址线程执行Nativan方...转载 2018-03-10 14:01:11 · 204 阅读 · 0 评论 -
《深入理解java虚拟机》-第3章-垃圾收集器与内存分配策略
3.1 概述哪些内存需要回收?什么时候回收?如何回收?java堆和方法区不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。我们讨论的“内存”分配与回收也仅指着一部分内存。3.2 对象已死吗3.2.1 引用计数算法给对象添加一个引用计数器...原创 2017-12-14 18:31:31 · 362 阅读 · 0 评论 -
《深入理解java虚拟机》-第2章
第2章 Java内存区域与内存溢出异常2.1 概述2.2 运行时数据区域2.2.1 程序计数器它可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。为什么要有程序计数器呢?由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一...原创 2017-12-08 15:50:38 · 186 阅读 · 0 评论 -
JVM简答
一、内存模型JVM内存区域1.1 线程私有区域1.Program Counter Register(程序计数器)。一块较小的内存空间,作用是当前线程所执行字节码的行号指示器。2. Java Stack(虚拟机栈)。虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行时会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息转载 2018-01-24 15:26:03 · 244 阅读 · 0 评论 -
《深入理解java虚拟机》-目录结构
第一部分 走进Java第1章 走进Java第二部分 自动内存管理机制第2章 Java内存区域与内存溢出异常2.1 概述2.2 运行时数据区域2.2.1 程序计数器2.2.2 java虚拟机栈2.2.3 本地方法栈2.2.4 Java堆2.2.5 方法区2.2.6 运行时常量池2.2.7 直接内存2.3 HotSpot虚拟机对象探秘2.3.原创 2017-12-07 21:07:10 · 1561 阅读 · 0 评论 -
JVM重要知识点整理和学习
一、JVM的组成和运行原理JVM的毕竟是个虚拟机,是一种规范,虽说符合冯诺依曼的计算机设计理念,但是他并不是实体计算机,所以他的组成也不是什么存储器,控制器,运算器,输入输出设备。在我看来,JVM放在运行在真实的操作系统中表现的更像应用或者说是进程,他的组成可以理解为JVM这个进程有哪些功能模块,而这些功能模块的运作可以看做是JVM的运行原理。JVM有多种实现,例如Oracle的JVM,HP的转载 2018-01-24 14:54:44 · 289 阅读 · 0 评论 -
《深入理解Java虚拟机》-笔记旧版
第2章 Java内存区域与内存溢出异常2.1 概述为什么要了解内存管理?正是因为Java程序员把内存控制的权利交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。内存溢出和内存泄漏的区别?http://blog.youkuaiyun.com/buutterfly/article/details/6原创 2018-01-23 18:19:22 · 262 阅读 · 0 评论 -
JVM导航
内存模型和GC原理http://blog.youkuaiyun.com/ithomer/article/details/6252552基础知识http://blog.youkuaiyun.com/ithomer/article/details/9936743对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制 http://www.cnblogs.com/qiumin...原创 2018-01-23 18:18:17 · 280 阅读 · 0 评论 -
Java 如何有效地避免OOM:善于利用软引用和弱引用
https://www.cnblogs.com/dolphin0520/p/3784171.html转载 2019-03-29 14:08:50 · 370 阅读 · 0 评论