`
resunly
  • 浏览: 42026 次
  • 性别: 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
分享到:
评论

相关推荐

    JVM学习笔记核心知识点整理

    ### JVM学习笔记核心知识点整理 #### 一、引言与背景 随着软件开发技术的不断发展,Java作为一种广泛应用的编程语言,其背后的核心技术——Java虚拟机(JVM)的重要性日益凸显。掌握JVM不仅可以帮助开发者更好地理解...

    Java,JVM相关笔记的代码知识

    这份JVM相关的笔记包含了深入理解JVM内部工作机制的关键代码资源,是学习和优化Java应用程序的重要参考资料。下面,我们将深入探讨Java与JVM的相关知识点。 1. **类加载机制**:JVM通过类加载器(ClassLoader)将...

    java学习笔记 良格格

    ### Java学习笔记要点 #### 一、了解Java ##### 1.1 Java的起源与发展历程 - **起源**: Java 最初是由 Sun 公司在 Green Project 中为了开发 Star7 应用程序而创建的一种编程语言。 - **命名**: 语言的名字来源于 ...

    Java课堂笔记学习Java课堂笔记学习

    ### Java课堂笔记学习 #### 软件定义与软件开发 - **软件**:软件是运行在硬件之上的一组指令集,这些指令集能够完成特定的功能。软件开发过程包括设计和编码两个主要阶段。 #### 编程语言的重要性 - **编程语言...

    深入Java虚拟机读书笔记1

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

    JVM的学习笔记PDF版

    这份“JVM的学习笔记PDF版”应该包含了关于JVM的详细信息,帮助学习者深入理解这个复杂的系统。JVM允许Java代码跨平台运行,通过解释器、类加载器、垃圾收集器等组件实现“一次编写,到处运行”的理念。 1. **JVM...

    Java编程思想学习笔记

    在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...

    CoreJava学习笔记

    6. **体系结构中立**:Java程序可以在任何环境中运行,只要这个环境中有一个Java虚拟机(JVM)。 7. **可移植性**:Java的可移植性来源于它的体系结构中立性。 8. **解释型**:Java源程序经过编译后得到的是字节码,...

    良葛格Java学习笔记

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

    java基础知识学习笔记

    总的来说,“java基础知识学习笔记”是一份全面的教程,覆盖了Java编程的各个方面,无论你是初学者还是希望巩固基础的开发者,都能从中受益。通过这份笔记,你可以逐步建立起自己的Java知识体系,迈向编程世界的更...

    Java+JDK+6学习笔记.pdf

    ### Java+JDK+6 学习笔记知识点详解 #### 一、Java 概述 ...综上所述,Java+JDK+6 学习笔记覆盖了 Java 语言的基本概念、特性以及如何开始学习 Java 的一系列指导。这对于初学者来说是非常宝贵的学习资源。

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

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

    学习笔记之对象的创建(Java)

    ### 学习笔记之对象的创建(Java) #### Java技术与Java虚拟机 Java作为一种广泛使用的编程语言,其独特之处在于“一次编写,到处运行”的理念。这一特性主要得益于Java虚拟机(JVM)的存在。Java技术主要包括以下几...

    JAVA语言学习笔记之01

    - **JAVA语言体系结构:** - **JAVASE(Java Platform, Standard Edition):** 用于开发桌面应用程序。 - **JAVAEE(Java Platform, Enterprise Edition):** 用于开发Web应用程序和企业级应用。 - **JAVAME...

    北大青鸟的学习笔记java

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

    java入门基础学习笔记

    Java语言的特性包括简单性、面向对象、分布式、解释性、稳健性、安全性、体系结构中立性、可移植性、高性能、多线程和动态性等。为了能够运行Java程序,我们需要搭建相应的Java语言环境,包括JDK和JRE,并且需要正确...

    Java学习笔记.doc

    ### Java学习笔记知识点详解 #### 一、Java的三大体系 1. **J2SE (Java to Standard Edition)**: 适用于桌面应用开发以及低端商务应用的开发。它提供了基础的Java平台,包括基本的类库和支持,使得开发者能够构建...

    java学习笔记(corejava)部分.rar

    这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...

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

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

    JVM成神之路.rar

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

Global site tag (gtag.js) - Google Analytics