Java程序设计概述

Java程序设计概述

Java是什么?
Java是一种优秀的程序设计语言,它有着许多非常优秀的语言特性。此外,Java不只是一种语言,而是一个完整的平台,它有着庞大的库,包含了很多可重用的代码,以及一个提供诸如安全性,跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。
JAVA

Java主要特性
面向对象:简单说面向对象是一种程序设计技术,它将重点放在数据(对象)和对象的接口上。比如一位“面向对象”的木匠做一把椅子,他始终所关注的是要制作的椅子。而一位“非面向对象”的木匠主要考虑的是工具。

分布式:java有着丰富的例程库,用于处理HTTP,FTP之类的TCP/IP协议。这些库使JAVA能够通过URL(统一资源定位符)访问网络上的对象数据,就像访问本地一样方便。

健壮性:对于编程中出现的错误,Java强调早期问题的检测,后期动态(运行时)的检测,以及消除容易出错的情况。这些措施使得java编写的程序具有多方面的可靠性。

安全性:Java安全模型很复杂,它将“不可信”的代码会在一个沙箱中执行,不会影响主系统。

可移植性:与c语言不同,Java中的int永远为32位整数。这得益于其基本数据类型的大小以及有关运算都有明确说明。除了用户界面有关的部分外,所有其他Java库确实能很好地支持平台独立性。

解释型:Java解释器可以在任何移植了解释器的机器上直接执行Java字节码。

多线程:如今我们更关注并发,多线程可以带来更快的交互响应和实时行为。

高性能:随着JIT(Just-In-Time)编译器技术的发展java性能越来越接近于C++。

Java applet
网页中运行的Java程序称为applet,启用Java的Web浏览器,它会为你执行字节码,并在自己的机器上运行,类似Adobe Flash,可以在浏览器中获得动态效果。

由于Java遭遇了严重的安全问题,浏览器和Java浏览器插件变得限制越来越多。如今在浏览器使用applet要通过很繁琐的操作,所以applet逐渐退出了历史舞台。

Java 发展简史
1991年:由Patrick Naughton 和 James Gosling(一个全能的计算机奇才,Sun公司会士)带领Sun公司的工程师小组设计出一种面向有线电视转换盒等小型设备的语言(Green),Green代码短小,紧凑且平台无关,这促使开发团队以C++为基础设计出一个可移植语言(Oak),随后改名为Java。

1992年:Green发布产品‘ *7 ’,可以提供非常智能的远程控制,但并不被市场所认可。

1993年:Green项目改名为First Person公司,继续寻找市场。

1994年:First Person公司解散,Java开发者(Patrick Naughton、Jonathan Payne)开始用Java语言开发HotJava浏览器。

1995年:SunWorld’95大会上展示了HotJava浏览器,这里是Java大热的开端。

1996年:Sun发布了Java 1.0,但并不能用来真正开发,随后发布了1.1弥补了大部分缺陷。

1998年:Sun发布Java 1.2,除了SE(标准版)同时推出了JavaEE(企业版)和JavaME(微型版)

2000-2002年:分别发布了Java 1.3和Java1.4,对最初的Java2做出了增量式改进,提高了性能。此时Java applet和客户端应用热度消退,Java成为服务器端应用首选。

2004年:JavaOne会议决定版本命名变更,并发布Java 5.0,此版本是Java语言做出重大改进的版本,加入了泛型,for each 自动装箱和注解等特性。

2006年:java6发布,仅增强了类库

2009年:由于数据中心越来越依赖于商业硬件而不是专用服务器,Sun公司沦陷并被Oracle收购,Java停更了很长一段时间。

2011年:Oracle发布了Java的一个新版本—Java 7,只做了一些简单的改进。

2014年:Java 8发布,近20年中版本发生的改变最大,包含了“函数式”编程方式。

2017年:Java 9 模块,其他语言类库增强。

2018年:从2018年开始,每6个月都会发布一个新的Java版本,以支持更快的引入新特性,某些版本,如Java11设计为长期支持版本。

