Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序Web应用程序分布式系统嵌入式系统应用程序等。

JDK是什么?JRE是什么?JDK和JRE的区别?

Java Runtime Environment (JRE) 包含:

Java虚拟机、库函数、运行Java应用程序和Applet所必须文件

Java 2 SDK (Development Kit)包含:

JRE的超集,包含编译器和调试器等用于程序开发的文件

Java运行环境的三项主要功能:

1.  加载代码:由class loader 完成;

2.  校验代码:由bytecode verifier 完成;

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

sdk(也就是jdk)是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。

jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序.

总结:

1.  如果只是要运行JAVA程序,之需要JRE就可以。 JRE通常非常小,也包含了JVM.

2.  如果要开发JAVA程序,就需要安装JDK。

JVM是什么?(JAVA VIRTUAL MACHINE)

JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。

JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。

1.  JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。

2.  byte-code代码是与平台无关的是虚拟机的机器指令。

3.  java字节代码运行的两种方式:

1)方式interpreter(解释)

2)Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。

JAVA的跨平台实现的核心是不同平台使用不同的虚拟机

不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

JAVA开发环境的安装和配置详解

下载JDK

1.  在哪里下载JDK9的版本, 网址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

当然是根据自己的系统下载不同的版本。如果系统是64位则可以下载64位系统。如何查看自己的操作系统到底是32位还是64位呢?,右键单击桌面的计算机,我的电脑-》属性

出现如下图所示信息:

下面开始下载,记住需要选中Accpept License Agreement如果没有选中Accpept License Agreement将会出现以下提示

下载完成

安装JDK

环境变量配置

1.  右键单击计算机,点击属性:

2.  配置JAVA_HOME

然后点击新建系统变量,然后讲复制的路径粘贴进去,如下图:

注意:不要在目录值后面再添加分号,逗号之类的符号!

3.  配置path

修改系统环境变量Path,在最前面追加% JAVA_HOME %\bin。

classpath问题:如果使用jdk1.5以下版本的配置,请自行百度。

测试安装环境是否安装成功

运行cmd输入命令:java  –version: 出现如下结果,则通过测试。

输入javac,出现如下结果,则通过测试。

写完了如果写得有什么问题,希望读者能够给小编留言,也可以扫下面二维码关注小编的公众号,查看小编更多初学者文章。

本公众号名为《Java之猿程之家》建立于2017年08月份,以互相学习!互相帮助!不管你是即将跨入Java之门的初学者,还是自学Java的爱好者,你都可以加小编微信(dcc939705214)!小编可以为你提供建议以及Java学习资料!不论你在学习上遇到任何问题,你随时都可以来找小编!小编会在第一时间会为你排忧解难,打开你心中的疑惑!

注:本公众号纯属个人团队公益公众号!不存在任何培训机构招生信息

第一节 JDK是什么?JRE是什么?JDK和JRE的区别?以及jdk安装和测试。的更多相关文章

  1. 第一节 麒麟系统安装+基础环境搭建(JDK+Scala)

    本文重点对没有Linux基础的人员提供高速上手的指导,假设你的开发环境已经搭建好,能够略过本章所讲内容,内容来源于网络.也谢谢这些默默讲自己经验分享的人!近期在学习大数据,有喜欢的朋友能够一起研究. ...

  2. 第一节:学会Java前提-手把手教你配置JDK环境变量

    前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...

  3. Android精通教程-第一节Android入门简介

    前言 大家好,给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease to be ...

  4. Java基础第一节.Java简介

    第一节 Java简介 Java是一个由Sun公司开发而成的新一代的编程语言. Java语言是对软件开发有深远影响.应用前景广泛.具有丰富的类库.继承了C++的传统(摈弃了某些不足)广泛使用的网络编程语 ...

  5. Monkeyrunner自动化测试由浅入深(第一节)

    (原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一.相关软件和环境的配置 1.Android sdk下载和配置 2.java jdk下载和配置 第二.Monkeyr ...

  6. android内部培训视频_第一节

    声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...

  7. 我的第一节Android课

    我的第一节安卓课程,今天非比寻常的一天,我开始了我程序猿之路的第一节安卓课程,安卓课程只是我的一个兴趣班,我的本专业是java开发,因为喜欢做一个属于自己的一个手机APP,就选多个一样技能,毕竟十八般 ...

  8. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触

    http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...

  9. Centos7 Openstack - (第一节)基本环境配置

    Centos7 install Openstack - (第一节)基本环境配置 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文 ...

  10. seajs第一节,seajs基本使用

    什么是seajs,它是干什么使用的,可以去网上搜索一下, 官网:http://seajs.org/docs/ 基本使用seajs <!DOCTYPE html> <html> ...

随机推荐

  1. create-react-app搭建的项目中添加bootstrap

    react-bootstrap是一个非常受欢迎的针对react封装过的bootstrap,它本身不包含css,所以也是需要使用bootstrap原生库. 在create-react-app建的项目目录 ...

  2. js压缩上传图片

    初学有不当之处,请多多指点, <body> <div class="cc"> <input type="file" id=&quo ...

  3. python3基础入门-知识点简记

    1.基础语法 编码.标识符.保留字.注释.行与缩进... 2.变量类型 (1)Python3有6个标准的数据类型: Numbers(数字)  数字数据类型用于存储数值  不可改变的数据类型 可细分为  ...

  4. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...

  5. C#委托与事件--简单笔记

    委托 简单记录点东西 适合似懂非懂的朋友看看 委托类型用来定义和响应应用程序中的回调. 借此可以设计各种有面向对象特性的代码模式.下面要说的事件在我看来就是委托的一种实现,再深一步讲,利用委托加事件, ...

  6. Windows API Finishing

    input { font-size: 14px; height: 26px } td { border-style: none; border-color: inherit; border-width ...

  7. 用Python实现《芳华》小说中的汉字频率统计

     环境: Python 3的代码,亲测可用. 思路: 是先把每个字符提出来放在列表里:再过滤掉其中的标点符号:最后用字典对某个字出现的频率进行累加. 扩展: 用处很多,稍微改改,既可以用来统计小说或文 ...

  8. FineUIPro控件库深度解析

    FineUIPro控件库 FineUIPro是一套基于jQuery的专业ASP.NET控件库,始于2008年的开源版FineUI控件库. 当年为了提升项目的开发效率,降低代码复杂度,减少对CSS和Ja ...

  9. 分布式mysql中间件(mycat)

    1.   MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上.这时集中式数据库系统表现出它的不足: (1)集中 ...

  10. linux 云计算Openstack搭建

    Openstack 由NASA和Reckspace合作研发并发起的项目,以Apache许可证为授权 云计算三大支柱模型 IaaS:基础架构即服务 提供服务器/虚拟主机/网络等设备资源 PaaS:平台即 ...