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. Bruce Eckel的资源

    1 GitHub的技术博客 2 On Java 8 – Bruce Eckel 3 artima_weblogs - Bruce Eckel 4 back issues 5 eckel-oo-prog ...

  2. 开源项目-网上公开http代理爬取、简单分类

    爬取网上公开免费代理(http/socks),解析入库,可满足需要切换IP的场景(爬虫.投票等)需求. 项目地址: https://github.com/Jwnie/proxyservice 1.采用 ...

  3. Mysql(一):初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...

  4. java多线程编程——锁优化

    并发环境下进行编程时,需要使用锁机制来同步多线程间的操作,保证共享资源的互斥访问.加锁会带来性能上的损坏,似乎是众所周知的事情.然而,加锁本身不会带来多少的性能消耗,性能主要是在线程的获取锁的过程.如 ...

  5. 数据库中字段类型对应的C#中的数据类型(转载)

    数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] ...

  6. C语言_指针变量的赋值与运算,很详细

    指针变量的赋值 指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值.未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机.指针变量的赋值只能赋予地址, 决不能赋予任何其它数据 ...

  7. 【BZOJ2095】 Bridge

    Time Limit: 1000 ms   Memory Limit: 128 MB Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个 ...

  8. C++ 中vector的使用方法(转)

    原地址:http://blog.csdn.net/duan19920101/article/details/50617190/ 在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存 ...

  9. 【转载】一行代码加载网络图片到ImageView——Android Picasso

    原文链接:一句代码加载网络图片到ImageView——Android Picasso  注意:此处使用下面代码需要先配置一下gradle,下载所需包. 具体操作如下图: compile 'com.sq ...

  10. Docker系统六:Docker网络管理

    Docker网络 I. Docer的通信方式 默认情况下,Docker使用网桥(brige)+ NAT的通信模型. Docker启动时会自动创建网桥Docker0,并配置ip 172.17.0.1/1 ...