我们在自学java的时候开始需要安装JDC和JRE,对于软件开发人员来说需要安装JDK,对于不开发只运行java编译完的.class文件,只需要安装JRE即可。而且在安装JDK时也会自动的包含JRE包。
开发者:
作为一个菜鸟我们第一个程序是helloWord!,为了显示我们高端的技术和能力,我们会装13的在text文件中敲代码,当代码敲完后,你会在DOS系统运用命令执行,将java源文件编译成字节码,这是后需要的使用javac命令,并且使用javac.exe将文件后缀为.JAVA的文件编译成.,class的字节码文件。
在上述步骤完成后,需要使用java命令来执行.class文件。这个时候就需要JVMx虚拟机了。并且用到了ClassLoader,将要执行所需要的类加载到JVM进行执行。首先加载类型氛围一下四个:
1)Bootstrap ClassLoader 是将JRE下的基础JAR包加载到Jvm也成为核心jar包,如java.lang.*.等,在API中命名空间以java.*开头的类。
2)extensions ClassLoader是将扩展类加载到虚拟机中,如在API中的javax命名空间下的包。
3) APP ClassLoader是将应用程序类加载,这里的ClassPath路径下的类
4)是指用户自己定义的加载器,希望在程序执行进行加载特定的Class
在各个ClassLoader之间存在的委托,既当需要加载一个类时,会盲目的委托给上一级加载,若上一级没有则在委托回来进行加载。如自己编写了一个HelloWord的类,当app ClassLoader加载时会交给extensions ClassLoader来加载,而exttensions ClassLoader会委托给BootStrap ClassLoader来加载,这时候就会达到最顶级,BootStrapClassLoader会查找路径内是否存在该类,有则加载,没有交给Extensions
ClassLoader来加载,ExtensionClassLoader会查找路径是否存在,决定是否加载,若还是没有找到,则对吼交由APP ClassLoader 来加载,当然我们知道,我们一般会放在ClassPath路径下故最终还是要返回到APP ClassLoader来加载。
向上进行检测委托,然后再向下进行加载。(个人理解,可以自己再查查);
JVM虚拟机运行时,内存会为其分配一块内存。在这块内存内包含私有和共有。私有归于每个线程所私有: java栈,程序寄存器,本地方法栈。共有的如:堆内存,方法域,常量区。在java栈中存放了每个线程所调用的方法,栈有入栈和出栈两个操作,故我们可以在编写方法是可以通过PrintStrackTrace的方法来打印方法错误信息。同样的栈还包含了方法的变量数组,方法状态等信息。方法域是指类中的方法被加载到方法域中,为所有的线程所共有,常量区是线程沟通的方法域和java栈的重要区域。
分享到:
相关推荐
JAVA应用JVM原理及参数调优深入讲解视频.1 JAVA应用JVM原理及参数调优深入讲解视频.2 JAVA应用JVM原理及参数调优深入讲解视频.3 JAVA应用JVM原理及参数调优深入讲解视频.4 JAVA应用JVM原理及参数调优深入讲解视频.5 ...
JVM原理讲解和调优 JVM原理讲解和调优 JVM原理讲解和调优
JVM ClassLoader简析.压缩包中文档和示例代码
浅谈jvm原理(概念,运行机制,基本架构,运行时数据区,类加载系统,垃圾回收算法,垃圾回收策略,gc参数,调优策略)
JAVA JVM原理资料,最新。很不错,看看吧。
06.JVM原理讲解和调优.pdf
首先讲述JVM的基本概念和原理、架构等。最后一HelloApp讲述JVM的工作过程
JVM 原理及工作机制JVM 原理及工作机制
该文档是关于java虚拟机的原理,描述及调优视频,其中,详细讲述了jvm的运行机制,类装载器,GC算法,性能监控工具,堆,锁等内容。
深入jvm 内核-原理,诊断于优化视频教程.算是比较基础的
一、JVM概述 二、JVM的体系结构 三、JVM运行时数据区 3.1 PC寄存器 3.2 JVM栈 3.3 堆(Heap) 3.4 方法区域 3.5 运行时常量池 3.6本地方法堆栈 四、Jvm堆 五、Jvm调优
整理好了JVM虚拟机的原理,适合初学者理论,也适合找工作面试的。内附运行图,思维导图,文字详解,并有相关算法的详解的方式供大家理解,请大家多多支持!
JAVA应用JVM原理及参数调优深入讲解视频,内容讲解透彻,内容丰富
Sun JVM原理与内存管理
详细讲解了jvm 的运行原理,以及内存分配
JVM原理
讲解JVM的ClassLoader子系统原理.
JVM工作原理学习笔记,感兴趣的小伙伴们可以下载来看看。
JVM原理.doc
探索JVM底层奥秘ClassLoader源码分析与案例讲解,探索JVM底层奥秘ClassLoader源码分析与案例讲解.