Java底层运行逻辑及原理

日常我们使用的开发工具(IDEA\Eclipse)可以很方便调试程序,或者是通过工具把项目打包成jar包war包的形式放入Tomcat等容器中即可运行,但是它实际上内部是如何运行的呢?其实不论在哪里运行逻辑始终相同。

1.将编写好的java代码编译成字节码文件:即将.java文件编译成为.class文件

2.将编译好的.class文件放入Java虚拟机JVM

3.Java虚拟机使用类加载器Class Loader装在.class文件

4.类加载完成后进行字节码效验,效验通过后JVM解释器会把字节码翻译成机器码交由操作系统执行。但并非所有代码都是解释执行的,JVM对此进行了优化,能够在运行時将热点代码编译为机器码,这时候字节码就变成了编译执行。

流程如下图

Java入门到精通(六)相关推荐

  1. Java 入门到精通的过程

    有读者留言说:"希望能写写前期阶段程序员的发展经历." 收到这个问题后确实引发了我的一些回忆和思考,回想如果让我再重走一遍过来的路,在哪些方面还需要去改善呢? 以前并没有提及如何去 ...

  2. Java入门到精通要多久??

    0基础到学会WEB和安卓开发,最快六个月能搞定,如果有其它语言基础可以更快.精通就不好说了,那是思想上的东西. 1.看到过好多个这样的提问,其实我一般真的不那么容易分享自己的这点心得的,这是第一次回答 ...

  3. Kali Linux 从入门到精通(六)-基本工具使用

    Kali Linux 从入门到精通(六)-基本工具使用 基本工具 常用工具: 经常使用且功能强大 安全从业者必不可少的帮手 Nc/ncat Wireshark Tcpdump NETCAT-NC(瑞士 ...

  4. JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

    遇到的问题: 现在每登录一个人,后面的人是能看到前面的登录的人的: 但是,前面的人看不到后面的人登录: //后面每登录一个人,有责任去通知前面登录的人他已经上线了: 通知了完以后,需要更改好友在线的情 ...

  5. 2023年黑马Java入门到精通教程--Java基础入门

    推荐教程:java零基础入门到精通 如何使用Java Java语言的产品是 JDK(Java Development Kit :Java开发者工具包) ,必须安装JDK才能使用Java语言. JDK产 ...

  6. 最新Java学习路线,java入门到精通,Java自学者的福利

    前言 如果你想自学 Java,认真看完本文,你以后的职场生涯至少少走1年弯路. 行业现状 程序员现状 由于程序员的薪水比较高,最近几年有很多其他专业的人涌进了程序员行业,加速了这个行业的内卷,但是据某 ...

  7. JAVA入门到精通-第16讲-数组

      数组的必要性: 数组从0开始编号,arr[0]:习惯从0开始:比如外国人建地下室:  错误:数组越界:  ArrayIndexOutofBoundsException:5  arr.length, ...

  8. Java入门到精通——第一单元

    第一单元 java基础 本单元教学目标 (Ⅰ)重点知识目标 (Ⅱ)能力目标 1.1 java语言概述 1.1.1 java语言介绍★★ 1.1.2 Java语言发展历史★★ 1.1.3 Java语言能 ...

  9. JAVA入门到精通-第73讲-学生管理系统5-dao.sqlhelper

    -Model2模式 如果数据模型会很多,怎么办? 处理业务逻辑的:Model层 后台又分为:处理业务逻辑和对数据库的操作DAO-data access object -决定,再抽象一层出来:数据模型: ...

  10. JAVA入门到精通-第71讲-学生管理系统3-增删改查

    模式的概念(mv): 提高系统的可读性.可维护性.效率:  --------------------- 添加.修改.删除 //添加的界面做好了 //对添加的按钮做个响应,直接操作数据库: //完全可以 ...

最新文章

  1. 【iOS】NSNumberFormatter
  2. MyBatis使用心得(一)--- 简单介绍
  3. iOS 开发者必不可少的 75 个工具
  4. 寒哥细谈之AutoLayout全解
  5. javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  6. P4718 【模板】Pollard-Rho算法
  7. SQL中DATEADD和DATEDIFF的用法
  8. linux 关机命令_小猿圈Linux基础命令汇总
  9. 理解 static 关键字
  10. Perl命令行应用介绍
  11. 表单提交复选框(checkbox)注意事项
  12. springboot整合rabbitmq之延时队列
  13. 局域网IP扫描软件(softperfect network scanner中文版) v7.2.9
  14. 豆瓣电影推荐系统(Ⅰ)ItemCF算法原理
  15. 微信小程序开发视频教程
  16. springboot 整合腾讯云短信
  17. PDF怎么转换成图片?来看这两种好用的方法
  18. hexo入门学习(六):文章图片存储到七牛云
  19. 做php外包常用的框架
  20. HTML常用标签和表格教材,常用标签及表格.html

热门文章

  1. 使用Tortoise小乌龟 git 拉取代码 报错128处理
  2. MFC程序中使用QT开发界面
  3. [PHP] 解决:hex2bin(): Hexadecimal input string must have an even length
  4. Java 多线程思维导图
  5. JavaSE基础知识点思维导图
  6. 超级简单C语言进制转换代码
  7. hive 2.3 mysql_hive 2.3.4环境搭建
  8. 印度成不了下一个世界工厂,越南才可能
  9. 数电课设—四位数字电子钟设计
  10. 平面设计中的网格系统pdf_哪些设计师必看平面设计书籍,写给设计师