一、语言特性

  计算机高级语言按程序的执行方式可分为:编译型和解释型两种。编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件(.exe,.sh,.bat等),编译型的语言有C、C++等;解释型的语言是指使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行,可以认为每次执行解释型语言的程序都要进行一次编译。

  Java是一种特殊的高级语言,既有解释型语言的特点,也有编译型语言的特点。Java编写的程序需要经过编译步骤,但该步骤不会生成特定平台的机器码,而是生成一个与平台无关的字节码(.class)文件,这种字节码文件不是可执行性的,需要Java解释器来解释执行,也就是Java虚拟机(也叫JVM)。所以Java具有良好的跨平台特性。

二、JDK版本

  JDK的全称为Java SE Development Kit,即Java标准开发包,包括Java编译器、Java运行环境,以及常用Java类库。Java运行环境全称为Java Runtime Environment,简称JRE,JRE不仅仅包含JVM、其他运行Java程序的环境支持,还有类加载器、字节码校验器以及大量的基础类库。

  JDK1.0版本包含运行环境(JRE)和开发环境,其中JRE包括了核心API、集成API、用户界面API、发布技术、Java虚拟机五部分,开发环境还包括了编译Java程序的编译器(即javac命令);

  JDK1.1增加了JIT(即时编译)编译器,将常用的指令保存在内存中,下次调用时就不需要重新编译,提升了JDK的效率;

  JDK1.2(Java历史上最重要的JDK版本)发布了JSP/Servlet、EJB等规范,并分成J2EE、J2SE和J2ME三个版本,此外还把它的API分成三类:核心API(所有Java平台都提供)、可选API(因平台不同而不同)、特殊API(用于JCA和JCE的第三方加密类库);

  JDK1.4(Java历史上最成熟的版本),大量的开源框架和应用服务器涌现。

  JDK1.5改名为JavaSE5.0,J2EE和J2ME也相应改为JavaEE和JavaME,增加了增强的for语句、泛型、可变数目的参数、类型安全的枚举、自动拆箱和装箱等功能,同时也发布了新的企业级平台规范,如:EJB3.0规范、MVC框架JSF。

  JDK1.6新增特性:使用JAXB2来实现对象与XML之间的映射、使用Compiler API、轻量级Http Server API、插入式注解处理API、Common Annotations等。

  JDK1.7新增特性:switch中可以使用字串、泛型实例化类型自动推断、语法上支持集合、安全的加减乘除、两个char间的equals、Boolean类型反转,空指针安全,参与位运算等。

三、Java环境变量

  安装JDK后,需要设置环境变量,其中windows设置:

  ①新建JAVA_HOME,变量值为: C:\Program Files\Java\jdk1.6.0_10(JDK安装目录)

  ②新建CLASSPATH,变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

  ③新建Path,变量值为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

java运行机制、Jdk版本及Java环境变量的更多相关文章

  1. windows10系统修改JDK版本后配置环境变量不生效怎么办

    之前安装了个jdk8版本,今天突然想安装个更新版本的jdk11来用,但在安装好JDK11并配置环境变量后发现修改JDK版本后配置的环境变量不生效的.本文就给大家分享一下windows10系统修改JDK ...

  2. Java入门之JDK的安装和环境变量的配置

    Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...

  3. [java学习笔记]JDK的安装和环境变量的配置

    1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...

  4. java基础(1):java概述、jdk的安装、环境变量的配置、helloworld案例

    1. Java开发环境搭建 1.1 java概述 众所周知Java是一门编程语言,编程语言就是用来编写软件的.那么使用Java到底能用来编写什么软件呢?你所熟知的很多软件都可以用Java来编写,例如: ...

  5. Java基础教程---JDK的安装和环境变量的配置

    一.Java的安装和环境变量配置 1.Java的安装: 第一步,从Oracle官网下载安装包,当然也可以从其他安全可靠的地方下载(PS:根据不同电脑系统下载相应的安装包,注意电脑的位数.如x64,x3 ...

  6. java_Mac安装多个JDK版本并设置环境变量

    JDK6.JDK7.JDK8三个版本的汇总地址:https://pan.baidu.com/s/1pKSYv8Z 安装 JDK6安装 JDK6下载地址 见网盘 安装完毕后确认版本 JavaForOSX ...

  7. 环境变量jdk版本与java -version显示不一致

    问题描述: 问题产生原因: 1.Path环境变量配置了Oracle 2.C:\windows\System32下,还有java.exe. 问题描述: 今天遇到一个小bug,我电脑环境变量配置的版本是j ...

  8. 零基础怎么学Java?Java的运行机制是什么?Java入门基础!

    Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制是必须要了解的!! 计算机高级语言的类型主要 ...

  9. Java JDK的安装以及环境变量的配置

    安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...

  10. java -jdk配置1(环境变量配置)

    此文转载自:http://www.cnblogs.com/nicholas_f/articles/1494073.html 进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 1 ...

随机推荐

  1. C语言符号优先级

    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形参表)   . 成员选择(对象) 对象.成员名   -& ...

  2. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)

    好了,现在在iOS模拟器中编译运行App,一切貌似都很好. 且慢,我们还没有到真机上调试呢?按说在编写App'时,无论如何应该尽快尽早在真机上调试.否则可能会碰到意想不到的问题,这次就是如此. 在真机 ...

  3. 看uboot的时候发现随机数的另外一种算法

    #include <stdio.h> #include <time.h> static unsigned int y = 1U; unsigned int rand_r(uns ...

  4. 从"按层次输出二叉树"到"求解二叉树深度"的总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://write.blog.csdn.net/postedit/41964669 最近在刷LeetCode上的算法题,发现好多题目的解题思路大体是一 ...

  5. cuda中模板的使用

    模板是C++的一个重要特征,它可以让我们简化代码,同时使代码更整洁.CUDA中也支持模板,这给我们编写cuda程序带来了方便.不过cuda4.0之前和之后使用模板的方法不一样,这给我们带来了少许困难. ...

  6. linux的string操作(字符串截取,长度计算)

    按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ...

  7. 使用GDAL工具对FY3系列卫星数据进行校正

    本文档主要对如何使用GDAL提供的工具对FY3系列卫星数据进行校正处理.FY3系列卫星提供的数据一般是以HDF5格式下发,一个典型的FY3A和FY3B的数据文件名如下: FY3A_MERSI_GBAL ...

  8. android动画介绍之 自定义Animation动画实现qq抖一抖效果

    昨天我们介绍了Animation的基本用法.小伙伴们了解的怎么样了?如果还没有了解过Animation的小伙伴可以看看这篇博客 android动画介绍--Animation 实现loading动画效果 ...

  9. Spring AOP (一)

    一.AOP 是什么? AOP 是Aspect Oriented Programaing 的简称,意思是面向切面编程,AOP的应用场合是受限的,一般只适合于那些具有横切逻辑的应用场合:如性能检测.访问控 ...

  10. how tomcat works 五 servlet容器 上

    servlet容器是用来处理请求servlet资源,并为Web客户端填充response对象的模块.在上一篇文章(也就是书的第四章)我们设计了SimpleContainer类,让他实现Containe ...