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原理->- ...
随机推荐
- 解决:github上传时出现error: src refspec master does not match any
原因分析 引起该错误的原因是,目录中没有文件,空目录是不能提交上去的 解决方法 touch README git add README git commit -m 'first commit' git ...
- AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别(转载)
自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面我们将分别介绍目录区别和build.gradle ...
- Java知多少(74)基础类库
Java 的类库是 Java 语言提供的已经实现的标准类的集合,是 Java 编程的 API(Application Program Interface),它可以帮助开发者方便.快捷地开发 Java ...
- c#扩展函数
分页 public static class IEnumerableExt { public static (IEnumerable<T> dataAfterPaging, Pageinf ...
- 使用Python管理压缩包
一. 使用tarfile库读取与创建tar包 1. 创建tar包 In [1]: import tarfile In [2]: with tarfile.open('demo.tar',mode='w ...
- pythonCharm 破解
操作步骤和IDEA是一样的 只是jar 包不一样 //激活拷贝-javaagent:E:\PythonCharm\PyCharm Community Edition 2017.3.4\bin\Jetb ...
- &与&问题
1.后台传到前端的url,如果有&会被前端解析成&的(直接js获取的时候),所以最好是将数值放到input中,然后再获取
- 转载:浅谈 Scala 中下划线的用途
Scala 作为一门函数式编程语言,对习惯了指令式编程语言的同学来说,会不大习惯,这里除了思维方式之外,还有语法层面的,比如 underscore(下划线)就会出现在多种场合,令初学者相当疑惑,今天就 ...
- HDU 4725 The Shortest Path in Nya Graph(构图)
The Shortest Path in Nya Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- Orleans学习总结(二)--创建工程
通过第一篇Orleans学习总结(一)--入门认识我们大致知道知道是干嘛的了,下面我们来动手造一个传说中的神秘的高并发集群Orleans程序. 一.创建四个C#工程 1.IGrain工程,用来定义各种 ...