JVM
文章平均质量分 79
无关痛痒qaq
菜字辈的coder
展开
-
JVM(一)---基础概念
JVM概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代...原创 2020-01-06 18:16:54 · 399 阅读 · 0 评论 -
JVM(二)---双亲委派机制
常说的双亲委派机制实际上是类加载器(Class Cloader)的一种加载机制。1.什么是类加载器? 我们在进行java程序开发的时候,.java文件会经过javac命令编译为.class字节码文件,而类加载器的职责就是动态的加载这些.class文件到JVM内存空间中,类通常是在第一次使用它的时候进行加载,也就是说,如果没有使用过该类,则该类不会被加载到JVM中。2.加载器有哪些?...原创 2020-01-09 22:07:27 · 279 阅读 · 0 评论 -
JVM(三)---堆、栈、方法区
堆(线程共享): 虚拟机在启动的时候创建堆,用于存放对象的实例。几乎所有的对象(包含常量池)都在堆上分配内存。当对象无法在该区分配内存的时候,将会报OutOfMemoryError,是jvm中主要的GC区域。堆区是jvm中进行垃圾回收的主要区域,堆区可以分为:新生代、老年代、永久代GC垃圾回收机制栈(线程私有): java线程执行的内存模型,一个线程对应一个栈,每个方法在执行的时...原创 2020-01-13 13:44:01 · 316 阅读 · 0 评论 -
Native关键字
不知道大家在学习线程的时候有没有注意到Thread这个类中有下面这样一些代码: 大家如果看了Thread类的源码的时候就会发现,Thread就是一个普通的class类,但是为什么在这个类中可以定义一个类似于接口的方法呢?但是我们自己来定义一个这样的方法就会报错:但是如果我们加上native关键字的话,情况就不一样了:加上native关键字的时候,就不会再报错了。1.n...原创 2020-01-12 17:35:05 · 284 阅读 · 0 评论 -
内存溢出(OOM)故障排查---JProfiler
&原创 2020-01-14 16:54:37 · 2110 阅读 · 0 评论 -
GC垃圾回收机制----GC回收算法(GC机制必会知识点)
前言:在了解GC回收算法之前先明确一个问题,1.如何确定一个对象是否需要被回收?答:如果这个对象不会再被引用(其他对象不再持有该对象的引用)了,那么就可以被回收了这里涉及到两个算法:1.可达性分析算法 先确定肯定不会被回收的对象,然后以该对象为根对该对象持有的引用进行遍历,这些遍历到的对象就认为是可达的(不需要回收的), 遍历不到的就认为是不可达的(需要被回收的)。2.引用计数...原创 2019-07-26 16:54:01 · 999 阅读 · 0 评论