深入拆解Java虚拟机
唉.
后端、云计算、大数据
展开
-
Java——JVM(二)
文章目录三、堆参数调优入门3.1、Java垃圾收集3.2、堆内存调优三、堆参数调优入门3.1、Java垃圾收集Java7Java8JDK1.8之后就将最初的永久代取消了由元空间取代。Java8中永久代已经被移除,被一个称为元空间的区域所取代。元空间的本质和永久代类似。元空间与永久代之间最大的区别在于:永久代使用的JVM的堆内存,但是Java8以后的元空间并不在虚拟机中而是使用本...原创 2019-12-06 11:28:30 · 136 阅读 · 0 评论 -
Java——JVM(一)
文章目录一、JVM体系结构1.1、JVM位置1.2、JVM体系结构概览1.3、类加载器1.4、双亲委派1.5、Native本地接口1.6、PC寄存器1.7、Method Area方法区1.8、Stack1.9、栈帧中保存的数据1.10、栈运行原理1.11、栈+堆+方法去的交互关系二、堆体系结构概述2.1、堆简介2.2、Heap堆(Java7之前)2.3、新生区2.4、Sun HotSpot内存管理...原创 2019-12-05 12:58:02 · 457 阅读 · 1 评论 -
JVM是如何处理异常的?
众所周知,异常处理的两大组成要素是抛出异常和捕获异常。这两大要素共同实现程序控制流的非正常转移。。。抛出异常分为显示和隐式两种,显示异常的主体是应用程序,指的是程序中使用throw关键字,手动将异常实例抛出。。隐式异常主题则是Java虚拟机,指的是Java虚拟机在执行过程中,碰到无法继续执行的异常状态,自动抛出异常。举例来说,Java虚拟机在执行读取数组操作时,发现输入的索引值是负数,抛出数组...原创 2019-09-12 14:26:59 · 593 阅读 · 0 评论 -
垃圾回收(上)
Java虚拟机的自动内存管理,将原本需要手动回收的内存交给垃圾器来自动回收。既然是自动机制,肯定没有那么高效,且也会带来不少与垃圾回收相关的问题。今年主要来回顾一下垃圾回收的基础知识,下一篇文章将会深入探索Java虚拟机中的垃圾回收器。。。引用计数法与可达性分析垃圾回收,简单来说就是将分配出去但不再使用的内存回收回来,以便能再次分配。在Java虚拟机的语境下垃圾指的是死亡对象所占据的堆空间。此...原创 2019-09-16 16:37:47 · 104 阅读 · 0 评论 -
垃圾回收(下)
先来看看Java对象生命周期的直方图:可以看出大部分的Java对象只存活一小段时间而存活下来的小部分Java对象则会存活很长一段时间。之所以提到这个假设,是因为它造就了Java虚拟机的分代回收思想。简单来说就是将堆空间划分为两代,分别叫做新生代和老年代。新生代用来存储新建的对象。当对象存活时间够长时则将其移动到老年代。Java虚拟机可以给不同代使用使用不同的回收算法:对于新生代猜测大部分...原创 2019-09-17 21:43:01 · 95 阅读 · 0 评论 -
JVM是如何实现反射的???
反射是Java语言中一个相当重要的特性,允许正在运行的Java程序观测,甚至是修改程序的动态行为。。。举例来说可以通过Class对象枚举该类中的所有方法,还可以通过Method.setAccessible绕过Java语言的访问权限,在私有方法所在类之外的地方调用该方法。另外一个日常应用是Java调试器,能够在调试过程中枚举某一对象所有字段的值。Web开发中经常能接触到各种可配置的通用框架,...原创 2019-09-18 17:48:35 · 533 阅读 · 0 评论 -
JVM是如何执行方法调用的?(上)
可变长参数方法的重载可能会造成一些坑(官方文档建议避免重载可变长参数方法),下面是一个可变长参数的例子:void invoke(Object obj, Object... args) { ... }void invoke(String s, Object obj, Object... args) { ... }invoke(null, 1); // 调用第二个 invoke 方法i...原创 2019-09-19 22:26:48 · 224 阅读 · 0 评论 -
JVM是如何执行方法调用的?(下)
设计模式大量使用了虚方法来实现多态,但是虚方法的性能效率并不是很高,因此本篇文章将评估每一种设计模式因为虚方法调用而造成的性能开销。。。首先要声明的是第一个不应该因为虚方法的性能效率而去放弃良好的设计。第二通常来说,JVM中虚方法调用的性能开销并不大,有些时候甚至可以完全消除。第一个错误是原则上的,第二个错误今天来说一下JVM虚方法调用的具体实现。。。虚方法调用上一篇文章提到Java里非私有...原创 2019-09-20 16:28:15 · 148 阅读 · 0 评论