零——Java学习指南
一、Java的来源
Java源自Sun公司的一个叫Green的项目,其原先的目的是为家用电子消费产品开发一个分布式代码系统,这样就可以将通信和控制信息发给电冰箱、电视机、烤面包机等家用电子电器,对她们进行控制和信息交流。
1990年,由Sun公司的James Gosling(詹姆斯·高斯林)领导的小组基于C++开发了一种与平台无关的新语言Oak(Java的前身)。Oak的取名源于Gosling办公室外有一棵枝繁叶茂的橡树,这在硅谷是一种很常见的树。
1995年1月,Oak被改名为Java,这是因为Oak是一家显卡制造商已经注册的商标。Oak若想发展壮大,法律层面上的改名势在必行。Java是印度尼西亚“爪哇(注:Java的音译)”岛的英文名称,该到因盛产咖啡而闻名。这就是Java的官方商标是一杯浓郁的咖啡的原因。Sun随后开发了HotJava浏览器,得到了Sun公司时任首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java技术是由美国Sun公司倡导和推出的,它包括Java语言和Java Media APIs、Security APIs/MAnagement APIs、Java Applet、Java RMI、JavaBean、Java Servlet、JavaServer Page以及JDBC等。
1996年2月,推出Java数据库连接范式JDBC(Java DataBase Connectivity),并给出对应的API(应用程序接口)。
1996年6月,Sun公司发布JSP 1.0,这里的JSP(JavaServer Pages)是由Sun公司倡导、众多公司协同参与一起建立的一种动态网页技术标准。Sun公司同期还推出JDK(Java开发工具包)1.3和Java Web Server 2.0。
1996年9月,addison-Wesley和Sun公司推出Java虚拟机规范和Java类库。
1998年12月,Java2企业平台J2EE发布。
1999年6月,Sun公司针对不同用户群,发布了Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。
2000年9月,Sun公司发布JSP1.2和Java Servlet 2.3 API。
2001年9月,J2EE1.3发布。
2002年9月,J2EE1.4发布,至此Java的计算能力有大幅提升。
2004年9月,J2EE1.5发布,成为Java语言发展史上的有一个里程碑。为表重要,J2EE1.5更名为Java SE 5.0。
2005年6月,JavaOne大会召开,Sun公司公开Java SE 6。此时,Java的各种版本已经更名,取消了其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
2006年12月,Sun公司发布 JRE 6.0。
2009年4月,Oracle(甲骨文)公司以总额74亿美金收购Sun公司,Java版权归Oracle公司所有。
2009年12月,Sun公司发布企业版升级版Java EE 6。
2011年7月28日,Oracle公司发布Java SE 7。
2014年3月19日,Oracle公司发布Java8.0正式版。
来个汇总表格:
时间 | 事件 |
1990年 | 开发了一种与平台无关的新语言Oak |
1995年1月 | Oak被改名为Java |
1996年2月 | 推出Java数据库连接范式JDBC(Java DataBase Connectivity) |
1996年6月 | Sun公司发布JSP 1.0 |
1996年9月 | addison-Wesley和Sun公司推出Java虚拟机规范和Java类库 |
1998年12月 | Java2企业平台J2EE发布 |
1999年6月 | 发布了Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME) |
2000年9月 | Sun公司发布JSP1.2和Java Servlet 2.3 API |
2001年9月 | J2EE1.3发布 |
2002年9月 | J2EE1.4发布 |
2004年9月 | J2EE1.5发布 |
2005年6月 | Sun公司公开Java SE 6,并更名其他版本 |
2006年12月 | Sun公司发布 JRE 6.0 |
2009年4月 | Oracle(甲骨文)公司以总额74亿美金收购Sun公司 |
2009年12月 | Sun公司发布企业版升级版Java EE 6 |
2011年7月28日 | Oracle公司发布Java SE 7 |
2014年3月19日 | Oracle公司发布Java8.0正式版 |
二、Java的基本思想
Java最大的优点就是在设计之初就秉承了“一次编写,到处运行”思想(Write Once,Run Everywhere,WORE;有时也写成"Write Once,Run Anywhere",WORA),它是Sun公司为宣传Java语言的跨平台特性而提出的口号。
Java的跨平台性是指在一种平台下用Java语言编写的程序可以在编译后不用经过任何更改,就能在其他平台上运行。
Java的聪明之处在于,它用一个名为Java虚拟机(JVM—Java Virtual Machine )的机制屏蔽了这些"翻译"的细节。正是因为有JVM的存在,Java程序员才可以做到"一次编写,到处运行"——这正是Java的灵魂所在。
三、Java的技术体系
JDK:我们把Java编程语言、Java API类库和Java虚拟机这三部分统称为JDK(Java Development Kit,Java开发工具包)(注:JDK包括JRE,Java基本类库,Java开发工具,如编辑器,调试器等)。JDK是用于支持Java程序开发的最小环境。
JRE:我们把Java API类库中的Java SE API 子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment,Java运行时环境),JRE是支持Java程序运行的标准环境。
二者区别与联系:在Java技术体系上,JDK范围涵盖JRE,JRE是JDK的子集。如果仅仅是运行Java程序,用户计算机只需配置JRE环境;如果用户还想自己开发Java程序,则需要用户安装配置JDK环境。
按照Java技术关注的重点业务领域来划分,Java技术体系可以分为4个平台:
(1)Java SE(Standard Edition,标准版):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本2005年以前称为J2SE。
(2)Java EE(Enterprise Edition,企业版):以Java SE为基础,往外延伸,增加了许多支持企业内部使用的扩充类,支持使用多层架构的企业应用(如ERP—企业资源计划系统、CRM—客户关系管理系统的应用)的Java平台,这个版本2005年以前称为J2EE。
(3)Java ME(Micro Edition,微型版):Java ME 同样以Java SE为基础,但向内精简。他所支持的只有核心类的子集合,它支持Java程序运行在移动终端(手机、PDA—掌上电脑)的平台,加对了针对移动终端的支持,主要是进行嵌入式开发,目前被Android开发所替代,这个版本2005年以前称为J2ME。
(4)Java Card(智能卡版):由于服务对象定位更加明确化,Java Card版本比Java ME(微型版)更加精简。它支持一些Java小程序(Applets)运行在小内存设备(如容量小于64K的智能卡)的平台上。
但是,不管Java的技术平台如何划分,都是以Java SE 为核心的,所以掌握Java SE最为重要。
四、Java学习路线
Java学习可以大致分为三个阶段:
(1)初级阶段:学习Java基础语法和类的创建与使用,基础I/O(输入/输出)操作、各种循环控制、运算符、数组的定义、方法定义格式、方法重载等,并熟练使用一种开发工具,如:Eclipse等。
(2)中级阶段:掌握面向对象的封装、继承和多态,学习常用对象和工具类,深入I/O(输入/输出)操作,异常处理、Java的包管理机制、集合框架等。
(3)高级阶段:掌握Java的反射机制、泛型、网络编程、GUI开发、多线程、高级I/O、数据库编程、Java Applet等。
五、本文自我总结
种一棵树最好的时间是十年前,其次是现在。加油,Java!