课时2:Java简介(Java发展概述)

简介: 课时2:Java简介(Java发展概述)摘要:1. Java基础知识:介绍Java作为编程语言及其思想。2. Java的发展历史:从1991年GREEN项目到1995年正式推出,历经网景公司、HotJava浏览器等关键节点。3. Java的版本信息:涵盖从JDK 1.0到JDK 1.8的主要版本及特性,如Lambda表达式和模块化支持。

课时2:Java简介(Java发展概述)

摘要:

1. Java基础知识

2. Java的发展历史

3. Java的版本信息

 

01. Java基础知识

 

本节介绍Java的基础知识。

Java是一门编程语言,但是在很大程度上来讲,Java已经不再局限于是一种编程语言,而形成了一种思想,java从其开始到现在所拥有的支持者是非常多的。众多厂商都支持java的开发技术,随着技术发展也开始使用一些小众语言。语言之间的实现思路都相同,无非是多学习一些语法和概念。

 

02.Java的发展历史

 

Java是使用C++开发出来的,最初java是以一个GREEN项目为主的支持平台,GREEN项目诞生于1991年,当时的主要目的是希望通过email来控制所有家电产品的运行。


通过发送一个email指令,家电接收到指令后就开始运行。实际上就是今天所炒作的物联网概念。不过当时的环境不像现在这样,至少没有智能设备,网络的速度很慢,网络的普及度也不是很高。上网需要使用一个猫modom将模拟信号转为数字信号,再将数字信号转为模拟信号发送给对方。


上网按照分钟计算,上网后下载的最高速度是20k。有56k和36k猫,网络的普及度不高。包括email在今天只能够算是一个广告平台。现在的email发展到今天非常方便。最早没有移动平台时只能在电脑上使用email。最初SUN的工程师们打算使用C++进行开发,不高后来考虑到C++的复杂性,所以利用C++开发出了一套OAK平台。该平台作为GREEN项目的竞标使用。不过OAK并没有竞标成功,也就是说最后OAK没有人去使用。


90年代初的时候有一家网景公司成功的在很短时间内上市了,这家公司的产品就是浏览器(FireFox)。从windows2开始,微软的IE就随着windows的平台安装,所以很多浏览器都没有存活下来。现在为止大部分也放弃了IE,开发都不以IE为标准。于是SUN的工程师开始向网景公司学习浏览器的技术,推出HotJava浏览器。于是在HotJava基础之上,在1995年的时候,SUN公司正式推出了Java的编程语言。在1996年,Java才真正被民众所使用。最初使用的下载工具是网络蚂蚁。


SUN(太阳公司斯坦福大学网络)是一家最早从事于硬件开发的公司。SUN最早是开发硬件,开发的软件在中国比较出名。而Java只是其软件产品。SUN最著名的就是它的小型机(包括最初的亚马逊使用的就是SUN的小型机)。在国外使用云最多的公司就是亚马逊,亚马逊的云服务AWS在国内无法使用,国内只有阿里云或者京东云和腾讯云。


在国外做项目使用的都是亚马逊AWS云。CIA中央情报局在国外使用的也是亚马逊的云服务。不过这家公司正好赶上当年的互联网低潮。在期间中国造就了几颗金蛋,比如电子商务平台8848,是整个中国电子商务行业的金蛋。在之后是整个世界的互联网低潮,再加上新浪和搜狐在美国上市失败,当时国内不看好互联网,世界也不看好互联网。所以SUN就承担着资金负债的压力发展到了2009年后,2009年被oracle收购。当时整个世界的互联网和今天不同。


在中国有很大的软件需求量是因为中国的应用软件部分比世界其它的人群都强。例如亚马逊和京东相比,京东的系统使用更加方便,所以中国的应用软件层次很高。

Java的设计者是James Gosling。以上就是Java的过程。

 

03.Java的版本信息

 

下面是Java的几个版本信息,包含着Java的发展历史。

image.png

首先1995年5月23日,正式推出JDK1.0,Java正式挂牌推出。但是到1996年才可以真正使用下载到Java的开发工具包。1998年12月4日,更名为JDK1.2,更名为Java2。2005年5月23日,推出JDK1.5,Java更名为Triger。现在的最新版本是JDK1.8,最主要的特性是提供了Lambda表达式。Lambda在实际的开发过程中被广泛使用。


据说JDK1.9即将出品,JDK1,9最大的特点在于程序模块化的支持。Java的开发包只存在于两个大的文件包之中,但是造成的负荷量太大,需要导入的包太多。所以引入的概念是将一个包分成多个包进行互相引用,该技术类似于Maven技术,Maven技术最大的特点就是采用模块化方式。在整个Java最初的开发模式一共分为三类:


Java SE(2005年之前称为J2SE):进行单机版程序的开发,往往是作为基础平台;

(单机版程序例如word,word可以在单机平台上使用。在国内最初有一个软件公司永中公司,花费大量时间使用Java写了一套office平台,但是微软并没有公布word或excel编码,没有这些编码格式,这些软件无法打开Office工具所生成的文件。之后微软迫于压力公布出Office源码,在公布完成后产生新的编码DOCX,在之后产生了很多后缀的变化。)


Java ME(2005年之前称为J2ME):是进行移动开发的,不高没赶上好时候;(在Java推广移动开发时,世界上出现了诺基亚。在诺基亚时代做手机开发都使用Java进行。当时做手机开发有三点困难,一方面要忍受资本家的剥削,一方面忍受电信的剥削,最后一点是屏幕大小不统一。所以当时做游戏是同一款游戏做不同版本,适合主流机型。)


后来这项开发已经被Android所取代了,Android发展到今天已经到了瓶颈。Android更新迭代很快。目前Android比IOS好的地方是在移动设备上可以使用Android。Android在很多移动设备例如典型的小米就是依赖Android进行移动信息的获取。


Java EE(2005年之前称为J2EE):是Java开发的企业版。(今天的J2EE和最初的J2EE不同,开发包非常多,对于开发者每天都在接触一些新的软件包和新的API。)

相关文章
|
3月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
122 25
|
3月前
|
人工智能 安全 Java
Go与Java泛型原理简介
本文介绍了Go与Java泛型的实现原理。Go通过单态化为不同类型生成函数副本,提升运行效率;而Java则采用类型擦除,将泛型转为Object类型处理,保持兼容性但牺牲部分类型安全。两种机制各有优劣,适用于不同场景。
96 24
|
3月前
|
人工智能 Java
java中static关键字简介
`static`关键字用于修饰类的成员变量和方法,使其属于类而非对象。静态成员可通过类名直接访问,无需实例化对象。静态方法只能访问静态成员,不能直接访问非静态成员或使用`this`关键字。此外,静态代码块在类首次加载时执行且仅执行一次,适用于初始化操作。
123 0
|
7月前
|
存储 缓存 算法
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
317 29
JVM简介—1.Java内存区域
|
7月前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
114 17
|
7月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
158 9
|
7月前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
163 9
|
7月前
|
Java
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
7月前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
105 6
|
7月前
|
Java
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容