1.JDK的下载与安装:

  www.oracle.com

  安装需要注意的是:不能把jdk安装到有空格或中文的文件夹中,建议大家在某个目录下创建一个JavaWeb的文件夹,然后把所学的java所有内容(后面会学习到大量的开源及第三方组件技术)都安装到该目录下  

  例如:c:\JavaWeb\Java\jdk1.8\...

2.配置环境变量:

  为什么要配置path环境变量:为了在任何路径下都可以使用(让电脑可以解析该命令)jdk中给我们提供的命令,如java编译命令:javac,java的解释执行命令:java,打包命令jar等

  JAVA_HOME:C\JavaWeb\Java\jdk1.8

  PATH:%JAVA_HOME%\bin;.......

  CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib;

  .代表当前路径

bin中存放的是2进制文件,如可执行文件以及相关指令;

lib是类库

开发和运行需要用到  JVM(JAVA VIRTUAL MACHINE)Java虚拟机

           JRE(JAVA RUNTIME ENVIROMENT)Java运行环境

           JDK(JAVA DEVELOPMENT KIT)java开发工具包

jdk是提供给Java开发人员用的,我们使用jdk开发的程序要交给jre运行

jre=jvm+runtime interpreter

JRE的三项主要功能

1.加载代码:由class loader完成,将.class文件加载到虚拟机中

2.校验代码:由bytecode verifier完成校验代码的功能

3.执行代码:由runtime interpreter完成执行

java程序执行必须有jre,jvm负责加载和校验代码,runtime interpreter(运行时解释器)负责执行代码

java为什么可以跨平台

java编译器将java源文件针对Java虚拟机产生class文件(字节码文件),因此是独立于平台的,class文件只与虚拟机有关,只要虚拟机能解释就可以了,java解释器负责将Java虚拟机的代码在特定的平台上运行,jvm将class文件(字节码文件)翻译成所需的机器语言,因此Java才能跨平台(通俗的讲 Java源程序编译过后得到class文件(与平台无关,只与jdk有关),对于不同的平台,安装了jre(jvm)后就可执行得到的class文件(字节码文件)因此Java可以跨平台)

java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

最新文章

  1. 【css3笔记】---- 渐变的秘密
  2. JavaScript DOM编程艺术读书笔记(二)
  3. sap 常用表
  4. 使用dwr时动态生成table的一个小技巧
  5. HTML属性的长度问题
  6. Greedy:Sum of Consecutive Prime Numbers(POJ 2739)
  7. secureCRT如何远程桥接CentOS.
  8. Linux网络编程1——小端模式与大端模式
  9. 14个最受欢迎的Python开源框架
  10. 【02】尽量以const,enum,inline替换#define
  11. TCP状态转换图
  12. uva 1534 - Taekwondo(dp+馋)
  13. python 全栈开发,Day2(正式)
  14. 纯CSS菜单样式,及其Shadow DOM,Json接口 实现
  15. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等
  16. java 定时执行
  17. 从 shell 眼中看世界
  18. 2基本类型数组和枚举类型——重拾Java
  19. 认识BPM
  20. Maven搭建Nexus私有仓库

热门文章

  1. 致初学者(一): HDU 2000~ 2013题解
  2. 排序入门练习题3 谁考了第k名 题解
  3. 【学习笔记】第一章 python安全开发简介
  4. Docker笔记(十一):Dockerfile详解与最佳实践
  5. Matlab 模拟退火算法模型代码
  6. 关于WebApi的跨域问题
  7. [AWS] 01 - What is Amazon EMR
  8. centos文件解压缩7z
  9. Win10下80端口被System占用导致Apache无法启动
  10. BMap添加海量点数据,BMap.Point携带数据