`
resunly
  • 浏览: 40818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java JVM 学习笔记一虚拟机的体系结构

    博客分类:
  • java
阅读更多

JVM java 的虚拟机.从来没有深入的研究过。这几天有时间看看网上的帖子,在自己理解做下笔记。

 

java虚拟机的体系结构:

当一个ClassLoad启动的时候,ClassLoad首先将硬盘上的class文件读取后,放入JVM的方法区,

JVM 会产生一个new A()的对象放在JVM 的堆区。

 

字节码会产生两个引用,一个指向加载自己的ClassLoad,一个指向JVM 创建的new对象。

作图如下:



 A文件的字节码包含的信息如下:



 用代码看看JVM 如何加载一个类:

先写一个类:

public class ProcessJvm {
    public void showStatus() {
        System.out.println("I am runing.....");
    }
    
    public int showNumber(int x){
        return x+10;
    }
}

 调用,用反射调用类的方法,含参数的方法就是调用不成,感觉有问题??

public class Studyjvm {
    public static void fileProcess(){
        try {
            URL[] urls = new URL[]{new URL("file:/E:/IntelliJWorkSpace/javaThink/out/javaThink/")};
            URLClassLoader classLoader = new URLClassLoader(urls);
            Class c = classLoader.loadClass("jvm.ProcessJvm");
            System.out.println("classesName:"+c.getPackage());
            Method m = c.getMethod("showNumber");
            Object o = c.newInstance();
            m.invoke(o);

            //这里想调用含参数的showNumber(int x) 方法怎么调用都不对,为什么??
//            Object oo = c.newInstance();
//            Method me = c.getMethod("showNumber",Integer.class);
//            
//            Object x = me.invoke(oo,10);
//            System.out.println("x:==-=="+x);
//            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

  • 大小: 102.1 KB
  • 大小: 35.3 KB
0
0
分享到:
评论

相关推荐

    深入Java虚拟机读书笔记1

    深入理解Java虚拟机,首先我们要明白Java虚拟机(JVM)的核心功能:它负责装载类文件,执行字节码,并管理内存。Java虚拟机的结构复杂且高效,主要由类装载器、执行引擎、内存管理和类库等组件构成。 类装载器是JVM...

    良葛格Java学习笔记

    这个压缩包包含了一本名为"良葛格Java学习笔记"的HTML文档,它很可能包含了从基础到高级的Java知识体系,涵盖了从语法、数据类型、控制结构,到面向对象编程、异常处理、集合框架、多线程、网络编程等多个方面。...

    Java - JVM: 读书笔记 Chapter 05 The Java Virtual Machine ( Part I Basic )

    书中涵盖了JVM的体系结构、字节码规范、运行时数据区、异常处理、线程模型等多个方面,对于深入学习JVM非常有帮助。 6. **源码和工具**:了解JVM的源码有助于开发者更深入地理解其工作原理,同时,工具如JVisualVM...

    北大青鸟的学习笔记java

    在北大青鸟的学习笔记中,Java作为一门广泛使用的编程语言,是学习者深入理解软件开发的基础。这门课程涵盖了Java的各个方面,旨在帮助学生掌握核心的编程概念和实际应用技巧。下面将详细阐述Java编程的一些关键知识...

    深入理解Java虚拟机读书笔记之:第3章 安全(2)

    总的来说,"深入理解Java虚拟机读书笔记之:第3章 安全(2)"主要涵盖了Java安全体系的核心概念,包括类加载器、权限模型、安全管理器以及相关工具的使用。理解这些内容对于任何希望构建安全、可靠的Java应用程序的...

    JVM成神之路.rar

    "JVM成神之路.rar"这个压缩包显然提供了一条深入理解JVM的路径,通过作者精心录制的6小时视频教程和54页的配套笔记,我们可以期待全面了解JVM的体系结构以及与其相关的内存管理,特别是垃圾回收(GC)机制。...

    Java任小龙版基础笔记.zip

    9. **JVM原理**:理解Java虚拟机的工作原理,包括类加载机制、内存模型和垃圾回收,这对于优化代码和排查问题非常重要。 10. **Java标准库**:熟悉常用的Java API,如Collections、Concurrency、Networking等包,...

    黑马java教程知识点笔记整理

    Java程序可以在任何实现了Java虚拟机(JVM)的平台上运行,这被称为“一次编写,到处运行”。 【类与对象】 在Java中,一切皆为对象。类是创建对象的模板,它定义了对象的属性(变量)和行为(方法)。实例化一个...

    java体系笔记

    本笔记将深入探讨Java的各个核心概念和组成部分,构建一个全面的Java知识体系。 一、Java基础 1. Java语法:Java语法基于C++,但更加简化和安全。包括变量声明、数据类型(如基本类型、引用类型)、运算符、流程...

    良葛格 Java 学习笔记-JavaGossip全(v1+v2)

    《良葛格 Java 学习笔记-JavaGossip全(v1+v2)》是一部集成了作者良葛格多年编程经验的学习资料,旨在帮助初学者和有经验的开发者深入理解和掌握Java这门强大的编程语言。这份笔记包含了JavaGossip的两个版本,v1和...

    java学习笔记

    Java学习笔记概述 Java是一种广泛使用的面向对象的编程语言...总结来说,Java学习笔记应涵盖上述各个主题,帮助初学者逐步建立起完整的知识体系,从基础语法到高级特性,从理论到实践,全面深入地理解并运用Java编程。

    韩顺平java笔记完整版

    【标题】:“韩顺平java笔记完整版”是著名IT教育家韩顺平关于Java编程的全面学习资料,涵盖了从基础到高级的Java知识体系。 【描述】:这份笔记是韩顺平老师教学经验的结晶,旨在帮助学习者系统地理解和掌握Java...

    docs:Java知识总结:MySQL实战45讲,多线程和JVM知识总结,, SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《 JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》 ,《高级MySQL笔记》,《数据结构与算法》等等

    文档集"docs"包含了丰富的Java相关的技术资源,涵盖了数据库、框架、并发...这些知识相互关联,构成了一个完整的Java开发和运维体系。通过深入学习和实践,开发者可以提升自己的技能,更好地应对各种复杂的项目需求。

    java技术从入门到精通(孙鑫)学习笔记Lesson1.doc

    "java技术从入门到精通(孙鑫)学习笔记Lesson1"涵盖了Java的基础知识,包括JDK、JRE、J2SE、J2EE和J2ME等核心概念。 JDK,全称为Java Develop Kit,是Java开发工具包,包含了编译器、调试器和各种工具,用于编写、...

    java\CoreJava笔记\CoreJAVA_day01

    - 夸平台性:通过Java虚拟机(JVM),Java程序可以在不同的操作系统上运行,实现"Write Once, Run Anywhere"。 - 内存管理:Java自动进行内存管理,包括垃圾回收机制(GC),程序员无需手动释放内存。 - 代码安全...

    scjp java考试认证笔记

    10. **JVM与类加载器**:理解Java虚拟机的工作原理,包括类的加载、验证、准备、解析和初始化阶段,以及类加载器的概念。 11. **Java标准库**:熟悉常用的Java API,如集合框架、IO流、日期时间API、XML处理、网络...

    J2SE,J2EE学习笔记

    它包含了开发和运行Java应用程序所需的一切,包括Java虚拟机(JVM)、类库以及开发者工具。J2SE的主要组成部分包括: 1. **Java虚拟机**:JVM是Java程序的运行环境,负责解释和执行字节码。它实现了跨平台的“一次...

    java 笔记 从java语法到数组

    Java的体系结构分为三个主要部分:Java ME用于微型设备开发,Java SE是标准版,用于客户端程序,而Java EE则专为服务端程序设计。 Java语言的核心特性包括其面向对象的特性,这意味着它支持类、对象、继承、封装和...

    JAVA笔记

    以上只是Java知识体系的一小部分,实际的"JAVA笔记"可能包含更具体的内容,如JDBC数据库连接、Swing或JavaFX图形界面、单元测试、并发编程高级主题等。深入学习并掌握这些知识点,将使你在Java开发领域游刃有余。

    Java_第一章

    Java代码被编译成字节码,可以在任何支持Java虚拟机(JVM)的平台上运行,实现了“一次编写,到处运行”的理念。 3、**JDK(Java Development Kit)的下载和安装**:JDK是Java开发工具包,包含了编译器、调试器、文...

Global site tag (gtag.js) - Google Analytics