zoukankan      html  css  js  c++  java
  • Java的加载与执行

    1. Java语言发展史:

    1. Java语言诞生于1995年。
    2. 其实在1995年之前SUN公司(太阳微电子公司:该公司目前被oracle(甲骨文:做数据库的)收购了)为了占领智能电子消费产品市场,派James Gosling领导团队开发了一个oak(橡树)语言。
    3. 1996年:JDK1.0诞生
    4. 什么是JDK? Java开发工具包
      • 做Java开发必须安装的一个工具包,该工具包需要从官网下载。
      • 目前SUN被oracle收购了,所以下载需要去oracle下载。http://www.oracle.com
    5. 目前Java包括三大块:
      • JavasE (Java标准版)
      • JavaEE (Java企业版)
      • JavaME (Java微型版)
    • 其中JavaSE是基础,以后主攻方向是JavaEE方向。

    2. Java语言特性【开源、免费、纯面向对象、跨平台】

    1. 简单性:

    1. 相对而言的,例如java中不再支持多继承,C++是支持多继承的,多继承比较复杂
    2. C++中有指针,Java中屏蔽了指针的概念。
    3. 所以相对来说Java是简单的。
    4. Java语言底层是c++实现的。不是c语言。

    2. 面向对象

    1. Java是纯面向对象的。更符合的人的思维模式。更容易理解。

    3. 可移植性

    1. 什么是可移植性?
      • java程序可以做到一次编译,到处运行。
      • 也就是说java程序可以在windows操作系统上运行,
      • 不做任何修改,同样的java程序可以直接放到inux操作系统上运行,这个被称为Java程序的可移植性,或者叫做跨平台。
    2. windows操作系统内核和Linux操作系统的内核肯定不同,它们这两个操作系统执行指令的方式也是不一样的。
    3. 结论:显然java程序不能直接和操作系统打交道。因为java程序只有一份。操作系统执行原理都不同。
    4. SUN的团队他们想了一个办法,他们让java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java虚拟机,简称JVMJava虚拟机再和底层的操作系统打交道。
      在这里插入图片描述

    4. 多线程

    5. 健壮性:

    1. 和自动垃圾回收机制有关,自动垃圾回收机制简称gc机制。
    2. Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。

    6. 安全性

    3. Java的加载与执行

    Java程序的运行包括两个非常重要的阶段

    1. 编译阶段
    2. 运行阶段

    1. 编译阶段

    • 编译阶段主要的任务是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(xxx.class),不符合Java语法规则则无法生成字节码文件
    • 字节码文件中不是纯粹的二进制,这种文件无法在操作系统当中直接执行。
    • 编译阶段的过程:
      1. 程序员需要在硬盘的某个位置<位置随意>新建一个.java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。而这个源程序是不能随意编写,必须符合Java语法规则<Java语法规则是需要记忆的>
      2. Java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译
    • javac怎么用呢?在哪用呢?
      1. javac的使用规则:
        javac java源文件的路径
      2. 在Dos命令窗口中使用。
        javac是一个java编译器工具/命令。
    • 一个java源文件可以编译生成多个.class文件。
    • 字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。但是一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头再重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后再运行这个class程序,生成新的效果。
    • 编译结束之后,可以将class文件拷贝到其他操作系统当中运行。【跨平台】

    2. 运行阶段【可以在其它操作系统当中,跨平台】

    • JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe,
      java.exe命令主要负责运行阶段。

    • java.exe在哪里用?怎么用?

      1. 在Dos窗口中使用。
      2. java.exe怎么用呢? java 类名
        • 例如:
        1. 硬盘上有一个A.class,那么就这样用:java A
        2. 硬盘上有一个B.class,那么就这样用: java B
        3. 硬盘上有一个C.class,那么就这样用:java C
      • 千万要注意:不要写成这样: java A.class这种方式是错误的,大家记住就行
    • 运行阶段的过程是:

      1. 打开Dos命令窗口输入: java A
      2. java.exe命令会启动Java虚拟机(JVM), JVM会启动类加载器classLoader
      3. ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中。
      4. JVMA.class字节码文件解释成二进制1010101010这样数据。
      5. 然后操作系统执行二进制和底层硬件平台进行交互。

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254792.html

  • 相关阅读:
    php实现多张图片打包下载
    bootstrap的简单学习
    接口的简单调用模式
    oracle 日期常用函數 (SYSDATE、日期格式)
    php通过ajax请求数据后台返回数据要求和前台解析
    jquery+ajax实现分页
    Fatal error: Call to undefined function curl_init()问题
    利用php比较精确的统计在线人数的办法
    sql服务器启动不了问题
    字符串字母大小写转换(10)
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254792.html
Copyright © 2011-2022 走看看