java运行机制、Jdk版本及Java环境变量
一、语言特性
计算机高级语言按程序的执行方式可分为:编译型和解释型两种。编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件(.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环境变量的更多相关文章
- windows10系统修改JDK版本后配置环境变量不生效怎么办
之前安装了个jdk8版本,今天突然想安装个更新版本的jdk11来用,但在安装好JDK11并配置环境变量后发现修改JDK版本后配置的环境变量不生效的.本文就给大家分享一下windows10系统修改JDK ...
- Java入门之JDK的安装和环境变量的配置
Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...
- [java学习笔记]JDK的安装和环境变量的配置
1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...
- java基础(1):java概述、jdk的安装、环境变量的配置、helloworld案例
1. Java开发环境搭建 1.1 java概述 众所周知Java是一门编程语言,编程语言就是用来编写软件的.那么使用Java到底能用来编写什么软件呢?你所熟知的很多软件都可以用Java来编写,例如: ...
- Java基础教程---JDK的安装和环境变量的配置
一.Java的安装和环境变量配置 1.Java的安装: 第一步,从Oracle官网下载安装包,当然也可以从其他安全可靠的地方下载(PS:根据不同电脑系统下载相应的安装包,注意电脑的位数.如x64,x3 ...
- java_Mac安装多个JDK版本并设置环境变量
JDK6.JDK7.JDK8三个版本的汇总地址:https://pan.baidu.com/s/1pKSYv8Z 安装 JDK6安装 JDK6下载地址 见网盘 安装完毕后确认版本 JavaForOSX ...
- 环境变量jdk版本与java -version显示不一致
问题描述: 问题产生原因: 1.Path环境变量配置了Oracle 2.C:\windows\System32下,还有java.exe. 问题描述: 今天遇到一个小bug,我电脑环境变量配置的版本是j ...
- 零基础怎么学Java?Java的运行机制是什么?Java入门基础!
Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制是必须要了解的!! 计算机高级语言的类型主要 ...
- Java JDK的安装以及环境变量的配置
安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...
- java -jdk配置1(环境变量配置)
此文转载自:http://www.cnblogs.com/nicholas_f/articles/1494073.html 进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 1 ...
随机推荐
- Linux IPC实践(6) --System V消息队列(3)
消息队列综合案例 消息队列实现回射客户/服务器 server进程接收时, 指定msgtyp为0, 从队首不断接收消息 server进程发送时, 将mtype指定为接收到的client进程的pid ...
- javascript之DOM编程正则表达式引入
在javascript中,正则表达式和java中区别不大.只有一小部分不同的地方: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...
- Cocos2D v3.x中关于重叠触摸层优先级的问题
在Cocos2D v2.x版本中可以通过以下方法设置本层的触摸优先级: [[CCDirector sharedDirector].touchDispatcher addTargetedDelegate ...
- Android 仿百合网超火爆社交app首页滑动效果
探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣. 这个效果是怎么实现的呢? 1,Android3.0以后控件中增加了setTr ...
- Java实现简易的文件的迁移器
Java作为世界上最受欢迎的一门编程语言,自然是有原因的.比如说我们可以直接的方便的调用其中的函数来实现我们想要的功能. 一个偶然的机会,我浏览API文档时发现了一个名为FileDialog的类,然后 ...
- 【一天一道LeetCode】#10. Regular Expression Matching
一天一道LeetCode系列 (一)题目 Implement regular expression matching with support for '.' and '*'. '.' Matches ...
- 图像检索:FCTH(Fuzzy Color and Texture Histogram)算法
模糊颜色和纹理直方图(Fuzzy Color and Texture Histogram,FCTH) 本文节选自论文<基于半监督和主动学习相结合的图像的检索研究> FCTH 特征可从 3 ...
- Google性能工程师Ilya Grigorik谈HTTP/2
via:http://www.infoq.com/cn/news/2014/11/http2-develop HTTP/2,也就是超文本传输协议第2版,是下一代HTTP协议.该版本是自1999年HTM ...
- 关于精灵帧(Sprite Frame)的尺寸大小
一个对象的精灵帧(Sprite Frame)有若干关于大小的尺寸. 比较容易混淆,这里记录下来区别: CCSpriteFrame *spriteFrame = self.spriteFrame; CG ...
- 如何缩放SpriteBuilder中的scene
我们在制作游戏的level时,往往会发现level的长或宽会大大超过窗口的尺寸.比如在类似超级马里奥游戏中(iphone横屏显示),level的宽度为5000,而窗口的宽只有960. 我想快速查看到l ...