Java 技术体系简介

Java 技术体系简介Java技术包含的所有内容:1、Java技术体系2、Java一次编译,到处运行Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行。Java程序的运行需要Java虚拟机、JavaAPI和JavaClass文件的配合。Java虚拟机实例负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例就诞生了。当程序结束,这个虚拟机实例也就消亡。Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了

大家好,又见面了,我是你们的朋友全栈君。

Java 技术包含的所有内容:
在这里插入图片描述

1、Java技术体系

在这里插入图片描述

2、Java 一次编译,到处运行

Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行。Java程序的运行需要Java虚拟机、Java API和Java Class文件的配合。Java虚拟机实例负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例就诞生了。当程序结束,这个虚拟机实例也就消亡。
Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。
正是因为它有针对不同平台的虚拟机,它号称的“一次编译,到处运行”的跨平台特性才能有所保障。
在这里插入图片描述

3、JDK 与 JRE

JDK = JREJava API类库中除Java SE API子集以外的部分Java程序设计语言

(1)JDK
在这里插入图片描述
(2)JRE
在这里插入图片描述

4、Java程序执行流程

java程序执行过程分为两步,下图为流程示意图

  第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)
  
  第二步:将JVM文件通过java.exe执行,输出结果

在这里插入图片描述
(1)JDK文件
在这里插入图片描述
(2)Java程序的执行依赖于编译环境和运行环境。源码代码转变成可执行的机器代码,由下面的流程完成:
在这里插入图片描述

5、字节码(.class)文件

(1)概念

● Java字节码类文件(.class)是Java编译器编译Java源文件(.java)产生的“目标文件”。 它是一种8位字节的二进制流文件,各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑,体积轻巧,可以被JVM快速的加载至内存, 并且占据较少的内存空间(方便于网络的传输)。

● Java源文件在被Java编译器编译之后, 每个类(或者接口)都单独占据一个class文件, 并且类中的所有信息都会在class文件中有相应的描述, 由于class文件很灵活, 它甚至比Java源文件有着更强的描述能力。

● class文件不可以被系统直接执行,而是需要虚拟机解释执行

● class文件中的信息是一项一项排列的,每项数据都有它的固定长度。数据项的不同长度分别用u1, u2, u4, u8表示, 分别表示一种数据项在class文件中占据一个字节, 两个字节, 4个字节和8个字节。
在这里插入图片描述
(2).class文件结构

.class文件示例:在这里插入图片描述
从上面的字节码文件中我们可以看到,里面就是一堆的16进制字节。.class文件各种类型如下:
在这里插入图片描述在这里插入图片描述
class文件只有两种数据类型:无符号数和表。
在这里插入图片描述
(2).class文件解读

具体参考 class描述文件解读

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157008.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《关于VirtualBox在桥接模式下无法联网 解决方案》

    《关于VirtualBox在桥接模式下无法联网 解决方案》博主遇到了这个问题,百度了大半天还是没有解决到,可能是由于下面链接的文章的标题关键词比较偏,很难精确的定位到此文章,于是博主就决定总结归纳了一下,希望对大家有所帮助。。经过无数次的百度,早已厌倦粘贴党,问牛答马党,错误党,大大的浪费了大家的时间,于是博主开了这篇文章..我们在VBOX上面安装了Linux之后,VBOX默认网络设置是使用NAT模式的,这种方式宿

  • 如何配置一台计算机预计3500元,玩游戏用的电脑主机应该怎么配置?3500元组装游戏电脑主机配置推荐…「建议收藏」

    如何配置一台计算机预计3500元,玩游戏用的电脑主机应该怎么配置?3500元组装游戏电脑主机配置推荐…「建议收藏」本文转自:http://www.dn010.com/peizhi/950.html玩游戏用的电脑主机应该怎么配置?喜欢玩游戏的朋友都想配置一台游戏电脑,今天电脑组装知识网给大家带来3500元组装游戏电脑主机配置推荐,主机的价位在3500元,很符合主流游戏用户的价格区间,高特效LOL,cf,中特效吃鸡、大型单机都可以应对。1、虽然intel已经推出了第九代处理器,不过目前为止,九代产品线只覆盖了中高…

  • 【STM32】HAL库 STM32CubeMX教程十三—RTC时钟

    【STM32】HAL库 STM32CubeMX教程十三—RTC时钟前言:本系列教程将对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用所用工具:1、芯片:STM32F407ZET6/STM32F103ZET62、STM32CubeMx软件3、IDE:MDK-Keil软件4、STM32F1xx/STM32F4xxHAL库知识概括:通过本篇博客您将学到:RTC时钟原理STM32CubeMX创建…

  • spring整合Mybatis-plus[通俗易懂]

    spring整合Mybatis-plus[通俗易懂]spring整合Mybatis-plus今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。既然是spring,那就少不了各种xxx.xml配置文件。那就先说说配置文件<1>.application-dao.xmldao层的配置,他的核心就是要产生Mapper代理对象 1、数据源的配置<context:prope…

  • hdu 3642 Get The Treasury (三维的扫描线)[通俗易懂]

    hdu 3642 Get The Treasury (三维的扫描线)

  • ping命令的使用及代码_通过命令查看ping路径

    ping命令的使用及代码_通过命令查看ping路径在这个时代,科技越来越发达,网络已经越来越成为人们不可缺少的一部分。计算机也已经是很多学校的课程了,因为计算机技术是非常有技术性的专业,它其中涉及到很多专业知识,需要通过学习才能掌握。今日小编就为大家介绍一个计算机的命令,它叫做Ping,这边介绍一下它的入门知识,主要是关于ping连接和命令方面的介绍。  1、Ping的基础知识  ping命令相信大家已经再熟悉不过了,但是能把ping的功能发…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号