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原理->- ...
随机推荐
- 常用curl测试命令
1.curl 基础用法 2.curl 常用 3.curl 拓展 1.curl基础用法 语法:# curl [option] [url] curl除了用以请求数据,还可以用来上传下载 -A/--user ...
- Java知多少(24)包装类、拆箱和装箱详解
虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...
- 理解Java枚举类型
(参考资料:深入理解java enum) 1.原理:对编译后的class文件javap反编译可以看出,定义的枚举类继承自java.lang.Enum抽象类且通过public static final定 ...
- 跨浏览器的placeholder-jQuery版(jQuery插件EnPlaceholder)
案例:整搜索框,需要默认占位符为"请输入关键词",获取焦点时,占位符消失或不可用(不影响正常输入),丢失焦点后,若用户无内容输入,占位符继续出现,继续占位.这种代码我想前端们已经很 ...
- C# 反射总结 获取 命名空间 类名 方法名
一.获取 命名空间 类名 方法名 using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- ubuntu下mysql远程连接和访问慢的解决方法
原本连接很快的mysql服务器,连接速度奇慢.以前几十毫秒的连接现在完成一次要近5秒钟,在排除了网络问题后,只有从mysql下手.原来每次访问db,mysql就会试图去解析来访问的机器的domain ...
- 使用Three.js里的各种光源
1.three.js库提供的光源 three.js库提供了一些列光源,而且没种光源都有特定的行为和用途.这些光源包括: 光源名称/描述 AmbientLight(环境光)/这是一种基础光源,它的颜色会 ...
- 基金 、 社保和QFII等机构的重仓股排名评测
来源:基金前20大重仓股持仓股排名 基金前15大重仓股持仓股排名 基金重仓前15大个股,相较于同期沪深300的平均收益, 近1月:2.23%, 近3月:3.09%, 近6月:9.61%, 近1年:13 ...
- duilib进阶教程 -- 在MFC中使用duilib (1)
由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...
- 设计模式-创建型模式,python享元模式 、python单例模式(7)
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式. 享元模式尝 ...