java核心JVM
来源:互联网 发布:淘宝怎么打造一个爆款 编辑:程序博客网 时间:2024/06/05 03:50
我认为再学习JAVA语言之前最重要的是先了解一下JVM,和java实现跨平台的原理,只有懂得的其原理,才能更好的去学习JAVA。
我们都知道Java语言是一种面向对象的语言,同时他也是一种半解释半编译性语言。这都是java在编程语言中所占有的角色。为什么称java为半编译半解释性语言啦,这就和Java的虚拟计算机jvm有关,他负责把我们的Java语言编译成一种.class的文件,这种文件在jvm上可以运行他是与平台无关的,jvm能够知道你发出的是什么指令。然后JVM通过解释这种语言,让不同类型的计算机能够知道你发出的指令从而去运行这段程序。我们只需要在不同的计算机上安装不同的jvm,编译后的.class文件就能够运行起来。我们可以把JVM看作是一台虚拟的计算机,我们只需要在这个环境上开发java代码,来达到我们想要的效果。
下面写一段Java代码,简单的了解一下java的运行原理。
首先
main函数直接调用Java.c中LoadClass方法装载该类,这个时候会生成一个.Class文件。
然后main函数调用JNIEnv实例的GetStaticMethodID方法查找装载的class主类中
“public static void main(String[] args)”方法,并判断该方法是否为public方法,然后调用JNIEnv实例的
CallStaticVoidMethod方法调用该Java类的main方法。最后会执行Main方法里面的输出语句,打印Hello World。
面试的时候可能会问到这样的面试题:
Java类加载机制
JVM将类加载过程划分为三个步骤:装载、链接和初始化。
- 装载(Load):装载过程负责找到二进制字节码并加载至JVM中,JVM通过类的全限定名(com.bluedavy. HelloWorld)及类加载器(ClassLoaderA实例)完成类的加载;
- 链接(Link):链接过程负责对二进制字节码的格式进行校验、初始化装载类中的静态变量及解析类中调用的接口、类;
- 初始化(Initialize):执行类中的静态初始化代码、构造器代码及静态属性的初始化。
0 0
- java核心JVM
- java核心JVM
- java JVM核心机制
- java核心机制之JVM
- Java核心知识点-JVM再深入
- 深入Java核心:JVM中的栈和局部变量
- Java核心知识点-JVM结构和工作方式
- Java核心知识点-JVM结构之常量池
- Java核心知识点-JVM结构和工作方式
- Java核心知识点-JVM结构和工作方式
- Java核心知识点-JVM结构和工作方式
- 学习笔记——JAVA JVM的核心机制
- JVM核心知识笔记
- JVM三大核心区域
- JavaSE_1.2 JAVA中JVM和GC两种核心机制的简单认识
- 深入Java核心:JVM中的栈和局部变量(多线程调用同一方法)
- Java的运行平台以及核心机制 JRE JVM JDK之间的联系
- java核心机制——jvm运行以及类加载全过程
- 请求数据
- 在ubuntu14.04上搭建Objective-C开发环境
- PullToRefresh一些实用的用法
- Spring +slf4j logger
- Python 面向对象(2)-1
- java核心JVM
- 面试题总结2
- Google推荐的图片加载库Glide介绍
- LeetCode OJ-226. Invert Binary Tree(反转二叉搜索树)
- ajaxFileUpload文件上传Jquery插件
- 顺序表应用4:元素位置互换之逆置算法
- 从一个简洁的进度刻度绘制中了解自定义View的思路流程
- 165. Compare Version Numbers
- 工具类