1、Java语言简介

  Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程动态的语言。

2、Java平台三大体系

  Java分为三个体系,分别为Java SE(J2SE,Java2 Platform Standard Edition,标准版);JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版),用于构建大型企业级应用或网站;Java ME(J2ME,Java 2 Platform Micro Edition,微型版),用于移动终端。

3、Java发展历程

  1995年5月23日,(诞生) Sun公司推出,最初称为Oak,是1991年为嵌入式芯片设计的,后更名为Java;

  1996年1月, 第一个JDK——JDK1.0诞生;

  1997年2月18日,JDK1.1发布;

  1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版;

  2000年5月8日,JDK1.3发布;5月29日,JDK1.4发布;

  2009年04月20日,Oracle收购Sun,取得Java的版权;

  2011年7月28日,甲骨文发布Java 7.0的正式版;

  2014年3月19日,甲骨文公司发布Java 8.0的正式版。11月,甲骨文公司发布了Java 9.0的新特性

4、核心概念:JVM、JDK、JRE

  JVM:Java Virtual Machine(Java虚拟机)

  JDK:Java Development Kit(Java开发工具包)

  JRE:Java Runtime Environment(Java运行环境)

  

  三者的关系:JDK包含JRE,JRE包含JVM

  

  JVM详细:

  Java的源代码是.java文件,是不可执行的,需要通过编译器编译成与平台无关的.class字节码文件,再通过解释器解释才可以执行,而JVM包括了编译器和解释器。即Java程序需要JVM才可以运行。

  JRE详细:

  JRE(Java Runtime Environment,Java运行环境),是运行Java程序必须的环境集合,包含JVM标准实现及Java核心类库,仅能完成Java的运行,不能对Java进行编译、调试等。

  JRE有独立的版本,如果只需要运行Java程序,安装JRE就可以了。

  

  JDK详细:

  JDK(Java Development Kit,Java开发工具包)是Java语言的软件开发工具包(SDK),是面向Java开发者发布的Java套件。

  JDK包含的基本组件有:编译器、Jar打包工具、Javadoc文档生成器、Debug调试器、头文件生成器、反汇编器、监控工具等。

  JDK包含了完整的JRE,如果安装了JDK,就不用安装JRE了,因为JRE已经集成在JDK里面了

    

 

Java(一)——认识Java语言的更多相关文章

  1. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

  2. java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  3. [Java入门笔记] Java语言简介

    前言 学习Java有一段时间了,但是一直缺少一个系统的思想,现在重新通过书籍中.网上的文章,视频等资料,整理与回顾Java的知识点. 言归正传,让我们先从了解Java语言开始. Java语言的由来 J ...

  4. java发展史与java的语言特性

    概述: Java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立 全面的知识体系, 无法从整体上把握Java 的原因. 在这里我们先简单了解一下Java 的版本. 具体 ...

  5. [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...

  6. Java环境搭建及语言基础

    JRE和JDK JRE:Java Runtime Environment,java运行环境. JDK:Java Development Kit,java开发工具包. 使用JDK开发java程序,交给J ...

  7. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  8. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  9. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  10. Java编写的C语言词法分析器

    Java编写的C语言词法分析器 这是java编写的C语言词法分析器,我也是参考很多代码,然后核心代码整理起来,放在QQ空间和博客上,目的是互相学习借鉴,希望可以得到高手改进.这个词法分析器实现的功能有 ...

随机推荐

  1. 终极报错解决方案:Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with

    遇到这个报错的时候,不要慌 Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger fail ...

  2. Java菜鸟到大牛学习路线培训教程

    第1阶段(Java程序员) - Java语言基础 - 101 JavaSE -01-常见Dos命令.Java历史.Java跨平台.配置Path环境变量.第一个HelloWorld例子 -02-配置JA ...

  3. Mondiran创建连接

    曾经使用jdbc创建连接的时候使用的url是这种形式:jdbc:mysql://hostname:port/database?key1=value1&key2=value2,在URL须要以&q ...

  4. vue-router钩子beforeRouteEnter函数获取到this实例

    官方文档: const Foo = { template: `...`, beforeRouteEnter (to, from, next) { // 在渲染该组件的对应路由被 confirm 前调用 ...

  5. Android—一次清除所有Activity

    首先,自定义一个ActivityManager管理类,用于管理栈中的Activity public class ActivityManager{ private static final String ...

  6. js eval 解析字符串

    //带变量的字符串var str = 'var a=1; var b=2;'; eval(str); alert(a+b);//结果 3: //数组字符串var arrStr = "[1,2 ...

  7. 计算机的一些经典书籍CS经典书单

    c++: <c++程序设计> <c++primer> <effective c++> <more effective c++> <深入探索c++对 ...

  8. spl_autoload_register的使用

    class Loader{ static function loadClass($class) { $class = $class.'.php'; if(file_exists($class)) { ...

  9. Django中的模板和分页

    模板 在Templates中添加母版: - 母版...html 母版(master.html)中可变化的地方加入: {%block content%}{%endblock%} 在子版 (usermg. ...

  10. kubernetes之pod中断

    系列目录 目标读者: 想要构建高可用应用的应用所有者,因此需要知道pod会发生哪些类型的中断 想要执行自动化(比如升级和自动扩容)的集群管理员. 自愿和非自愿的中断 pod不会自动消息,除非有人(可能 ...