
JVM
文章平均质量分 61
lij231
这个作者很懒,什么都没留下…
展开
-
java虚拟机--jvm处理异常简单介绍
在java中,异常处理主要是由抛出异常和捕获异常两大元素组成。这两个元素就组成java程序控制流的非正常转移。抛出异常分两种:显式和隐式。显式指的是在程序中通过throw关键字手动抛出异常实例,它的主体是应用程序;而隐式值指的是在jvm执行过程中,碰到无法继续执行的异常状态,自动抛出异常,它的主体是jvm。捕获异常则涉及到了try-catch-finally代码块。try:标记需要异常...原创 2018-11-07 10:21:10 · 581 阅读 · 0 评论 -
java虚拟机---JVM加载类的过程简单介绍
基本概念JVM把class文件加载到内存中变成类共有三大步骤,加载,链接,初始化。其中,链接需要验证类是否符合JVM规范,而没有经过初始化的类,在内存里是不能使用的。大家都知道,java语言可以把类型分两大类,基本类型和引用类型。基本类型是由JVM预先定义好的,所以,我们主要讨论的是引用类型。引用类型可以细分为4类:类,接口,数组和泛型。其中,泛型会在编译时被擦除,所以,JVM中的类型只有...原创 2018-11-05 10:17:06 · 200 阅读 · 0 评论 -
java虚拟机--JVM执行方法的简单分析
重载和重写在java中,如果同一个类出现了多个名称相同,参数也相同的方法,是无法通过编译的。就是说,在同一个类中定义相同名字的方法,该方法的参数必须不同,这就叫做重载。重载方法在编译过程中就可以被识别。java编译器会根据所传入的参数的声明类型来选取重载方法。共有三个阶段不考虑基本类型的自动装拆箱和可变长参数的情况下选; 在(1)没找到的话,允许装拆箱但不允许可变长参数的情况下选; 允...原创 2018-11-05 11:21:48 · 243 阅读 · 0 评论 -
java虚拟机--jvm执行反射简单分析
反射是java中一个相当重要的特性,它的应用十分广泛。譬如java调试器,在调试过程中枚举对象所有字段的值。在Web开发中,各种可配置的框架。为了框架的扩展性,基本上都是使用反射机制。譬如Spring的IOC容器。当然,这么方便的东西往往是牺牲另一部分的特性锁带来的,而反射牺牲的则是代码执行的性能。下面就来简单分析下反射的机制反射的实现首先看下Method类的源码public fina...原创 2018-11-11 14:53:35 · 548 阅读 · 0 评论 -
java虚拟机--invokedynamic指令简单分析
invokedynamic指令是java7引入的。这是自 1.0 以来第一次引入新的虚拟机指令。到了 java 8 这条指令才第一次在 java 应用,用在 lambda 表达式里。在这之前的方法调用指令为 invokestatic、invokespecial、invokevirtual、invokeinterface。这四种指令和包含目标方法类名,方法名以及方法描述符的符号引用绑定。为了实现in...原创 2018-11-14 09:37:13 · 611 阅读 · 1 评论 -
java虚拟机--垃圾回收简单分析
首先看看传统的垃圾回收算法引用计数法和可达性分析法引用计数法:给每一个对象添加一个引用计数器,表示这个对象的引用个数,一旦引用个数为0的时候,说明该对象已经没用了,就可以回收了。缺点是需要额外的空间,额外的更新操作,且不能处理循环引用。一旦有对象互相引用你 即 A引用B,B引用A,如果使用引用计数法那这两个对象就永远不会回收造成内存泄漏。可达性分析法:将一系列GCRoots作为根集合...原创 2018-11-21 09:56:24 · 146 阅读 · 0 评论 -
java虚拟机--内存里的java对象
在java中,创建对象的方式有很多种。最常见的就是new关键字了。除此之外,还有反射,clone(),反序列化以及Unsafe.allocateInstance。其中,反序列化和clone()是直接复制已有的数据来初始化对象的字段。Unsafe.allocateInstance 没有初始化对象的字段。new和反射则是调用构造方法来初始化实例字段的。下面是new关键字的字节码 test ...原创 2018-11-20 10:18:23 · 271 阅读 · 0 评论 -
jvm--java内存模型简单概述
java里面处理器的乱序执行,即时编译器的重排序,内存系统的重排序都会造成写的代码的顺序和实际执行的顺序并不相同。为了让程序能够排除数据竞争的干扰。java5引入了明确定义的java内存模型。其中最重要的就是Happens-before关系。程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作; 锁定规则:一个unLock操作先行发生于后面对同一个锁额lock操...原创 2018-11-29 10:09:25 · 339 阅读 · 0 评论