
JVM
weixin_40657079
这个作者很懒,什么都没留下…
展开
-
深入理解JVM-内存区域与内存溢出
JVM运行时数据区域 PC寄存器: 每个线程拥有一个PC寄存器 在线程创建时 创建 指向下一条指令的地址 执行本地方法时,PC的值为undefined 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能...转载 2019-02-03 09:30:28 · 219 阅读 · 1 评论 -
深入理解JVM-GC 回收算法
如何判断对象是否存活 引用计数法 概念 引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾。这种方法的缺点就是不能检测到环的存在。 首先需要声明,至少主流的Java虚拟机里面都没有选用引用计数算法来管理内存。 什么是引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1.任何时刻计数器值为0的对象就是不可能再被使用的。那为什么...转载 2019-03-02 15:25:37 · 164 阅读 · 0 评论 -
深入理解JVM-垃圾收集器&&性能工具
JVM参数配置 JVM提供了诸多的参数进行JVM各个方面内存大小的设置,为Java应用进行优化提供了诸多的工具,本文将会详细分析各个参数的功能与使用。 常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 -Xms 堆...转载 2019-03-02 16:07:27 · 96 阅读 · 0 评论 -
深入理解JVM-字节码技术
字节码技术 字节码技术应用场景 AOP技术、Lombok去除重复代码插件、动态修改class文件等 字节技术优势 Java字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。Java字节码增强主要是为了减少冗余代码,提高性能等。 实现字节码增强的主要步骤为: 1、修改字节码 在内存中获取到原来...转载 2019-03-02 16:20:59 · 321 阅读 · 0 评论 -
深入理解JVM-类加载器
类加载的机制的层次结构 每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载...转载 2019-03-02 16:27:07 · 128 阅读 · 0 评论