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. “玲珑杯”ACM比赛 Round #18 1147 - 最后你还是AK了(思维,边的贡献)

    题目链接:http://www.ifrog.cc/acm/problem/1147 题解:这题很容易想到的是边的贡献也就是每条边最多被取到几次,和点的贡献类似,那些加边只要加在边贡献大的边上就行.然后 ...

  2. 牛客小白月赛4 J 强迫症 思维

    链接:https://www.nowcoder.com/acm/contest/134/J来源:牛客网 题目描述 铁子最近犯上了强迫症,他总是想要把一个序列里的元素变得两两不同,而他每次可以执行一个这 ...

  3. 牛客网暑期ACM多校训练营(第三场) J Distance to Work 计算几何求圆与多边形相交面积模板

    链接:https://www.nowcoder.com/acm/contest/141/J来源:牛客网 Eddy has graduated from college. Currently, he i ...

  4. LeetCode380 常数时间插入、删除和获取随机元素

    LeetCode380 常数时间插入.删除和获取随机元素 题目要求 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插 ...

  5. Zabbix面试总结

    zabbix官方的一句话描述zabbix: 监视任何事情适用于任何IT基础架构,服务,应用程序和资源的解决方案 Monitor anythingSolutions for any kind of IT ...

  6. 教程 —— 如何在自己的应用集成superset

    Superset 是apache的一个孵化项目,定位为一款现代的,准商用BI系统 superset Apache Superset (incubating) is a modern, enterpri ...

  7. android Drawable Resource学习

    转载自: http://blog.csdn.net/true100/article/details/52316423 http://blog.csdn.net/true100/article/deta ...

  8. 面试官:服务器安装 JDK 还是 JRE?可以只安装 JRE 吗?

    前些日子有知友面试时被问到如题所示的问题,由于他之前没有准备到这些最最基础的知识,没有考虑过这个问题,所以被问到时竟一脸萌币,回答的不是很好.这道题主要考的是对 Java 基础知识的了解,有些同学可能 ...

  9. SSM相关面试题(简答)

    1.springmvc的执行    流程: 2.mybstis的执行流程: 3.ioc和DI的理解: 4.对aop的理解: 5.spring中常见的设计模式: 6.spring中声明式事务处理的配置: ...

  10. NOIP2009 1.多项式输出

    题目: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中自变量为 x,从左到右按照次数递减顺序给出多 ...