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(); } }
相关推荐
这份JVM相关的笔记包含了深入理解JVM内部工作机制的关键代码资源,是学习和优化Java应用程序的重要参考资料。下面,我们将深入探讨Java与JVM的相关知识点。 1. **类加载机制**:JVM通过类加载器(ClassLoader)将...
深入理解Java虚拟机,首先我们要明白Java虚拟机(JVM)的核心功能:它负责装载类文件,执行字节码,并管理内存。Java虚拟机的结构复杂且高效,主要由类装载器、执行引擎、内存管理和类库等组件构成。 类装载器是JVM...
这份“JVM的学习笔记PDF版”应该包含了关于JVM的详细信息,帮助学习者深入理解这个复杂的系统。JVM允许Java代码跨平台运行,通过解释器、类加载器、垃圾收集器等组件实现“一次编写,到处运行”的理念。 1. **JVM...
这个压缩包包含了一本名为"良葛格Java学习笔记"的HTML文档,它很可能包含了从基础到高级的Java知识体系,涵盖了从语法、数据类型、控制结构,到面向对象编程、异常处理、集合框架、多线程、网络编程等多个方面。...
总的来说,“java基础知识学习笔记”是一份全面的教程,覆盖了Java编程的各个方面,无论你是初学者还是希望巩固基础的开发者,都能从中受益。通过这份笔记,你可以逐步建立起自己的Java知识体系,迈向编程世界的更...
书中涵盖了JVM的体系结构、字节码规范、运行时数据区、异常处理、线程模型等多个方面,对于深入学习JVM非常有帮助。 6. **源码和工具**:了解JVM的源码有助于开发者更深入地理解其工作原理,同时,工具如JVisualVM...
在北大青鸟的学习笔记中,Java作为一门广泛使用的编程语言,是学习者深入理解软件开发的基础。这门课程涵盖了Java的各个方面,旨在帮助学生掌握核心的编程概念和实际应用技巧。下面将详细阐述Java编程的一些关键知识...
这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...
总的来说,"深入理解Java虚拟机读书笔记之:第3章 安全(2)"主要涵盖了Java安全体系的核心概念,包括类加载器、权限模型、安全管理器以及相关工具的使用。理解这些内容对于任何希望构建安全、可靠的Java应用程序的...
"JVM成神之路.rar"这个压缩包显然提供了一条深入理解JVM的路径,通过作者精心录制的6小时视频教程和54页的配套笔记,我们可以期待全面了解JVM的体系结构以及与其相关的内存管理,特别是垃圾回收(GC)机制。...
9. **JVM原理**:理解Java虚拟机的工作原理,包括类加载机制、内存模型和垃圾回收,这对于优化代码和排查问题非常重要。 10. **Java标准库**:熟悉常用的Java API,如Collections、Concurrency、Networking等包,...
Java程序可以在任何实现了Java虚拟机(JVM)的平台上运行,这被称为“一次编写,到处运行”。 【类与对象】 在Java中,一切皆为对象。类是创建对象的模板,它定义了对象的属性(变量)和行为(方法)。实例化一个...
本笔记将深入探讨Java的各个核心概念和组成部分,构建一个全面的Java知识体系。 一、Java基础 1. Java语法:Java语法基于C++,但更加简化和安全。包括变量声明、数据类型(如基本类型、引用类型)、运算符、流程...
《良葛格 Java 学习笔记-JavaGossip全(v1+v2)》是一部集成了作者良葛格多年编程经验的学习资料,旨在帮助初学者和有经验的开发者深入理解和掌握Java这门强大的编程语言。这份笔记包含了JavaGossip的两个版本,v1和...
Java学习笔记概述 Java是一种广泛使用的面向对象的编程语言...总结来说,Java学习笔记应涵盖上述各个主题,帮助初学者逐步建立起完整的知识体系,从基础语法到高级特性,从理论到实践,全面深入地理解并运用Java编程。
【标题】:“韩顺平java笔记完整版”是著名IT教育家韩顺平关于Java编程的全面学习资料,涵盖了从基础到高级的Java知识体系。 【描述】:这份笔记是韩顺平老师教学经验的结晶,旨在帮助学习者系统地理解和掌握Java...
文档集"docs"包含了丰富的Java相关的技术资源,涵盖了数据库、框架、并发...这些知识相互关联,构成了一个完整的Java开发和运维体系。通过深入学习和实践,开发者可以提升自己的技能,更好地应对各种复杂的项目需求。
"java技术从入门到精通(孙鑫)学习笔记Lesson1"涵盖了Java的基础知识,包括JDK、JRE、J2SE、J2EE和J2ME等核心概念。 JDK,全称为Java Develop Kit,是Java开发工具包,包含了编译器、调试器和各种工具,用于编写、...
- 夸平台性:通过Java虚拟机(JVM),Java程序可以在不同的操作系统上运行,实现"Write Once, Run Anywhere"。 - 内存管理:Java自动进行内存管理,包括垃圾回收机制(GC),程序员无需手动释放内存。 - 代码安全...
10. **JVM与类加载器**:理解Java虚拟机的工作原理,包括类的加载、验证、准备、解析和初始化阶段,以及类加载器的概念。 11. **Java标准库**:熟悉常用的Java API,如集合框架、IO流、日期时间API、XML处理、网络...