随笔分类 -  JVM

底层是上层建筑的基础
摘要:常用工具: 参考链接:jvm系列(七):jvm调优-工具篇 常用的JVM调优参数: 参考链接:JVM调优常用参数配置 阅读全文
posted @ 2020-01-18 10:26 莫等、闲 阅读(179) 评论(0) 推荐(0)
摘要:参考链接:Java堆空间的划分:新生代、老年代 阅读全文
posted @ 2020-01-18 10:08 莫等、闲 阅读(441) 评论(0) 推荐(0)
摘要:新生代收集器: SerialParNewParallel Scavenge 老年代收集器: Serial OldCMSParallel Old 堆内存垃圾收集器: G1 参考链接:JVM常见的垃圾回收器 阅读全文
posted @ 2020-01-18 09:59 莫等、闲 阅读(2118) 评论(0) 推荐(0)
摘要:常用的垃圾回收算法有如下四种:标记-清除、复制、标记-整理和分代收集。 标记-清除算法从算法的名称上可以看出,这个算法分为两部分,标记和清除。首先标记出所有需要被回收的对象,然后在标记完成后统一回收掉所有被标记的对象。 这个算法简单,但是有两个缺点:一是标记和清除的效率不是很高;二是标记和清除后会产 阅读全文
posted @ 2020-01-18 09:18 莫等、闲 阅读(3477) 评论(0) 推荐(0)
摘要:强引用(Strong) 就是我们平时使用的方式 A a = new A();强引用的对象是不会被回收的 软引用(Soft) 在jvm要内存溢出(OOM)时,会回收软引用的对象,释放更多内存 弱引用(Weak) 在下次GC时,弱引用的对象是一定会被回收的 虚引用(Phantom) 对对象的存在时间没有 阅读全文
posted @ 2020-01-18 09:17 莫等、闲 阅读(127) 评论(0) 推荐(0)
摘要:一、引用计数算法: 判断对象的引用数量: 通过判断对象的引用数量来决定对象是否可以被回收; 每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1; 任何引用计数为0的对象实例可以被当作垃圾收集; 优缺点: 优点:执行效率高,程序执行受影响较小; 缺点:无法检测出循环引用的情况,导致内存泄漏; 阅读全文
posted @ 2020-01-18 09:09 莫等、闲 阅读(1816) 评论(0) 推荐(0)
摘要:前言一个Java文件从编码完成到最终执行,一般主要包括两个过程 编译 运行 编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。 运行,则是把编译声称的.class文件交给Java虚拟机(JVM)执行。 而我们所说的类加载过程即是指JVM虚拟机把.cl 阅读全文
posted @ 2020-01-18 09:04 莫等、闲 阅读(3694) 评论(0) 推荐(1)
摘要:Java虚拟机先从最核心的API开始查找,防止不可信的类扮演被信任的类。 双亲委派模型 双亲委派模型要求除顶层启动类加载器外其余类加载器都应该有自己的父类加载器;类加载器之间通过复用关系来复用父加载器的代码。 双亲委派模型工作工程: 1.当Application ClassLoader 收到一个类加 阅读全文
posted @ 2020-01-16 19:32 莫等、闲 阅读(375) 评论(0) 推荐(0)
摘要:队列(Queue):是限定只能在表的一端进行插入和另一端删除操作的线性表 栈(Stack):是限定之能在表的一端进行插入和删除操作的线性表 队列和栈的规则 队列:先进先出 栈:先进后出 队列和栈的遍历数据速度 队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间, 阅读全文
posted @ 2020-01-16 19:25 莫等、闲 阅读(833) 评论(0) 推荐(0)
摘要:各司其职 最主要的区别就是栈内存用来存储局部变量和方法调用。 而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。 独有还是共享 栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线程的私有内存。 阅读全文
posted @ 2020-01-16 17:46 莫等、闲 阅读(718) 评论(0) 推荐(0)
摘要:Java虚拟机主要分为以下五个区: 一、方法区(METHOD AREA): 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数 阅读全文
posted @ 2020-01-16 11:46 莫等、闲 阅读(846) 评论(0) 推荐(0)
摘要:1、JVM -- java virtual machine jvm即java虚拟机,它主要有一个功能就是将编译好的class文件进行解释执行,因为class文件不能由操作系统直接执行,需要有jvm解释方可执行。 jdk-->jre-->bin可以认为该目录即为jvm 2、JRE -- java ru 阅读全文
posted @ 2019-02-26 23:00 莫等、闲 阅读(6450) 评论(1) 推荐(3)