01.Java简介

1、java介绍

    Java是于1995年由Sun公司推出的一种跨平台面向对象高级程序设计语言。Java最初的名字叫OAK。Java是一种通过解释方式来执行的语言,其语法和C++类似。Java也是一门跨平台的语言,用Java编写的程序可以在任何平台上运行。实现了 "一次编写,到处运行"。

2、java版本

Java主要分为三个版本:

  1. JavaSE:  java标准版,主要用于开发桌面应用程序。
  2. JavaME:  java移动版,主要针对嵌入式设备软件开发。
  3. JavaEE:  java企业版,主要用于开发企业级分布式网络程序。

3、java个版本的特点:

版本 发布时间 特点
JDK1.0 1996 代号OAK
JDK1.1 1997 引入JDBC、java bean、反射、添加内部类支持等
JDK1.2 1998 引入集合框架等
JDK1.3 2000 引入Java Sound API、jar文件索引,进行了大量优化等
JDK1.4 2004-02 添加XML处理、Java打印服务、支持正则表达式等
JDK5.0 2004-09 重大改变:添加自动装箱、自动拆箱、枚举、泛型、注解等
JDK6.0 2006 支持脚本语言、继承Web Services、插拔注解等
JDK7.0 2011 支持动态语言、引入新I/O文件系统等
JDK8.0 2014 接口改进、引入函数式接口、引入Lambda表达式等
JDK9.0 2017-09 模块化、JShell等
JDK10.0 2018-03 局部变量类型推断、删除工具javah等
JDK11.0 2018-09 字符串、集合增强等
JDK12.0 2019-03 Switch 表达式、默认CDS归档等
JDK13.0 2019-09 Dynamic CDS Archives等

4、java主要特性和优势:

  1. 分布式:持Internet应用分布式的开发。
  2. 高性能:相对于解释型的脚本语言来说,的确是高效的。
  3. 面向对象:面向对象的编程语言。
  4. 跨平台可移植:一次编写,到处运行。
  5. 安全健壮:java的强类型机制、异常处理、垃圾自动回收是java程序健壮的重要保证。
  6. 动态性:反射机制。
  7. 多线程:在java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

5、java中的JDK、JRE、JVM区别:

  • JDK: Java开发工具包(java development kit), 包含了JRE、JVM和开发工具(javac、java、jar、Javadoc等),主要针对开发者。
  • JRE: Java运行环境(Java Runtime Environment), JRE的内部有一个Java虚拟机(JVM)以及一些标准的类别函数库,主要针对java用户。
  • JVM: Java虚拟机(Java Virtual Machine), 用来解释执行字节码文件(.class文件)的。

JDK、JRE、JVM关系图:

6、java程序运行的过程:

Java 程序从源代码到运行一般有如下3个步:

    我们需要格外注意的是 .class --> 机器码 这一步。在这一步 JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而且,有些方法和代码块是经常需要被调用的(也就是所谓的热点代码),所以后面引进了 JIT 编译器,而JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于 Java 解释器的。这也解释了我们为什么经常会说 Java 是编译与解释共存的语言。

什么是字节码?采用字节码的好处是什么?

    在 Java 中,JVM可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java程序无须重新编译便可在多种不同操作系统的计算机上运行。

7、Java API文档:

    API(Application Programming Interface),应用程序编程接口。Java API 是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关系这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
主要使用步骤:

  1. 查看包
  2. 查看构造方法
  3. 查看具体方法

JDK 1.6 在线中文手册

JDK13 API文档




JavaSE----01.Java简介的更多相关文章

  1. Java入门 - 语言基础 - 01.Java简介

    原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...

  2. 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介

    005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...

  3. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  4. 【Java初探01】——Java简介及相关

    Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的 ...

  5. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  6. 7.11.3 Java简介

    101Java简介 101Java简介及开发环境搭建 Java简介 编程语言简介 机器语言:纯粹的机器代码 机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行.效率最高,但是通用性不强, ...

  7. Java基础:Java简介及安装配置(1)

    Java简介 Java是Sun公司于1995年推出的高级编程语言,具有跨平台特性,编译后的程序能够运行在多种类型的操作系统平台上. 1.1 Java应用程序版本 Java的3个独立用于开发不同类型应用 ...

  8. 第一回 java~简介

    Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...

  9. Java从零开始学零(Java简介)

    一.Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年 ...

随机推荐

  1. 并发、线程的基本概念&线程启动结束

    并发.进程.可执行程序.进程.线程的基本概念 1.并发 并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段 ...

  2. 【Offer】[13] 【机器人的运动范围】

    题目描述 思路分析 Java代码 代码链接 题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和 ...

  3. Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战

    Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战 Springboot: 2.1.8.RELEASE SpringCloud: Greenwich.SR2 ...

  4. Vert.x Core 文档手册

    Vert.x Core 文档手册 中英对照表 Client:客户端 Server:服务器 Primitive:基本(描述类型) Writing:编写(有些地方译为开发) Fluent:流式的 Reac ...

  5. SRAM和DRAM的区别

    一.浅谈关于SRAM和DRAM的区别:https://www.cnblogs.com/nano94/p/4014082.html. 二.ROM.RAM.DRAM.SRAM和FLASH的区别,转自:ht ...

  6. IOS集成JPush

    本篇文章采用Xcode手动集成JPush 证书 参考网址:https://docs.jiguang.cn//jpush/client/iOS/ios_cer_guide/ 下载SDK 下载网址:htt ...

  7. JAVA集成JPush

    本篇集成为web项目手动集成JPush 一.获取AppKey.Master Secret https://docs.jiguang.cn 成为极光用户创建一个应用拿到(AppKey.Master Se ...

  8. Java高性能编程之CAS与ABA及解决方法

    Java高性能编程之CAS与ABA及解决方法 前言 如果喜欢暗色调的界面或者想换换界面,可以看看我在个人博客发布的 Java高性能编程之CAS与ABA及解决方法. CAS概念 CAS,全称Compar ...

  9. 去掉Myeclipse对JS等文件的验证

    在用Myeclipse导入新工程或在写代码时,最郁闷的就是它对js,jsp,html的验证太严格了,有时会呈现一个红叉或者一个黄色的感慨号,一运行就报Cannot return from outsid ...

  10. jquery easyui dialog一进来直接最大化

    扩展自 $.fn.window.defaults.通过 $.fn.dialog.defaults 重写默认的 defaults. 对话框(dialog)是一个特殊类型的窗口,它在顶部有一个工具栏,在底 ...