发布于2026-07-11 阅读(0)
扫一扫,手机访问
技术能不能发展起来,关键要看什么?其实就三个硬指标。

第一,有没有一个比较好的社区。像C、C++、Ja va、Python和Ja vaScript,生态圈都极其丰富和活跃。尤其是商业机构深度参与的社区,比如Linux的社区,人气更是爆棚。
第二,有没有一个工业化的标准。C、C++、Ja va都有标准化组织。Ja va尤其典型,它在架构上还推出了J2EE这样的企业级标准。
第三,有没有一个或多个杀手级应用。C、C++和Ja va的杀手级应用不用多说。就算是对PHP这样本身不算出色的语言,因为它作为LAMP(Linux时代的第一个杀手级解决方案)中的关键技术,照样发展得风生水起。
这三个条件,一个新技术的只要能占到其中一到两点就已经相当不错了。而像Ja va,三点全占——社区繁荣、标准完善、杀手级应用遍地——所以它的发展轨迹才如此耀眼。当然,除了这三点,还有几个不容忽视的加分项:
说回正题。Ja va的历史要追溯到1991年,由Patrick Naughton和James Gosling(一位全能的计算机奇才)带领的Sun公司工程师小组,最初的目标是设计一种用于有线电视转换盒这类消费设备的小型语言。1996年初,Sun发布了Ja va的第一个版本。
那么,Ja va到底是怎么一步步走到今天的?看看下面这张版本演进表就清楚了。
| 版本 | 年份 | 语言新特性 | 类与接口数量 |
|---|---|---|---|
| 1.0 | 1996 | 语言本身 | 211 |
| 1.1 | 1997 | 内部类 | 477 |
| 1.2 | 1998 | Strictfp修饰符 | 1524 |
| 1.3 | 2000 | 无 | 1840 |
| 1.4 | 2002 | 断言 | 2723 |
| 5.0 | 2004 | 泛型类、“for each”循环、可变参数、自动装箱、元数据、枚举、静态导入 | 3279 |
| 6 | 2006 | 无 | |
| 7 | 2011 | 基于字符串的switch、钻石操作符、二进制字面量、异常处理改进 | 4024 |
| 8 | 2014 | Lambda表达式、包含默认方法的接口、流和日期/时间库 | 4240 |
| 9 | 2017.9 | JSR 376:Jigsaw项目中的JDK模块化 (Ja va Module System);JEP 222:jshell(Ja va REPL);JEP 295:Ahead-of-Time Compilation;JEP 268:XML Catalogs;以及JEP 266:更多并发更新(Flow类,使Ja va支持反应流) | 工作正在进行中 |
| 10 | 2018.3 | JSR 354:货币和汇率API | |
| 11 | 2018.9 | OpenJDK |
关于每个版本的更详细说明,可以参考Ja va官方的规范文档(Ja va SE Specifications)。
在正式开始编码之前,有几个基本概念需要先搞清楚:
再来说说Ja va的数据类型。Ja va是一种强类型语言,每个变量都必须声明一种类型。基本类型(primitive type)共有8种:
值得一提的是,Ja va中还有一个能表示任意精度的算术包,通常称为“大数值”(big number)。它虽然名字里带“大”,但并不是一种新的Ja va基本类型,而是Ja va对象。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8