java环境配置及原理详解

1.java跨平台的本质

我们谈到java,总是提到跨平台这个词。那么java语言是怎么实现跨平台的呢?

我们编写的java代码不是直接让windows系统读取解析,而是在windows系统中装上java虚拟机(JVM)来读取编写的java软件
所以跨平台的实现原理就是在对应平台上装上相应平台能够识别的java虚拟机,用这JVM来读取解析编写的java软件
所以java程序是跨平台的,但是JVM不是跨平台的

2.jre和jdk的区别

jre: java的运行环境(包括JVM、核心类库)

jdk: java的开发工具包(包括JRE、java的开发工具)

jdk中的目录如下:

bin目录 里面的都是开发时所需要的开发工具
db目录 java数据库,供学习测试使用,开发不建议使用
include目录 用于本地代码的头文件
jre目录 java运行环境
lib目录 相关类库

3.为什么需要配置环境变量?

bin目录中的都是开发时所需要的开发工具,但是只能在当前目录下使用,在其他目录下无法使用。

但是这时候我们会思考,为什么记事本这些工具可以在任何地方打开呢?

这是因为我们敲命令行的执行过程如下:

  1.在当前目录找对应程序

  2.没找到,就到环境变量中的path中去找,找到就执行

  3.没找到就提示没有改程序

所以,如果我们需要在任何地方使用bin目录中的工具的时候,我们就需要配置环境变量,把JDK中bin目录的路径放入path中

备注:shift+右键直接可直接打开当前目录的cmd窗口

最新文章

  1. 怎么用AJAX来判断dedecms用户是否登录呢
  2. Oracle 11gR2中启动Scott用户的方法
  3. php之面向对象(1)
  4. 【转】iOS屏幕适配
  5. xcode -饼状进度条
  6. myeclipse 配置 resin-pro-4.0.34
  7. (一) 从Angular1到Angular2的杂谈
  8. Delphi json解析相关
  9. linux ftp及C/S服务架构
  10. Android6.0 源码修改之 Contacts应用
  11. Ubuntu 16.04下sublime text3安装
  12. 记录一个简单的dbcp数据连接池
  13. 虚拟机安装Linux Centos
  14. Unity 发送游戏画面到 Winform
  15. Js或 Activex 控件调用打印预览等操作
  16. CPP基础
  17. AngularJS的表达式、指令的学习(2)
  18. 9-4 Unidirectional TSP uva116 (DP)
  19. JVM 详谈
  20. 解决idea gradle构建Received fatal alert: handshake_failure问题

热门文章

  1. Windows Service 项目中 Entity Framework 无法加载的问题
  2. Linux - DNF包管理
  3. springBoot的搭建使用记录
  4. ping端口是否开放(windows,macos,linux)
  5. XAMPP中MySQL无法启动解决办法
  6. fastjson的JSONArray转化为泛型列表
  7. C# 多线程八之并行Linq(ParallelEnumerable)
  8. makemigrations migrate
  9. 【从0到1学Web前端】CSS定位问题一(盒模型,浮动,BFC) 分类: HTML+CSS 2015-05-27 22:24 813人阅读 评论(1) 收藏
  10. NIO 基础之 Buffer