这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。

1.Java语言运行的过程

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。

注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。

2.JVM:

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。

java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

JVM执行程序的过程 :

I.加载.class文件

II.管理并分配内存

III.执行垃圾收集

JRE(java运行时环境)由JVM构造的java程序的运行环境

最新文章

  1. GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现
  2. mysql的基本命令行操作
  3. Altium Designer 出现错误提示(警告)adding items to hidden net GND/VCC
  4. 简单Ztree的实现————不连接数据库版
  5. “You must not call setTag() on a view Glide is targeting” 解决
  6. zepto - push
  7. jquery实现下拉框功能
  8. PHP--TP框架----把查询到的数据,显示在模型(模板)里面
  9. Android 珍藏(二)
  10. Android点击其他任意位置收起软键盘
  11. 9. MonoBehaviour.StartCoroutine 开始协同程序
  12. win32画线考虑去锯齿
  13. cf C. Inna and Candy Boxes
  14. Clang之词法分析Lex
  15. 直接删除undo及temp表空间文件后的数据库恢复一例
  16. json相关安全问题
  17. Java集合源码学习(三)LinkedList
  18. Phoenix 5.0 hbase 2.0 org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosKeyTab
  19. GitHub超全机器学习工程师成长路线图,开源两日收获3700+Star!【转】
  20. k8s服务发现和负载均衡(转)

热门文章

  1. HDU——1267 下沙的沙子有几粒?
  2. MyBatis与Spring MVC结合时,使用DAO注入出现:Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
  3. SIGSEGV 和 SIGBUS & gdb看汇编
  4. 条款45: 弄清C++在幕后为你所写、所调用的函数
  5. [Mini Programe] Upload Images
  6. DB9针型:RS485输出信号及接线端子引脚分配
  7. 调试JDK源代码-一步一步看HashMap怎么Hash和扩容
  8. iOS 设置启动页面 时间
  9. bootstrap table load数据
  10. [算法基础]斐波那契(recursion+loop)两种方式执行时间对比