我是靠谱客的博主 羞涩皮带,最近开发中收集的这篇文章主要介绍2021-03-18,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • Java 发展史

20 世纪 90 年代, 单片式计算机系统诞生, 单片式计算机系统不仅廉价, 而且功能强大, 使用它可以大幅度提升消费性电子产品的智能化程度。

SUN 公司为了抢占市场先机, 在 1991 年成立了一个由詹姆斯·高斯林(James Gosling) 领导,名为“Green”项目小组, 目的是开发一种能够在各种消费性电子产品上运行的程序架构。那么使用何种编程语言来设计, 是项目小组头疼的事。 当时 C++较为有优势的, 项目小组首先考虑的是采用它来编写程序, 但 C++过于复杂和庞大, 再加上由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂, 需要让编写的程序跨平台运行, 假如用 C++编写的话对程序的跨平台运行不友好。最后项目小组决定: 既不用 C++编写, 也不开发全新的编程语言, 而是对 C++进行改造: 去除了C++复杂的指针和内存管理, 并结合嵌入式系统的实时性要求, 最终在1992 年, 他们开发了一种名为“Oak”的面向对象语言。科当他们在向硬件生产商进行演示的时候, 硬件生产商对此并不感冒, OaK 语言因为缺乏硬件的支持而无法进入市场, 从而被搁置一旁。

1994 年, 项目小组看到了浏览器在未来的发展前景, 于是决定将 OaK 应用于万维网。 1995 年,他们用 OaK 语言研发了一种能将小程序嵌入到网页中执行的技术——Applet, 由于 Applet 不仅能嵌入网页, 还可随同网页在网络上进行传输, 这让无数的程序员看到了 OaK 这门语言, 与此同时, OaK正式更名为 Java。 从此, Java 在互联网的推动下火了。

1996 年 1 月, SUN 公司推出了 JDK1.0。 在 JDK1.0 发布后, 有很多程序员学习并运用 Java 来制作网页, JDK 包括两大部分: 开发工具和运行环境。运行环境包括核心 API、 集成 API、 用户界面 API、 发布技术、 Java 虚拟机(JVM)。 JDK1.0 的发布,标志着 Java 成为一种独立的开发工具。 在同年 9 月, 约有 8.3 万个网页应用了 Java 技术来制作。

JDK1.0 的代表性技术有: Java 虚拟机、 Applet、 AWT 等。

1997 年 2 月, SUN 公司紧接着推出了 JDK 1.1, 在推出后 3 周时间里, 达到了近 22 万次的下载量。

4 月 2 日, 首届 Java One 大会在美国旧金山召开, 参加会议的人超过一万人, 创造了当时全球同类会议规模最高的纪录。 9 月, Java Developer Connection 社区成员超过 10 万, 同年还有 10 个最主要的操作系统供应商正式声明将在他们的产品中使用 Java。

JDK1.1 的代表性技术有: JDBC、 JavaBeans、 RMI、 JAR 文件格式、 Java 语法中的内部类和反射。

1998 年 12 月 8 日, JDK1.2——第二代 Java 平台的企业版 J2EE 发布。

1999 年 6 月, Sun 公司把 Java 体系分为三个方向:

J2ME(Java2 Micro Edition, Java2 平台的微型版) , 应用于移动、 无线及有限资源的环境;

J2SE(Java 2 Standard Edition, Java 2 平台的标准版) , 应用于桌面环境;

J2EE(Java 2Enterprise Edition, Java 2 平台的企业版) , 应用于基于 Java 的应用服务器。

随着供应商的不同, Java 的 API 也分为三大类:

Java Core API: Java 核心类库;

Java Optional API: 对之前 API 的扩充;

特殊 API: 由特殊厂商或组织提供的 API。

Java 2 平台的发布, 是 Java 发展过程中最重要的一个里程碑, 标志着 Java 的应用开始普及。

JKD1.2 的代表性技术有: Swing、 Java IDL、 EJB、 Java Plug-in 等, 在 API 文档中, 添加了 strictfp关键字和 Collections 集合类。

1999 年 4 月 27 日, HotSpot 虚拟机发布。 HotSpot 是由一家叫“Longview Technologies”的小公司开发的, 后来被 SUN 公司收购。 HotSpot 虚拟机发布时是作为 JDK 1.2 的附加程序提供的, 后来它成为了 JDK 1.3 及之后所有版本的 Sun JDK 的默认虚拟机 。

2000 年 5 月, JDK1.3、 JDK1.4 和 J2SE1.3 相继发布, J2SE1.3 是对 J2SE1.2 的补充和扩展, 从应用领域的角度分析, JavaSE1.3 已经涵盖了数据库、 WEB、 网络、 图形、 多媒体、 电话、 影像等大部分的信息技术领域2002 年 2 月 26 日, J2SE1.4 发布。 与 J2SE1.3 相比, 多了近 62%的类和接口。 在这些新特性当中,还提供了广泛的 XML 支持、 安全套接字(Socket) 支持(通过 SSL 与 TLS 协议) 、 全新的 I/OAPI、正则表达式、 日志与断言。

