这节java视频教程的课程目标是让大家理解java虚拟机的运行原理,熟悉java语言的编译特点及java的应用场景和开发内容。
java的平台无关
java的跨平台性也称为平台无关,这是java最重要的特性之一,分为两个级别,第一个级别是源代码级,第二个级别是目标代码级。
源代码级平台无关的特点是应用程序不用修改只需重新编译就可以在不同平台上运行,目前其他的编程语言基本上都处于这个级别,如C和C++,用C和C++编写的应用程序不需要重新修改,但需要重新编译,才能在新的平台上运行。
目标代码级平台无关的特点是应用程序不需要重新修改也不用重新编译即可在不同的平台上运行,如java就是处于这个级别。
java虚拟机
java主要是依靠java虚拟机在目标集实现平台无关的,那什么是java虚拟机呢?
顾名思义,虚拟机就是虚拟出来的计算机,它是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。虽然虚拟机是虚拟出来的机器,但java虚拟机有自己完善的硬件体系结构,如处理器,堆栈,寄存器等,还有指令系统。java虚拟机屏蔽了具体操作系统平台相关的信息,这使得java程序只需要生成java虚拟机上运行的目标代码,即自检码,就可以在不同的平台上不加修改的运行了。
java的跨平台原理和充电宝充电的原理是一样的,程序员开发的程序就相当于充电宝的作用,计算机操作系统就是手机设备,而连接线就是虚拟机。也就是说,程序员开发的应用程序不能直接运行在操作系统上,需要虚拟机作为转换,把我们的自建码文件转换成机器码,由操作系统运行。那同一个java程序运行到不同的操作系统上时,只需要选择不同的虚拟机即可。
java虚拟机工作流程
java程序执行过程如下:由java编译器把java源文件编译成自检码文件,然后再由虚拟机解释执行java自检码文件,并生成适合当前操作系统的机器码,即0-1字符串,最终程序由本地操作系统解释执行。
java虚拟机需要经过三个步骤来完成:装载、链接、初始化,其中链接又分校验、准备、解析三个过程。
java的应用场景
java语言除了跨平台外,还是一门开源的语言,这就大大促进了java语言的推广。自java推出以来,许多公司和组织陆续推出了很多java应用框架,这些应用框架的出现使java开发更轻松,更高效。目前看来,java非常适合大型互联网应用的开发,如CRM、ERP、OA等企业级应用,还有大型电子商务网站,如淘宝网也是使用java技术开发的。而且java也非常适合移动智能设备开发。
相信java一定会在未来的智能时代大放异彩,所以从现在开始紧跟时代潮流,看云和java视频教程,学习java语言,成为时代同行者和通行者。