JavaSE----01.Java简介
01.Java简介
1、java介绍
Java是于1995年由Sun公司推出的一种跨平台、面向对象的高级程序设计语言。Java最初的名字叫OAK。Java是一种通过解释方式来执行的语言,其语法和C++类似。Java也是一门跨平台的语言,用Java编写的程序可以在任何平台上运行。实现了 "一次编写,到处运行"。
2、java版本
Java主要分为三个版本:
- JavaSE: java标准版,主要用于开发桌面应用程序。
- JavaME: java移动版,主要针对嵌入式设备软件开发。
- 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主要特性和优势:
- 分布式:持Internet应用分布式的开发。
- 高性能:相对于解释型的脚本语言来说,的确是高效的。
- 面向对象:面向对象的编程语言。
- 跨平台可移植:一次编写,到处运行。
- 安全健壮:java的强类型机制、异常处理、垃圾自动回收是java程序健壮的重要保证。
- 动态性:反射机制。
- 多线程:在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提供的类,并得知如何使用它们。
主要使用步骤:
- 查看包
- 查看构造方法
- 查看具体方法
JavaSE----01.Java简介的更多相关文章
- Java入门 - 语言基础 - 01.Java简介
原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...
- 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介
005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- 【Java初探01】——Java简介及相关
Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的 ...
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- 7.11.3 Java简介
101Java简介 101Java简介及开发环境搭建 Java简介 编程语言简介 机器语言:纯粹的机器代码 机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行.效率最高,但是通用性不强, ...
- Java基础:Java简介及安装配置(1)
Java简介 Java是Sun公司于1995年推出的高级编程语言,具有跨平台特性,编译后的程序能够运行在多种类型的操作系统平台上. 1.1 Java应用程序版本 Java的3个独立用于开发不同类型应用 ...
- 第一回 java~简介
Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...
- Java从零开始学零(Java简介)
一.Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年 ...
随机推荐
- “玲珑杯”ACM比赛 Round #18 1147 - 最后你还是AK了(思维,边的贡献)
题目链接:http://www.ifrog.cc/acm/problem/1147 题解:这题很容易想到的是边的贡献也就是每条边最多被取到几次,和点的贡献类似,那些加边只要加在边贡献大的边上就行.然后 ...
- 牛客小白月赛4 J 强迫症 思维
链接:https://www.nowcoder.com/acm/contest/134/J来源:牛客网 题目描述 铁子最近犯上了强迫症,他总是想要把一个序列里的元素变得两两不同,而他每次可以执行一个这 ...
- 牛客网暑期ACM多校训练营(第三场) J Distance to Work 计算几何求圆与多边形相交面积模板
链接:https://www.nowcoder.com/acm/contest/141/J来源:牛客网 Eddy has graduated from college. Currently, he i ...
- LeetCode380 常数时间插入、删除和获取随机元素
LeetCode380 常数时间插入.删除和获取随机元素 题目要求 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插 ...
- Zabbix面试总结
zabbix官方的一句话描述zabbix: 监视任何事情适用于任何IT基础架构,服务,应用程序和资源的解决方案 Monitor anythingSolutions for any kind of IT ...
- 教程 —— 如何在自己的应用集成superset
Superset 是apache的一个孵化项目,定位为一款现代的,准商用BI系统 superset Apache Superset (incubating) is a modern, enterpri ...
- android Drawable Resource学习
转载自: http://blog.csdn.net/true100/article/details/52316423 http://blog.csdn.net/true100/article/deta ...
- 面试官:服务器安装 JDK 还是 JRE?可以只安装 JRE 吗?
前些日子有知友面试时被问到如题所示的问题,由于他之前没有准备到这些最最基础的知识,没有考虑过这个问题,所以被问到时竟一脸萌币,回答的不是很好.这道题主要考的是对 Java 基础知识的了解,有些同学可能 ...
- SSM相关面试题(简答)
1.springmvc的执行 流程: 2.mybstis的执行流程: 3.ioc和DI的理解: 4.对aop的理解: 5.spring中常见的设计模式: 6.spring中声明式事务处理的配置: ...
- NOIP2009 1.多项式输出
题目: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中自变量为 x,从左到右按照次数递减顺序给出多 ...