java基础《java历史》

当一个技术能不能发展起来的时候关键要看三点:

  1. 有没有一个比较好的社区。像C、C++、Java、Python和JavaScript的生态圈都是非常丰富和火爆的。尤其是很多商业机构参与的社区那就更为人气爆棚了,比如Linux的社区。
  2. 有没有一个工业化的标准。像C、C++、Java都是有标准化组织的。尤其Java,其在架构上还搞出了像J2EE这样的企业级标准。
  3. 有没有一个或多个杀手级应用。C、C++和Java的杀手级应用不用多说了,就算是对PHP这样还不能算是一个好的编程语言来说,因为是Linux时代的第一个杀手级解决方案LAMP中的关键技术,所以也发展起来了。

上述的这三点是非常关键的,新的技术只需要占到其中的一到两点就已经很不错了,何况有的技术,比如Java,是三点全占到了。所以Java的发展是如此的好。当然,除了上面这三点重要的,还有一些其他的影响因素,比如:

  • 学习曲线是否低,上手是否快。这点非常重要,C++在这点上越做越不好了。
  • 有没有一个不错的提高开发效率的开发框架。如:Java的Spring框架,C++的STL等。
  • 是否有一个或多个巨型的技术公司作为后盾。如Java和Linux后面的IBM、Sun......
  • 有没有解决软件开发中的痛点。如:Java解决了C和C++的内存管理问题。

                                                                                               ------摘自 陈皓《Go语言、Docker和新技术


在极客时间App上订阅了皓哥的专栏,跟随专栏学习一年。对我影响很大。我决定由.Net开发转向Java后台,正好公司现在也用Java做项目(SpringBoot 2.0),一切都是刚刚好。那我们来聊聊Java的历史:

Java的历史要追溯到1991年,由Patrick Naughton和James Gosling(一个全能的计算机奇才)带领的Sun公司的工程师小组想要设计一种小型的计算机语言,主要像有线电视转换盒这类的消费设备。1996年年初,Sun发布了Java的第1个版本。

                                                                         Java语言的发展状况

版本

年份

语言新特性

类与接口的数量

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模块化 (Java Module System)[236][237][238]
  • JEP 222jshellJavaShell (是个 Java REPL)[239][240]
  • JEP 295Ahead-of-Time Compilation[241]
  • JEP 268XML Catalogs[242]

工作正在进行之中,使 JAVA 运行的反应流部分的 JAVA 9JSR 166 的领导者 Doug Lea提出了一个新的“Flow”类别,将包括目前的反应流提供的接口。这项工作被记录下︰

  • JEP 266:更多的并发更新[243]

有些项目是要加入自动并发( automatic parallelization),采用OpenCL技术

 

10

2018.3

JSR 354:货币和汇率API

 

11

2018.9

OpenJDK

 

关于Java各个版本的介绍,在维基百科上有篇文章:Java版本歷史

这个是java官方的关于Java语言个版本的详细说明:Java SE Specifications

在开始Java程序的时候需要了解:

  • JDK。Java Development Kit的缩写。这个工具包的版本1.2~版本1.4被称为 Java SDK(软件开发包、Software Development Kit).
  • JRE。Java运行时环境,它包含虚拟机但不包含编译器

Java数据类型:

Java是一种强类型的语言。这就意味着必须为每一个变量声明一种类型。在java中,一共有8种基本类型(permitive type),其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char,和一种用于表示真值的boolean类型。

整型

byte  1字节   short 2字节    int 4 字节     long  8 字节

浮点类型

  float  4 字节   eg:3.14F 3.14f          double   8字节   3.14D

* Java中有一个能够表示任意精度的算术包,通常称为"大数值"(big number)。虽然被称为大数值,但是它并不是一种新的Java类型,而是一个Java对象

猜你喜欢

转载自blog.csdn.net/qq_35716892/article/details/83117103
今日推荐