第一章 JAVA入门(初识Java这个平台)

— 本文参照 Learn Java for Android Development (第三版)

java是一个平台

java平台是由虚拟机和可执行环境组成。听起来好奇怪的样子是不是?再往下看看是怎么回事。这个虚拟机就是基于软件处理器的一堆指令集,通常被大家叫做java虚拟机。可执行环境主要是指一些库,用来协助一些应用程序并且跟底层系统交互。有点中间件的意思。
这个可执行环境是是一个庞大的类库。主要就是把一些常用的功能预编译好了然后我们开发者就可以直接使用了。比如把一些通用的数学操作(三角函数之类的)或者一些通用的网络通信相关的功能预编译好。这些预编译好的库我们把它叫做标准类库。
java程序跟其他的程序相比是有一点特殊的。C/C++程序通过编译器编译的结果都是生成一些可执行程序。但是java编译器是把我们的源码编译成了一堆目标代码。听起来好像有点陌生。怎么是把代码继续编译成了代码。目标代码是什么东东呢。作者的解释是:目标代码是由指令集构成的,目标代码需要java虚拟机和相关数据才能执行。这些指令集我们通常说的字节码。好有一点混乱的感觉啊,各种码码码。但是这在我们学习之前重要吗?难道程序员们在跑helloworld之前都搞清楚了每种语言的编译细节?学习应该是一个不断前进、反思、累积的过程。所以不要心急,不要心急,不要心急。以上这一大堆解释其实可以用下面这个图来直接清楚地表示:

图1-1.jpg

java编译器把源码转化成目标代码,目标代码就是字节码(指令集)和数据集 编译器是以文件的形式存放程序的字节码和数据,而这种文件一般后缀名是.class。这种文件也就是我们通常说的类文件,因为他们存放的就是已经编译好的类。在第三章会详细讨论跟这相关的一些细节。既然说到了类文件,下面也给出一个类文件的结构图:

图1-2.jpg

类文件就是由这些东西构成的:魔法数(不明所以的数)、版本号、常量池、访问标志、当前类、超类、接口、域、方法、类或者接口的属性 不要过于担心去怎么去拿下这些跟类文件相关的知识。作者他只不过是想满足一下那些有好奇心的人的欲望,所以才会在这么开头向我们展示了这么复杂的东西。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《深入理解Java虚拟机》笔记_第一遍 先取看完这本书(JVM)后必须掌握的部分。 第一部分 走近 Java 从传...
    xiaogmail阅读 10,701评论 1 34
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,128评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,111评论 25 709
  • 音乐常识大全 1. 三大安魂曲是指哪三首呢?三大安魂曲是指莫札特的D小调安魂曲、威尔第的安魂曲和佛瑞的安魂曲2. ...
    观茉阅读 9,658评论 0 6
  • 小时候,爸爸手上有钱就会去赌博,很不喜欢,就会想还不如没有钱,没钱,就不会赌了,妈妈就不会伤心了,后来发现,...
    庄小叶阅读 1,351评论 0 2

友情链接更多精彩内容