Java体系基本概念
JVM:Java虚拟机
JRE:(Java Runtime Environment)Java程序允许,测试,传输应用程序的环境和平台
包括 jvm ,java 核心类库和支持的文件,但不包含开发工具JDK:编译器,调试器
和一些相关的工具,仅仅只是一个环境。
JDK:(Java Development Kit)Java语言开发工具包,包含JRE,JDK包含的基本组件有
javac 编译器 将源代码编译成可执行程序
jar 打包器 将相关的类文件打包成一个文件
javadoc 文档生成器 从源码注释中提取成文档
jdb 调试器 调试应用程序和逻辑排查
appletviewer 小程序浏览器 一种执行html文件上的java小程序的java浏览器
javah 调用器 产生可以调用java过程的C过程,创建能被Java调用的C头文件
javap 反汇编器 显示编译类文件中的可访问功能和数据,同时显示代码含义
jconsole 监控器 java进行系统调试和监控的工具
SDK:(software Development Kit)软件开发工具包,一般都是一些软件工程师为特定的软件包、
软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,JDK只是SDK的一个
子集,比如你下载了软件开发平台 eclipse-SDK-3.2.2-win32.zip(JDK),它本身里面是没有jdk的
但是只要开发java程序就必须使用jdk(javaee和javase)因此仅说SDK,那么它的含义太广,无法
指明是具体哪个开发工具,若加上代名词,如andorid SDK则表示Andorid开发工具包,如java SDK
则表示开发java应用程序的工具包,也就是 JDK ,JDK已经成为使用最广泛的Java SDK(Software development kit)
总结:
如果只想允许java程序,JRE就够了
如果想开发java程序,则需要JDK
如图:SDK 包含 JDK 包含 JRE 包含 JVM
版本
|
名称
|
发行日期
|
JDK 1.1.4
|
Sparkler(宝石)
|
1997-09-12
|
JDK 1.1.5
|
Pumpkin(南瓜)
|
1997-12-13
|
JDK 1.1.6
|
Abigail(阿比盖尔–女子名)
|
1998-04-24
|
JDK 1.1.7
|
Brutus(布鲁图–古罗马政治家和将军)
|
1998-09-28
|
JDK 1.1.8
|
Chelsea(切尔西–城市名)
|
1999-04-08
|
J2SE 1.2
|
Playground(运动场)
|
1998-12-04
|
J2SE 1.2.1
|
none(无)
|
1999-03-30
|
J2SE 1.2.2
|
Cricket(蟋蟀)
|
1999-07-08
|
J2SE 1.3
|
Kestrel(美洲红隼)
|
2000-05-08
|
J2SE 1.3.1
|
Ladybird(瓢虫)
|
2001-05-17
|
J2SE 1.4.0
|
Merlin(灰背隼)
|
2002-02-13
|
J2SE 1.4.1
|
grasshopper(蚱蜢)
|
2002-09-16
|
J2SE 1.4.2
|
Mantis(螳螂)
|
2003-06-26
|
Java SE 5.0 (1.5.0)
|
Tiger(老虎)
|
2004-09-30
|
Java SE 6.0 (1.6.0)
|
Mustang(野马)
|
2006-04
|
Java SE 7.0 (1.7.0)
|
Dolphin(海豚)
|
2011-07-28
|
Java SE 8.0 (1.8.0)
|
Spider(蜘蛛) |
2014-03-18
|
Java SE 9 | 2017-09-21 |
环境配置
Windows下
/* HelloWorld.java */
public class HelloWorld
{
public static void main(String[] arg)
{
System.out.println("Hello,World!");
}
}
javac HelloWorld.java
java HelloWorld
@pause
Hello,World
请按任意键继续. . .
在LINUX下
在LINUX下
export JAVA_HOME=/usr/jdk1..0_21
export JRE_HOME=/usr/jdk1..0_21/jre
export PATH=$PATH:/usr/jdk1..0_21/bin
export CLASSPATH=./:/usr/jdk1..0_21/lib:/usr/jdk1..0_21/jre/lib
public class Test{
public static void main(String[] args){
System.out.println("Hello,Welcome to Linux World!");
}
}
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
Java体系基本概念的更多相关文章
- JAVA的核心概念:接口(interface)
JAVA的核心概念:接口(interface) 接口与类属于同一层次,实际上,接口是一种特殊的抽象类. 如: interface IA{ } public interface: 公开接口 与 ...
- JAVA体系的线程的实现,线程的调度,状态的转换
java体系中线程的实现 1.使用内核线程实现 内核线程就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操作调度器对线程进行调度,并负责将线程的任务映射到各个处理器上,每个内核 ...
- java io-1基本概念
java io-1基本概念 2015-07-03 15:17 648人阅读 评论(0) 收藏 举报 分类: [JavaSE](37) 目录(?)[+] ------------------ ...
- Java线程:概念与原理
Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...
- atitit.为什么java体系开发效率这样低的原因and解决
atitit.为什么java体系开发效率这样低的原因and解决 #---开发理念问题(影响度:很大的,2-3倍效率) mvc<>webform server control ajax< ...
- java 线程基本概念 可见性 同步
开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的架构.对于J ...
- C功底挑战Java菜鸟入门概念干货(一)
一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行. 2.Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能. 3.使用 ...
- C功底挑战Java菜鸟入门概念干货(二)
(接上篇博文:C功底挑战Java菜鸟入门概念干货(一)) 一.Java面向对象程序设计-类的基本形式 1.“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概 ...
- JAVA体系学习-导向
一:当前学习内容 数值类型处理总结,字符类型处理总结,日期类型处理总结 spring 事务源码分析 spring源码系列 二:当前学习 主攻:并发编程->RPC原理->MQ原理->- ...
随机推荐
- c++ 一个h文件里面定义一个主类,然后定义多个子类
最近遇到一个函数,在调用的时候出现问题,记录下实现过程. #ifndef MLS_DEFORMATION_H #define MLS_DEFORMATION_H #include <vector ...
- windows 注册表讲解
注册表存储结构: 整个注册表内容主要由项(键).值(键值)构成.(通过regedit命令打开注册表) 5个根键: HKEY_CLASSES_ROOT (缩写HKCR) HKEY_CURRENT_ ...
- Mac 卸载 Jenkins
Jenkins的安装方式不同(Mac 安装 Jenkins),卸载方法也不同. 一.通过安装包安装的卸载方式 打开终端,执行 ~ /Library/Application\ Support/Jenki ...
- mysql数据库建立的数据库在哪个文件夹?
一般在安装目录下的data文件夹下,或者在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\dat ...
- Service 中的 onStart 和 onStartCommand
在自定义的service中,写了onStart和onStartCommand, public class HttpWebService extends Service { @Override publ ...
- WPF自定义路由事件(一)
首先自定义事件支持事件路由,需要使用 RegisterRoutedEvent 方法注册 RoutedEvent C#语法 public static RoutedEvent RegisterRoute ...
- DAX Editor VSIX project
DAX Editor is a Visual Studio extension that implements a language service for DAX language for SQL ...
- perl 函数
文档 函数参数 sub hello{ $len = @args = @_; print "hello @args\n"; } hello('ajanuw', 'alone'); # ...
- 错误票据|2013年蓝桥杯B组题解析第七题-fishers
错误票据 某涉密单位下发了某种票据,并要在年终全部收回. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号. 你的任务是通过编程,找出断号的ID和重号的ID. ...
- SparkContext.union 与 RDD.union
RDD.union,和SparkContext.union都可以将多个RDD聚合成一个UnionRDD. 但不同的是,RDD.union在每次操作时,会创建一个新的数据集合,生成新的RDD,新的RDD ...