
java虚拟机
文章平均质量分 65
爱coding的同学
即使生活过得平淡无奇,也不要忘记最初的梦想
展开
-
Java逃逸分析(附实际例子分析)
我们知道对象一般是在堆上生成的,但这并不是绝对的。特例就是今天要说的逃逸分析。JVM 在分析代码以后,发现一个对象在声明之后,只有在它当前声明的这个函数中调用,那么它就会将这个对象在栈上申请空间。而不是在堆上。这就是JDK6出的逃逸分析。因为在栈上创建的对象,在函数执行完毕以后,会将这个对象清理。这样就大大减轻了GC的压力。原创 2023-01-07 19:59:44 · 1201 阅读 · 4 评论 -
深入类加载器一
深入类加载器(一) 那么在加载的时候究竟发生了什么呢?其实我们知道刚开始进来的是字节码文件,那么经过加载了以后,那么这些静态的数据就会变为方法区中的一些动态的二进制数据,并且在堆中生成指向这个这个类的java.lang.class对象,这个对象指向的是方法区中的运行时的数据。那么我们就可以通过这个class对象来操纵这个类了。反射就是基于这个原理的。那么简单的原创 2016-08-13 00:27:31 · 619 阅读 · 0 评论 -
深入类加载器二----主动引用和被动引用
深入类加载器(二)--主动引用和被动引用 JVM类加载的全过程值之初始化的时机,类的主动引用和被动引用,静态初始化块执行顺序问题。 我们已经知道了类加载的初始化阶段就是类构造器的初始化。所谓的类构造器就是将静态变量的初始化动作和静态块中的所有的内容合并起来。在静态变量和静态块的初始化过程 在多线程的环境中肯定是线程安全的。肯定会有同步和等待。并且如果发现父类原创 2016-08-13 00:32:54 · 1359 阅读 · 0 评论 -
深入类加载器----类加载器的分类和等级
深入类加载器(三)----类加载器的分类和等级 深入类加载器层次结构(三种类加载器)代理加载模式,双亲委托机制 我们首先要知道在java中,类加载器也是分等级的。最高级的一种加载器是加载java中的核心包下的类。比如说java.ang.String类就是通过这种类加载器进行加载的。下一个等级的就是额外的类加载器。也是加载一些类的。再原创 2016-08-13 00:37:15 · 6545 阅读 · 4 评论 -
深入类加载器----线程上下文类加载器
深入类加载器(四)----线程上下文切换类加载器 线程上下文类加载器 我们知道在java中的加载器的加载模式是双亲委托模式,这种模式是遵从父类优先的原则。但是在一些场合中,这种双亲委托机制反而是行不通的。最典型的是JDBCApi:其实JDBCApi包括俩部分:一部分是oragle公司提供的接口类,一部分是具体的厂商提供的实现类,原创 2016-08-13 00:39:47 · 2212 阅读 · 0 评论 -
深入类加载器---自定义类加载器
深入类加载器(五)---自定义类加载器 自己写的类加载器 需要注意的是:如果想要对这个实例进行测试的话,首先需要在c盘建立一个c://myjava的目录。然后将相应的java文件放在这个目录中。并将产生的.clas文件放在c://myjava/com/lg.test目录下,否则是找不到的。这是要注意的。。 p原创 2016-08-13 00:42:15 · 1121 阅读 · 0 评论