javase学习笔记


认识java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等


一、java发展史

1990 年末,Sun 公司准备为下一代智能家电(电视机,微波炉,电话)编写一个通用的控制系统。该团队最初考虑使用C++语言,很多成员包括Sun 公司的首席科学家Bill Joy,发现C++语言在某些方面复杂,系统资源极其有限,缺少垃圾回收系统等,于是Bill Joy 决定开发一种新的语言:Oak。

​ 1992 年夏天,Green 计划已经完成新平台的部分功能,包括Green 操作系统,Oak 的程序设计语言、类库等。同年11 月,Green 计划被转成“FirstPerson 有限公司”,一个Sun 公司的全资子公司。该团队致力于创建一种高度互动的设备。

​ 1994 年夏天,互联网和浏览器的出现不仅给广大互联网的用户带来了福音,也给Oak 语言带来了新的生机。James Gosling(Java 之父)立即意识到,这是一个机会,于是对Oak 进行了小规模的改造。

​ 1994 年秋,小组中的Naughton 和Jonathan payne 完成了第一个Java 语言的网页浏览器:WebRunner。Sun 公司实验室主任Bert Sutherland 和技术总监Eric Schmidt 观看了该网页的演示并给予了高度的评价。当时Oak 这个商标已经被注册了,于是将Oak 改名为Java。

​ 1995 年初,Sun 公司发布Java 语言,Sun 公司直接把Java 放到互联网上,免费给大家使用,甚至连源代码也不保密,也放在互联网公开。几个月后,Java 成了互联网上最热门的宝贝。各种各样的小程序层出不穷,Java 终于扬眉吐气,成为了一种广为人知的编程语言。

​ 1996 年底,Flash 问世了,这是一种更加简单的动画设计软件:使用Flash 几乎无须任何编程语言知识,就可以做出丰富多彩的动画。Flash 逐渐蚕食了Java 在网页上的应用。

​ 1997 年2 月18 日,Sun 公司发布了JDK1.1,增加了即时编译器JIT。

​ 1995 年Java 诞生到1998 年底,Java 语言虽然成为了互联网上广泛使用的编程语言,但它没有找到一个准确的定位。

​ 1998 年12 月,Sun 发布了Java 历史上最重要的JDK 版本:JDK1.2。并将Java 分成了J2EE(提供了企业应用开发相关的完整解决方案)、J2SE(整个Java 技术的核心和基础)、J2ME(主要用于控制移动设备和信息家电等有限存储的设备)三个版本。

​ 2002 年2 月,Sun 发布了JDK 历史上最为成熟的版本,JDK1.4。

​ 2004 年10 月,Sun 发布了万众期待的JDK1.5。JDK1.5 增加了诸如泛型、增强的for 语句、可变数量的形参、注释、自动拆箱和装箱等。

​ 2005 年,Java 诞生十周年,J2SE/J2EE/J2ME 分别改名为:JavaSE/JavaEE/JavaME。2006 年12 月,Sun 发布了JDK1.6。

​ 2009 年4 月20 日,Oracle 甲骨文公司宣布将以每股9.5 美元的价格收购Sun。Oracle 通过收购Sun 获得了两项资产:Java 和Solaris。

​ 2007 年11 月,Google 宣布推出一款基于Linux 平台的开源手机操作系统:Android。Android使用Java 语言来开发应用程序。Android 平台的流行,让Java 语言获得了在客户端程序上大展拳脚的机会。

​ 2011 年7 月28 日,Oracle 发布了Java SE7,这次版本升级耗时将近5 年时间。引入二进制整数、支持字符串的switch 语句等。

​ 2014 年3 月18 日,Oracle 发布了Java SE 8。2017 年7 月,Oracle 发布了JavaSE 9。

​ 2018 年3 月20 日,Oracle 发布了正式版JavaSE 10。同一年9 月25 日发布了Java11。

​ 2019 年3 月19 日,Oracle 发布了Java12。

​ 2019 年 9 月,Oracle 发布了Java SE 13

​ 2020 年 3 月,Oracle 发布了Java SE 14

二、特点

Java分别为三部分:JavaSE、JavaEE、JavaME。三者关系如下图:

在这里插入图片描述JavaSE 是Java 的标准版,是学习JavaEE 和JavaME 的基础,JavaEE 是企业版,JavaME 是微型版。

语言特性

① 简单性:Java 语言底层采用C++语言实现,相对于C++来说,Java 是简单的,在Java语言中程序员不需要再操作复杂的指针(指针的操作是很复杂的),继承方面也是只支持单继承(C++语言是一种半面向对象的编程语言,支持多继承,多继承会导致关系很复杂),在很多方面进行了简化。

② 面向对象:Java 中提供了封装、继承、多态等面向对象的机制。

③ 健壮性:在C++程序当中的无用数据/垃圾数据需要编程人员手动释放,当忘记释放内存的时候,会导致内存使用率降低,影响程序的执行;在Java 语言当中这种问题得到了解决,因为Java 语言引入了自动垃圾回收机制(GC 机制),Java 程序启动了一个单独的垃圾回收线程,时刻监测内存使用情况,在特定时机会回收/释放垃圾数据,这样会让内存时刻处于最好的状态。

④ 多线程:Java 语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机制。

⑤ 可移植性/跨平台:可移植性/跨平台表示Java 语言只需要编写/编译一次,即可通过JVM处处运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值