2004 年 9 月 30 日, J2SE1.5 发布, 成为 Java 语言发展史上的又一里程碑。 为了表示该版本的重要性, J2SE 1.5 更名为 Java SE 5.0(内部版本号 1.5.0) 。 Java SE 5.0 包含了从 1996 年发布 1.0 版本以来的最重大的更新, 其中包括泛型支持、 基本类型的自动装箱、 改进的循环、 枚举类型、 格式化I/O 及可变参数。

2005 年 6 月, 在 Java One 大会上, Sun 公司发布了 Java SE 6。 此时, Java 的各种版本已经更名,已取消其中的数字 2, 如 J2EE 更名为 JavaEE, J2SE 更名为 JavaSE, J2ME 更名为 JavaME。

2011 年 7 月 28 日, 收购 Sun 公司的 Oracle 发布了 Java SE 7, 引入了二进制整数、 支持字符串的switch 语句、 棱形语法、 多异常捕抓、 自动关闭资源的 try 语言等新特性。

2014 年 3 月 18 日, Oracle 公司发布 Java SE8, 这次版本升级为 Java 带来了全新的 Lambda 表达式、 流式编程等大量新特性, 这些新特性使得 Java 变得更加强大。

2017 年 9 月 22 日, Oracle 公司发布 Java SE 9, 这次版本升级强化了 Java 的模块化系统, 让 Java语言更轻量化, 且采用了更高效、 更智能的 GI 垃圾回收器, 并在核心类库上进行大量更新, 可进一步简化编程。

2018 年 3 月 21 日, Java SE 10 发布, Java 10 版本带来了很多新特性, 其中最备受广大开发者关注的莫过于局部变量类型推断。 此外, 还包垃圾收集器改善、 GC 改进、 性能提升、 线程管控等新特性。

2018 年 9 月 26 日, Java SE 11 发布。 这是 Java 大版本周期变化后的第一个长期支持版本(LTS版本持续支持到 2026 年 9 月)。Java11 带来了 ZGC、Http Client 等重要特性, 一共包含 17 个 JEP(JDK Enhancement Proposals, JDK 增强提案) 。

2019 年 3 月 20 日, Java SE 12 发布。Java 12 是短期支持版本, 可在下一个版本发布之前获得 Oracle的商业支持。

2019 年 9 月 23 日, Java SE 13 发布, 此版本中添加了“文本块”, 文本块是一个多行字符串文字,避免对大多数转义序列的需要, 以可预测的方式自动格式化字符串, 并在需要时让开发人员控制格式。

  • Java 特性

Java是一种纯面向对象的跨平台语言,其吸收了C/C++语言的优点,具有自动回收垃圾,强制类型检查等自带功能。

  • Java 应用

Java主要应用在桌面应用程序开发,嵌入式开发,面向Internet的web的应用程序开发等。

  • JVM

JVM是一个运行Java的虚拟计算机系统;

  • JDK 与 JRE

JDK是Java开发工具集,JRE是Java运行时的环境

  • 环境变量

在计算机属性->高级系统设置->环境变量->系统变量中添加一个新的变量名称,并把JAVA运行环境的Bin文件路径包含进去。之后同样在系统变量中添加改环境变量的路径,如定义为“JAVA_HOME“,再添加了%JAVA_HOME%bin的路径,这样系统就能识别到对应的运行环境配置。

  • 二进制

二进制采用位置计数法,位权以2为底的幂。

  • 变量

变量其实一个存储数据的容器,是系统为程序分配的一块内存单元。

按所属的数据类型划分为:基本数据类型变量和引用数据类型变量。

按被声明的位置划分为:局部变量和成员变量。

局部变量在方法或语句块内部定义,成员变量在方法的外部,类的内部定义

  • 数据类型

  • 方法简述

方法相当于一个函数,是被调用的,方法包含了修饰符、返回值类型、方法名、方法体几个部分。

Java与C不同的地方在于修饰符主要时权限修饰符:

  • 运算符

不同的运算符都会有不同的优先级,当组合使用运算符的时候,要注意多使用“()”。

  • 转义字符

https://file2.kaopuke.com:8081/files_image/2023060823/2019071116145921.png

  • 数组、多维数组

数组就相当于一个变量的集合,一个数组的定义格式为数据类型[] 数组名。通常数组内都会包含多个元素,每一个元素的位置都以下标来表示,注意数组的下标是从0开始。一维数组a[],二维数组a[][],三维数组a[][][]。

数组初始化格式有好几种,一下列出两种:

int[] nums = new int[2];   //创建一个包含2个元素的一维整型数组nums

int[] nums = {1,2,3};     //定义并初始化num;

  • 冒泡排序、二分查找。

    1.冒泡排序:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

     2. 二分查找:

首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

最后

以上就是羞涩皮带为你收集整理的2021-03-18的全部内容,希望文章能够帮你解决2021-03-18所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部