`
Kingson_Wu
  • 浏览: 119514 次
文章分类
社区版块
存档分类
最新评论

JVM Notes

 
阅读更多
  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:keycoding



grant 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";
};


<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    jvm工具、参数调优&调试技巧

    - [JSTAT文档](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html) 以上介绍的各种JVM工具和参数对于Java开发人员来说是非常重要的,它们能够帮助我们更好地理解和管理JVM的行为,从而提高...

    notes.ini 参数 updated 2009-01-07

    2. `MaxHeapSize`: 控制Java虚拟机(JVM)的最大内存分配,直接影响服务器的性能。 3. `AdminServer`: 指定管理服务器,用于执行后台任务和管理操作。 4. `WebServerPort`: 配置HTTP服务器的监听端口,对于Web访问至...

    FileNotFoundExcetion#learning-notes#JVM内存分配2

    jmap -heap pid可以查看应用程序堆的信息jstat可以打印元空间信息MC :分配到元空间大小MU:已使用的元空间大小 元空间是可以自己扩容的元空间:

    Java notes

    这是通过Java虚拟机(JVM)实现的,JVM将编译后的Java字节码转换为特定平台的机器指令。 #### 二、Java虚拟机(JVM) **2.1 什么是JVM?** JVM即Java虚拟机,是一个运行时环境,用于执行编译后的Java类文件。它...

    JVM内存问题最佳实践

    查看厂商发布的Release Notes可以帮助判断版本的稳定性和已知的问题。 - **Oracle Java虚拟机**:包括原Sun Java虚拟机和BEA JRockit。这两个虚拟机都能在Windows、Linux、Solaris等平台上运行。Sun Java虚拟机历史...

    My Interview Notes

    【标签】"Interview Java Notes"进一步明确了这些文件的主要焦点,即与Java相关的面试准备,这可能包括但不限于语言特性、设计模式、框架应用、并发处理、内存管理等方面的知识。 【压缩包子文件的文件名称列表】:...

    java8源码-jvm-study:jvm-study

    https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 可以看jvm参数查看网址 Direct buffer memory : 直接内存太大(-XX:MaxDirectMemorySize=100m) Java heap space: 堆内存溢出 (-Xms30m -...

    JavaSE notes,笔记

    这份"JavaSE notes,笔记"包含了开发者在学习和实践JavaSE过程中的一些关键知识点和经验总结。 首先,JavaSE的核心是Java虚拟机(JVM),它是Java程序的运行环境。理解JVM的工作原理,包括类加载机制、内存模型(堆...

    java7rt.jar源码-Java_JVM:这是我的JavaJVM学习笔记

    notes JVM: java虚拟机 一:上篇——内存与垃圾回收器 二:中篇——字节码与类的加载 三:下篇——性能监控与调优篇 一: 上篇——内存与垃圾回收器 架构: jvm依赖的架构: 栈架构/寄存器架构 栈架构 JVM的生命周期: ...

    Notes:This is a learning note | Java基础,JVM,源码,大数据,面经

    Notes 我的笔记: 知识不总结,就会被大脑当垃圾清理 :horse:求知之路必然不会一帆风顺,唯有以勤为刃,以习惯为马,劈懒斩愚,跨越舒适区,方能知众人所不知,晓众人所不晓。 :person_walking:勤于思考的人,就算散步...

    core_java notes

    总结,"Core Java notes"涵盖了Java语言的核心概念,从基本语法到面向对象特性,再到高级主题如多线程和集合框架。理解并熟练掌握这些知识对于任何Java开发者来说都是至关重要的。通过深入学习和实践,可以提升编程...

    【java开发笔记指北】涵盖java、JVM、Spring、常用框架、中间件、数据库、数

    【java开发笔记指北】涵盖java、JVM、Spring、常用框架、中间件、数据库、数据结构与算法_study-notes

    Notes Java

    Java程序由类组成,通过类加载器加载到Java虚拟机(JVM)上执行。 二、Java语法 Java的语法与C++类似,但更简洁。它包含变量声明、数据类型(如整型、浮点型、字符型、布尔型)、运算符、控制结构(如if语句、for循环...

    notes:JavaJava后端工程师的学习笔记https

    loveincode's notes 学习工作中的一些记录,收藏。 操作系统 , 编译原理 , 计算机网络 , 互联网协议... 常用数据结构与算法 Java 实现 数据结构 与 排序算法 常用设计模式 单例模式 , 工厂模式 , 装饰者模式 , 代理...

    Linux安装配置Lotus

    在安装之前,你需要在Linux系统上安装Java虚拟机(JVM),这是Lotus Domino运行的基础。通常,我们会将安装文件拷贝到 `/usr/src` 目录下,但你也可以选择其他位置。通过命令 `rpm -ivh compat-libstdc++-8-3.3.4.2....

    JDK/JRE 6.0.x Older Versions Release Notes Portfolio

    Java Runtime Environment,简称JRE,是运行Java应用程序的环境,包含Java虚拟机(JVM)、Java类库和其他支持文件。任何想要在计算机上运行Java程序的用户都必须安装JRE。 ### Java 6.0:历史与重要性 Java 6.0,...

    Javanotes7-web-site

    它的设计目标是具有“写一次,到处运行”的特性,通过Java虚拟机(JVM)在不同平台上运行。Java的特点包括简单性、面向对象、健壮性、安全性以及高性能,使其在软件开发、移动应用、企业级应用等领域广泛应用。 在...

    javacore_notes

    源代码首先被编译器编译成字节码(`.class`文件),这些字节码再由Java虚拟机(JVM)解释执行。这种机制使得Java具有较好的跨平台特性。 - **指针与内存管理**:Java对指针进行了高级封装,称之为引用。通过引用...

    Notes:学习笔记:java,Javaweb,LInux,计算机网络,操作系统,JVM虚拟机,数据结构

    综上所述,这些学习笔记涵盖了软件开发中的多个核心领域,从基础的编程语言到Web开发,再到系统层面的操作系统和网络,以及深入的JVM理解和数据结构学习。对于希望全面掌握IT技术的学者或开发者来说,这些都是必不可...

    java_personal_study_notes.rar_personal

    11. **JVM(Java Virtual Machine)**:Java的执行环境,包括类加载、字节码解释、垃圾回收等机制,了解JVM工作原理有助于优化程序性能。 12. **设计模式**:笔记可能涵盖了常见的设计模式,如单例、工厂、观察者、...

Global site tag (gtag.js) - Google Analytics