首页 存档 技术 查看内容

运维角度的Java知识点总结

2018-3-30 13:00 |来自: 互联网 264 0

摘要: JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发、它不仅吸收了C 的各种优点,而且还撇弃了C 中难以理解的概念,如多继承、指针等;因此JAVA语言具有功能强大且简单易用两个特征, JAVA作为静态面向对象语言 ...

JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发、它不仅吸收了C 的各种优点,而且还撇弃了C 中难以理解的概念,如多继承、指针等;因此JAVA语言具有功能强大且简单易用两个特征, JAVA作为静态面向对象语言的代表,是全世界最受欢迎的计算机语言(没有之一)

Java包含四个独立却又彼此相关的技术

  1. JVM,Java的虚拟机,在JVM上运行Java的bytecode(字节码)

  2. Java的程序编程语言

  3. Java Class,Java的类文件格式;其决定Java程序编译出的字节码应该遵循那些规范等

  4. JAVA的应用程序接口(Java API);为了能让Java的应用程序得到更快更高效的开发,Java官方提供了Java API

Java展示的文件通常都是Java类的文件格式,而Java的源程序要转换成字节码才能在JVM上运行

一般Java的程序代码从写到运行要经过以下几个步骤:

  1. Java程序语言 Java API 由程序员开发出源程序如X.java

  2. X.java源程序经过编译器编译为Java的类文件如X.class(Java的类文件就是Java的字节码)

  3. 在JVM中,class loader(类加载器)加载X.class类文件,然后由解释器将X.calss文件由字节码格式解释成对应的OS平台二进制程序,这样Java程序就可以再JVM上运行了

注:.class文件就是字节码,但字节码不能直接运行,仍需在JVM中由解释器解释成对应的OS二进制程序,才能运行(机器只能理解二进制)

下图为Java代码从写到执行的过程

JVM进行解释的实现方式:

  1. 一次性解释器,解释字节码并执行,但第二次执行需要重新解释字节码

  2. 即时编译器,解释完的类(字节码)会缓存再内存中,让下次执行时直接使用,不用再次执行,但这样对所有解释产生的二进制程序都缓存会非常占用内存

  3. 自适应解释器,只将执行频率高的代码进行解释然后将解释后的二进制程序进行缓存,下次执行无需解释,一般只缓存20%的代码解释(认为这20%的代码完成了80%的操作)

下面是JAVA的执行过程

JVM(Java Virtual Machine)即Java虚拟机,是一种用于计算设备的规范,也是Java的核心和基础,是Java解释器和OS平台之间的虚拟处理器,它是一种基于下层的操作系统和硬件平台利用软件方法抽象出的计算机。可以在 上面执行Java的字节码程序,正是因为JVM的存在Java才实现了一次编译到处运行,可实现完全跨平台的运行。

Java的编译器只需面向JVM,生成JVM能理解的字节码文件,然后由JVM将每一条指令翻译成为不同平台的机器代码(二进制程序),然后既可以在对应的平台执行。


Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Inte**ce,简称API)构成。Java应用编程接口为此提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.5,最近版本为Java7.0。

JRE (Java running Environment)Java的运行环境:JRE可以让编译好的类(字节码)运行起来,是让Java运行起来的最小环境。简单来说JRE=JVM API(不包括与开发有关的API)

JDK (Java Development Kit)是Java语言的软件开发工具包,是实现Java语言开发并让其运行的最小环境。简单来说JDK=Java语言 API 编译器 JVM

依据Java应用领域的不同,JDK有以下几种分类:

  • Java SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。

  • Java EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。

  • Java ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。

下面来讲Java两个特殊的类AppletServlet

Applet是采用Java编程语言编写的,经过编译后Applet小程序可以嵌入到HTML中去(含有Applet的网页的HTML文件代码中部带有

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部