JAVA学习进度之01JAVA语言特性和程序加载与执行

1. JAVA语言特性(开源、免费、跨平台、纯面向对象) :

* 简单性

        相对C++而言,C++中支持多继承、有指针,而JAVA不需要支持复杂的多继承也屏蔽了指针的概念。

        JAVA底层是C++实现的。

*面向对象

        JAVA是纯面向对象

*可移植性(跨平台)

        JAVA程序一次编译,不做代码的修改,可以在不同的平台进行运行(windows系统、Linux系统等)。

        windows操作系统和Linux操作系统内核不同,所以两个操作系统执行指令的方式也不一样。显然,同一份JAVA程序无法直接和操作系统打交道,因为操作系统执行原理不同。

        为了达到跨平台的目的,将JAVA程序放在一台虚拟计算机当中,即JAVA虚拟机,简称JVM。然后,JAVA虚拟机再和底层的操作系统打交道。

        官网下载对应版本的JDK(JAVA开发工具包)时,底层是对应版本的JVM。

*多线程

       举例: 一个人干活速度慢,多个人同时干这个活速度更快

*健壮性

        自动垃圾回收机制,简称GC机制。

        JAVA语言运行过程中产生的垃圾是自动回收

*安全性

        开源

......

2. JAVA程序加载和执行:

* JAVA程序运行有两个阶段:编译和执行

(1)编译阶段

        编译阶段的主要任务是检查JAVA源程序是否符合JAVA语法,符合则生成正常的字节码文件( ***.class ),不符合则无法生成字节码文件。

        字节码文件中不是纯粹的二进制,无法在操作系统中直接执行。

        编译阶段的过程:

                1、新建 ***.java文件,该文件为JAVA源代码;

                2、利用JDK中自带的javac.exe命令进行编译;

                        javac.exe在DOS窗口使用:javac JAVA源文件的路径

                        javac.exe是一个JAVA编译工具/命令

* 一个JAVA源文件可以编译生成多个***.class文件。

* 字节码文件***.class是最终要执行的文件,生成字节码文件后删除JAVA源代码,不影响JAVA程序的执行,但不要删除。       

* 编译完成后,可以将***.class文件拷贝至其他系统中运行。(跨平台)

(2)运行阶段

        JDK中另一个工具/命令叫做java.exe,这个java.exe是负责运行阶段。

                java.exe在DOS窗口使用:java 类名

                例如硬盘上有个A.class,那么,这么用:java A

                注意不要这么用:java A.class  (错误)

         运行阶段的过程:

                1、打开DOS命令窗口

                2、输入:A.class

                3、java.exe会启动JAVA虚拟机(JVM),JVM会启动类加载器ClassLoader

                4、ClassLoader会去硬盘上搜索A.class文件,找到该文件将字节码文件装载到JVM中

                5、JVM将A.class字节码文件解释成二进制101000110这样的数据

                6、然后操作系统执行二进制和底层硬件平台进行交互

 

 

 

 

              

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值