版本 发布日期 版本特性-简要版
JDK 1.0 1996 年 1 月 Oak(橡树),初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢。
JDK 1.1 1997 年 2 月 增加特性:JDBC,内部类,RMI,反射,Java Bean;
J2SE 1.2 1998 年 12 月 Playground(操场)。增加特性:集合看框架,JIT编译器,对打包的Java进行数字签名,JFC(包括Swing 1.0和Java2D),Applet增加声音
J2SE 1.3 2000 年 5 月 Kestrel(红隼)。增加特性,Java Sound API,jar文件索引
J2SE 1.4 2002 年 2 月 Merlin(隼)。xml处理,打印,Loging API,Java Web Start,JDBC 3.0 API,断言,Perferences API,链式异常处理,IPV6,正则,引入Image I/O API
J2SE 5.0 2004 年 9 月 Tiger(老虎)。泛型,for each,自动装/拆箱,安全枚举,可变参数,静态引入,元数据(注解),instrumentation
Java SE 6 2006 年 12 月 Mustang(野马)。支持脚本语言,JDBC 4.0 API,Java Compiler API,可拔插注解,增加Native PKI、Java GSS、LDAP支持,继承Web Services
Java SE 7 2011 年 7 月 Dolphin(海豚)。增加特性:switch允许字符串,泛型对象类型推断,一个语句块捕获多种异常,支持动态语言,支持try-with-resources,引入Java NIO.2开发包,钻石语法,null自动处理。
Java SE 8 (LTS) 2014 年 3 月 Lmbda表达式,方法引用,默认方法,Stream API,Date Time API,Optional类,Nashorn,,JS引擎
Java SE 9 2017 年 9 月 模块系统,REPL(JShell),HTTP2客户端,改进的Javadoc,多版本兼容JAR包,集合工厂方法,私有接口方法,进程API,改进各类API,轻量级JSON API,响应式流 API
Java SE 10 2018 年 3 月 var 局部变量类型推断,优化垃圾回收内存占用以及编译器,移除java工具,在 OpenJDK 中提供一组默认的根证书颁发机构证书。
Java SE 11 (LTS) 2018 年 9 月 Amazon Corretto 于 2024 年 8 月或之前停止更新 AdoptOpenJDK 于 2022 年 9 月停止更新
Java SE 12 2019 年 3 月 Switch 表达式优化,默认CDS归档,Shenandoah GC,JMH 基准测试,JVM 常量 API,G1优化,移除多余ARM64实现
Java SE 13 2019 年 9 月 switch表达式优化,String赋值支持文本,动态CDS档案,取消使用未使用的内存,重新实现旧版socket API
Java SE 14 2020 年 3 月 instanceof模式匹配,Switch表达式,记录类型(Record Type)的引入,打包工具 (Incubator)

Java术语
术语名 缩写 解释
Java Development Kit JDK 编写JAVA程序的程序员使用的软件
Java Runtime Environment JRM Java10之前,运行Java程序的用户使用的软件,没有编译器,只包含虚拟机
Server JRE - 在服务器上运行的Java程序的软件
Standard Edition SE 用于桌面或者简单服务器应用的Java平台
Enterprise Edition EE 用于复杂服务器应用的Java平台。
Micro Edition ME 用与小型设备的Java平台
Java FX - 用于图形化用户界面的一个备选工具包,在Java 11之前的某些JavaSE发布版本中提供。
OpenJDK - Java SE的一个免费开源实现
Java2 J2 一个过时的术语,用于描述1998-2006之间的Java
Software Development Kit SDK 一个过时的术语,用于描述1998-2006之间的JDK
Update u Oracle公司的术语,表示Java8之前的bug修正版本
NetBeans - Oracle公司的集成开发环境

其他
JDK是Java Development kit(Java开发工具包)的缩写,此工具包1.2~1.4版本被称为Java SDK。

1998年提出Java平台被重新命名为Java 2,因此就有了Java 2 Standard Edition Software Development Kit(Java 2标准软件开发包)5.0版,即J2SE SDK 5.0。

2006年版本号得到简化i,Java标准版的下一个版本取名为Java SE 6,后来又有了Java SE 7和JavaSE 8。在此期间JDK的内部版本号保l持着1.6.0,1.7.0,1.8.0这种命名方式

JavaSE 9之前有32和64位两个版本的Java开发工具包。现在Oracle公司不再开发32位版本。并且此版本开始,内部版本号变更,初始版本为9.0.1。

Java程序设计概述_第1张图片

Java程序设计概述_第2张图片

你可能感兴趣的:(零基础,java)