一、什么是运行时数据区? 二、运行时数据区都包括哪些区域? 三、各个区域的作用是什么? 好了,接下来我们先来解答一下第一个问题:什么是运行数据区? Java虚拟机在执行Java程序的过程中,会将涉及的数据划分到不同的内存区域去管理,而这部分区域就是我们接下来要主要讲解的运行时数据区,也就是Java虚 ...
分类:
其他好文 时间:
2021-02-02 11:09:05
阅读次数:
0
CMS是老年代垃圾收集器,在收集过程中可以与用户线程并发操作。它可以与Serial收集器和Parallel New收集器搭配使用。CMS牺牲了系统的吞吐量来追求收集速度,适合追求垃圾收集速度的服务器上。可以通过JVM启动参数:-XX:+UseConcMarkSweepGC来开启CMS。 CMS收集过 ...
分类:
其他好文 时间:
2021-02-02 10:50:16
阅读次数:
0
1.概述 2.对象回收算法 执行垃圾回收之前,要判断哪些内存需要回收,在JVM垃圾回收机制中主要体现为两种对象回收算法。 2.1 引用计数算法 给对象添加一个引用计数器,难以解决循环引用的问题,因此主流的java虚拟机基本上没有选用引用计数算法来管理内存的。 从图中可以看出,如果不小心直接把 Obj ...
分类:
其他好文 时间:
2021-02-02 10:37:48
阅读次数:
0
一、Jmap,Jstack,Jinfo命令详解 二、Jvisualvm调优工具实战 三、JVM内存或CPU飙高如何快速定位 四、Jstat命令预估JVM运行情况 五、系统频繁FullGC导致系统卡顿实战调优 六、内存泄漏到底是怎么回事 ...
分类:
其他好文 时间:
2021-02-01 11:37:18
阅读次数:
0
异常的概述 异常就是程序出现了不正常的情况(遇到了错误),最终会导致JVM的非正常停止 异常的体系结构 简单来看遇到错后面会有*****tion就是异常,为什么要有异常机制? 异常机制其实是帮助我们找到程序中的问题,提醒我们代码哪里有问题,异常的根类是 java.lang.Throwable ,其下 ...
分类:
编程语言 时间:
2021-01-29 12:04:24
阅读次数:
0
java三大版本 JDK,JRE,JVM Java三大版本 JavaSE—标准版(先) JavaEE—企业版(后) JDK,JRE,JVM JDK—Java Development Kit—(Java开发工具) JRE—Java Runtime Envionment—(Java运行环境) JVM—J ...
分类:
编程语言 时间:
2021-01-29 12:03:23
阅读次数:
0
Java多线程 多线程的实现1 继承Thread 重写run() start() 1.为什么要重写run()方法? 因为run()方法是用来封装线程要执行的代码的。 2.run()方法和start()方法的区别? 直接使用run()方法并不是启动多线程,使用start()才是启动线程,然后由JVM调 ...
分类:
编程语言 时间:
2021-01-27 13:58:25
阅读次数:
0
Java中将String类定义为由final修饰的(不可改变的),JVM中字符串一般被保存在字符串常量池中,Java会确保一个字符串在常量池中只有一个“复制”,这个字符串常量池在JDK 6.0以前是位于常量池中的,位于永久代;而在JDK 7.0中,JVM将其从永久代拿出来放置于堆中。 public ...
分类:
其他好文 时间:
2021-01-27 13:43:41
阅读次数:
0
JDK、JRE、JVM 三者关系 在学习 Java 之前,我们需要对一些专业术语有一定的了解,在 Java 中常见的专业术语包 括:JDK、JRE、JVM 等,它们分别是什么,它们之间的关系又是怎样的呢,请看下图: 从上图中我们可以看到,JDK、JRE、JVM 之间存在这样的包含关系:JDK包含 J ...
分类:
其他好文 时间:
2021-01-26 11:59:24
阅读次数:
0
前言 一直想好好的了解一下JVM,这次就来一起了解一下JVM是如何实现类的加载过程的。 原理 类加载的生命周期 1. 加载 5种类加载情况: 在遇到 new、putstatic、getstatic、invokestatic 字节码指令时,如果类尚未初始化,则需要先触发初始化。 对类进行反射调用时,如 ...
分类:
编程语言 时间:
2021-01-25 11:16:37
阅读次数:
0