JVM Notes

来源:互联网 发布:linux telnet包 编辑:程序博客网 时间:2024/05/17 15:41
  1. JVM加载类可以是本地的class文件也可以网络传输的class文件

  • 启动类装载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自java.lang.ClassLoader。
  • 扩展类装载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。
  • 应用程序类装载器(application class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通过 ClassLoader.getSystemClassLoader()来获取它。
      除了系统提供的类装载器以外,开发人员可以通过继承 java.lang.ClassLoader类的方式实现自己的类装载器,以满足一些特殊的需求。
      类装载器子系统涉及Java虚拟机的其它几个组成部分以及来自java.lang库的类。ClassLoader定义的方法为程序提供了访问类装载器机制的接口。此外,对于每一个被装载的类型,Java虚拟机都会为它创建一个java.lang.Class类的实例来代表该类型。和其它对象一样,用户自定义的类装载器以及Class类的实例放在内存中的堆区,而装载的类型信息则位于方法区。
      reference:http://www.cnblogs.com/lao-liang/p/5110710.html
 java之jvm学习笔记一分类: 大学的幼稚-java之jvm学习笔记 java 2012-12-04 20:43 2800人阅读 评论(1) 收藏 举报              欢迎装载请说明出处:http://blog.csdn.net/yfqnihao              java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种,第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新的解析一次,第二种,即时解析,也就是转载到内存的字节码会被解析成本地机器码,并缓存起来以提高重用性,但是比较耗内存,第三种,自适应优化解析,即将java将使用最贫乏的代码编译成本地机器码,而使用不贫乏的则保持字节码不变,一个自适应的优化器可以使得java虚拟机在80%-90%的时间里执行优化过的本地代码,而只需要执行10%-20%对性能有影响的代码。第四种,一种能够利用本地方法直接解析java字节码的芯片。           writed by:keycodinggrant codeBase "file:F:\IdeaProject\Test\apache-tomcat-8.0.24-src\test\kxw\SecurityManager\proxy\TestPolicy/bin/*" {    permission java.io.FilePermission "F:\IdeaProject\Test\apache-tomcat-8.0.24-src\test\kxw\SecurityManager\proxy\myPolicy.txt", "read";};
0 0
原创粉丝点击